Hlavní navigace

Senzory Martina Malého: Vývoj hardwaru aneb Jak tisíckrát kliknout na tlačítko

Martin Malý

Pokud přemýšlíte, že vstoupíte na trh s IoT, nemusíte hned vymýšlet meteostanici nebo GPS lokátor.

Mé oblíbené přirovnání pro vývoj hardwaru zní: Vývoj hardware je stejný jako vývoj software, jenom každé kliknutí na „Compile“ trvá dva týdny a stojí deset tisíc. Lidé, co jsou zvyklí na softwarový vývoj, se tváří totiž často nedůvěřivě, když jim říkám, že hardwarový vývoj je násobně náročnější, jak na čas, tak na zkušené lidi, a že když tým hardwaristů někde odhadne dva roky od nápadu k finálnímu výrobku, tak to není tak, že se chtějí rok a půl flákat a pak to za půl roku po večerech spájet…

Vývoj hardwaru je zkrátka svébytná disciplína a firmy, co si pohrávají s nadšeneckou myšlenkou, že „půjdou do IoT“, by na to měly myslet. Doporučuju každému, kdo nad něčím takovým přemýšlí, aby hojně prototypoval a aby používal hotové postupy, platformy, kity, stavebnice…

Ale nejen vývoj bývá problematický. Čistě softwaroví vývojáři mají často dojem, že jakmile je vyvinuto, tak je hotovo, a už se jen prodává a prodává a udržuje. U hardwaru je od vývoje ještě dlouhá cesta – přes výrobu, testování, všechny možné certifikace, nesmíte zapomínat ani na to, že na fyzické výrobky musíte mít vymyšlené distribuční kanály, to není jako „stáhněte si na GitHubu“ nebo „máte to na webu“.

Svébytnou oblastí je testování. Tam, kde jsou vývojáři softwaru zvyklí na to, že pustí testovací nástroj a on projede potřebné scénáře, tam narážíte u hardwaru na fyzické omezení. Tisíc kliknutí na tlačítko ve webovém formuláři nasimulujete snadno, ale co tisíc zmáčknutí fyzického tlačítka? Jak to uděláte? Postavíte tam kolegu a předepíšete mu, aby tisíckrát stiskl tlačítko – a pokud možno pokaždé stejně, aby bylo jasno?

Vyprávěli mi teď v jedné firmě, jak testovali kdysi hardware – přihlašovací terminál, který ovládal nějaký stroj. Stroj v náhodných časech přestával pracovat. Nejhorší chyby jsou ty náhodné, samozřejmě, ale pak se ukázalo, že ta chyba se projevuje vždy po přihlášení obsluhy bezkontaktní kartou. Padlo podezření na to, že by příčina mohla být spojena nějak s počtem přihlášení – ovšem: jak to otestovat? A jak to otestovat opakovatelně?

Nakonec prý vyřešili otázku testů typickým českým způsobem, totiž improvizací. Zakoupili model dětské lanovky, na kterou přivázali přihlašovací kartu, umístili ji nad terminál, a nechali ji kroužit kolem dokola tak, aby se neustále přihlašovala. Pak už bylo snadné zjistit, že systém zvládl 999 přihlášení, a u tisícího zkolaboval – v důsledku chyby ve firmwaru toho stroje.

Řešení to bylo samozřejmě vtipné a já si u něj vzpomněl na prof. Wichterleho a jeho stroj na výrobu kontaktních čoček, postavený ze stavebnice Merkur. Vzpomněl jsem si i na různá videa, kde výrobci ukazují, jak automaticky testují například mobilní telefony nebo kde IKEA testuje neustálé sedání a zdvihání z křesla. A nejen velké firmy – i někteří vývojáři mobilních aplikací takto testují, i když to leckdy připomíná zase domácí konstrukci z Merkuru.

MIF17

Pokud přemýšlíte, že vstoupíte na trh s IoT, nemusíte hned vymýšlet meteostanici nebo GPS lokátor. Myslím, že takový poloprůmyslový testovací robot na klikání na dotykové displeje nebo na mačkání tlačítek by mohla být zajímavá obchodní nika.

O tom, že u IoT je třeba dbát na bezpečnost, se v poslední době mluví velmi intenzivně, což je samozřejmě dobře. Ale třeba právě testování a kvalita je pro mnoho malých výrobců pole neorané. Velké firmy to mívají ošetřené, ale střední a startupy na to málokdy myslí. Ale očekávám, že se i v této oblasti postupně testování prosadí jako nedílná součást vývoje, podobně jako se to stalo u vývoje softwaru. Jen s tím rozdílem, co jsem zmiňoval v úvodním bonmotu: není to jako napsat „run tests“…

Našli jste v článku chybu?