=

Zákulisí digitální revoluce: "Lidé jako neplacení testeři"

Vydáno 26. června 2023

Testovali jste někdy webové nebo mobilní aplikace? Pokud nežijete v jeskyni a trávíte alespoň minimální čas s telefonem v ruce, odpověď zní ano. Jste testerem aplikací. Nejen, že tuto činnost provádíte zdarma, ale ještě za ní zpravidla i platíte.

Pro pochopení se musíme přenést alespoň 30 let do minulosti a vše si vysvětlíme na počítačových a konzolových hrách. Vývojářská studia své hry vydávala buď jako součást herních konzolí, nebo zejména v pozdější době na různých nosičích od kazet, disket až po CD. Vytvořená hra musela být, pokud možno zcela bezchybná. Kdyby se během hraní hry objevila zásadní chyba, hru by nebylo možné dohrát. Tisíce zákazníků by se vrátilo zpět do kamenných obchodů a chtělo by zpět své peníze za zakoupené hry nebo herní konzole. Pro vývojářskou firmu by byla oprava a distribuce nových nosičů nesmírně nákladná. Proto vývojářské společnosti platily vždy nemalé částky hráčům za důkladné testování her. Náklady za každou lidskou sílu jsou v procesu vývoje znát a odstranění těchto nákladů bylo pro vývojářské společnosti vždy mimořádně lákavé. S příchodem internetu se otevřely nové možnosti.

Přesuňme se do současnosti. Když si dnes zakoupíme hru na DVD a vložíme ji do konzole nebo počítače, zpravidla hned na začátku instalace se provede aktualizace. Na samotném DVD ani žádná hra nemusí být. DVD často jen obsahuje instrukce, kde se nachází zdrojové kódy hry a ta je naživo stažena prostřednictvím internetu. Kdykoliv se ve hře objeví chyba, vývojáři ji mohou opravit a vynutit herní konzole, aby si aktualizaci hry stáhly. Taková aktualizace se označuje jako patch a během života her a aplikací obecně je takových patchů vydáno nespočetné množství. V praxi tedy můžete zakoupit hru, která je v den nákupu nefunkční a než ji donesete domů, vydají vývojáři opravu a hra Vám bez problémů funguje. Stejný proces se používá nejen pro hry, ale i pro webové nebo mobilní aplikace. Na počátku to přinášelo výhody oběma stranám. Když už se náhodou ve hře nebo v aplikaci objevila chyba, byl ji schopen tým rychle opravit a záplatu doručit. Karta se ale poslední dekádu poněkud obrátila a vývojářské firmy tohoto procesu začaly využívat. Osobně tuto problematiku označuji za neetické testování.

Principiálně vývojáři začali šetřit na testerech. Vytvářené aplikace se netestují zdaleka tak důkladně jako v minulosti, díky čemuž se snižují náklady na vývoj software. Chyby objevují až platící zákazníci.

Když Vám přestane aplikace fungovat, vznikne log s popisem chyby, který je následně odeslán vývojářům. Paradoxně nejvíce trpí ti, kteří si připlatí. U zmíněných her ji první hráči v podstatě otestují za prémiovou cenu a když hra leží půl roku na prodejních pultech, další hráči už si jí kupují odladěnou a za nižší cenu. Testování v produkčním módu neslouží jen k odhalování chyb. Vývojáři sbírají velké množství telemetrií, díky kterým sledují například rychlost aplikací nebo her v různých situacích na různých zařízeních. Testujeme tedy všichni.

image-20230626143853363

V prostředí webu se využívá hned několik strategií. Ty jednodušší spočívají v tom, že se nová verze aplikace nasadí v méně exponovaných hodinách, aby byl dopad chyb co nejmenší. Dnes je nejčastěji používaná metoda canary release. Nová a potenciálně chybová verze aplikace se nasadí na sekundární počítač a na něj se nasměruje hrstka náhodně vybraných lidí. Je pak běžné, že například 5 % uživatelů má k dispozici novější verzi webu, ale za cenu větší chybovosti. Když se chyby neobjevují, postupně se na novou verzi přesměrovávají další uživatelé. Ti pak otestují skutečně okrajové scénáře. I zde platí, že testujeme všichni. Se situací, kdy kamarád už má "novější facebook" nebo "novější twitter" se setkal bezmála každý.

Závěrem bych zmínil, že existují i vývojářské týmy s mnohem férovějším přístupem, který osobně označuji za etické testování. Spočívá v tom, že vývojáři vám nabídnou nové verze produktů včetně nových funkcí s tím, že akceptujete případné chyby. Jedná se o metodu feature toggles. Každý se pak může svobodně rozhodnout, zda chce stabilní verzi aplikace, nebo chce nové funkce za cenu chyb. Ani zde není vše černobílé. Nová funkcionalita v aplikaci není totiž vyčleněna mimo již existující kód. Když vývojář do aplikace přidá nové funkce, které si můžete volitelně zapnout, zpravidla zasahuje i do společných částí kódu, které jsou z mé zkušenosti tím nejčastějším zdrojem chyb.

Bohužel existuje jen hrstka vývojářských společností, které se snaží aplikace testovat skutečně eticky. To zahrnuje interní testování aplikace profesionálními testery a následné nasazení do firemního prostředí, kde aplikaci testují například zaměstnanci firmy. Produkční testování by mělo být pouze pojistkou pro nalezení okrajových scénářů. Tak či onak součástí etického přístupu k testování by měl být pečlivý výběr uživatelů, kteří v produkčním prostředí aplikaci verifikují a jsou s touto skutečností seznámení. Trendy jsou ale opačné a dostaly nás až do situací, kdy uživatelé chyby očekávají. Nezřídka se setkávám s prohlášením: "při nákupu jsem nečekal, že to bude fungovat". A to je skutečně smutné.

Miroslav Holec

Miroslav Holec

Software architect, Microsoft MVP, freelancer, finalista krajského kola MONETA Živnostník roku 2022

Zpět na W3 Revue

kontakt zde

Dotazy, poptávky a objednávky

mirek@miroslavholec.cz
Loading