Beta testování je jednou z nejoblíbenějších forem testování, protože umožňuje získat skutečnou zpětnou vazbu od uživatelů – to pomáhá firmám (a nezávislým vývojářům) výrazně zlepšit jejich kód. Strategie beta testování organizace může být dokonce hlavním faktorem její schopnosti dodávat funkční softwarové programy. To znamená, že je velmi důležité, abyste vy a vaše firma věděli, jak tato technika funguje a jak byste se mohli vypořádat s jejími problémy a zajistit stabilní produkt.
Pochopení základů beta testování spolu s dostupným softwarem, který by mohl testerům pomoci, umožňuje vývojovému týmu provést potřebné změny před vydáním a dokonce i po něm. Tato metoda se nejlépe hodí k alfa testování – umožňuje vývojářům a testerům pokrýt všechny možné základy během procesu zajištění kvality.
V tomto článku se podíváme na to, jak důsledný přístup k beta testování pomáhá softwarovým firmám dodávat lepší programy a jaké konkrétní kroky a chyby jsou s tím spojené.
Co je beta testování?
Beta testování je druh zajištění kvality, který konkrétně zjišťuje, jak by uživatelé produkt používali – a také zda se v softwaru nevyskytují nějaké problémy, které je třeba odstranit. Jedná se především o testery z cílové skupiny, ale mohou zahrnovat i další demografické skupiny, aby byla zajištěna dostupná uživatelská zkušenost.
Během beta testů je každá funkce podrobena kontrole; tyto kontroly také poskytují nový pohled na věc a pomáhají testerům najít problémy, které by vývojáři pravděpodobně přehlédli. V závislosti na tom, kdy tyto testy proběhnou, může být společnost schopna opravit případné zjištěné problémy ještě před vydáním programu.
1. Kdy a proč potřebujete provést beta testování?
Beta testování obvykle začíná po alfa testování, ale ještě před uvedením produktu na trh; obvykle v době, kdy je aplikace dokončena přibližně z 95 %. To znamená, že zkušenosti beta testerů jsou velmi podobné, ne-li stejné, jako u konečných uživatelů – a je zajištěno, že před vydáním nedojde k žádným zásadním změnám v designu produktu, které by mohly ovlivnit testy.
Beta testování je pro vývojáře příležitostí získat nový pohled na svou práci. To je užitečné zejména pro zkoumání uživatelského prostředí, včetně toho, jak snadno lidé zjistí, jak přesně software funguje.
2. Když nepotřebujete provádět beta testování
Společnosti mohou provádět alfa testování a další typy zajištění kvality z pohledu uživatele nebo mohou dokonce využít testovací programy s počítačovým viděním, které jim to usnadní. To sice nepokrývá všechny možné úhly pohledu, ale může to být účinná náhrada, pokud organizace nemá čas a peníze na provádění beta testů.
I v těchto situacích může být beta testování obzvláště užitečné a může podniku dlouhodobě ušetřit více peněz. Existuje jen velmi málo programů, kterým by beta testování neprospělo; téměř vždy se jedná o výhodnou investici do jakékoli testovací strategie.
3. Vyjasnění některých nejasností: Testování beta vs. testování alfa
I když jsou si tyto dva procesy docela podobné, je důležité znát rozdíly mezi alfa a beta testováním v testování softwaru.
Co je testování alfa?
Alfa testování je další formou uživatelského akceptačního testování, které se primárně zaměřuje na dřívější fázi programu, aby posoudilo hlavní i menší problémy při vývoji. Obvykle se jedná o kontrolní seznam komponent a běžných softwarových testů, které umožňují komplexní pokrytí.
Ve většině případů se o to stará interní testovací tým společnosti – to znamená, že je obvykle obeznámen s aplikací a jejím fungováním. V důsledku toho mohou být v testovacím postupu určitá slepá místa, která mohou najít pouze beta testeři.
Beta testy vs. testování alfa
Jak alfa testování, tak beta testování jsou formy uživatelského akceptačního testování, což znamená, že se vzájemně doplňují, pokud se používají společně. Každý přístup zahrnuje kontrolu problémů v softwaru v různých fázích vývoje, konkrétně těch, které mohou ovlivnit celkový uživatelský zážitek.
Beta testování se však zaměřuje na testování černé skříňky, aniž by se zabývalo vnitřním fungováním aplikace – alfa testování kombinuje toto testování s testováním bílé skříňky, které kontroluje samotný kód.
Dalším významným rozdílem je, že beta testeři obvykle nemají žádný vztah k procesu vývoje nebo dokonce ke společnosti.
Toto oddělení testera od aplikace je nezbytné pro nezaujatý pohled zvenčí. Beta testování se obecně zaměřuje na stabilitu, bezpečnost a spolehlivost, zatímco alfa testování se soustředí spíše na obecnou funkčnost – může však dojít k významnému průniku.
Nováček v softwaru může použít očekávané i neočekávané vstupy, aby zjistil, jaký mají vliv na aplikaci, která se může v průběhu procesu porouchat. Ačkoli beta testování obvykle probíhá ještě před oficiálním vydáním softwaru, je možné, že změny budou muset počkat až do prvního dne nebo dokonce několik týdnů po uvedení na trh.
4. Kdo se podílí na beta testování?
– Beta testeři
Obvykle nejsou se společností nijak spojeni a nemají žádné předchozí znalosti o produktu a o tom, jak do sebe zapadá jeho vnitřní kód.
– Vedoucí pracovníci pro zajištění kvality
Definují celkovou strategii QA a jsou zodpovědní za to, které konkrétní metody a kontroly testovací tým použije.
– Alfa testeři
Kontroly provádějí před zahájením beta testování, aby zajistili, že interní systémy budou fungovat tak, jak mají, a budou připraveny pro budoucí testery.
– Vývojáři softwaru
Informace, které jim beta testeři poskytnou, využijí k co nejrychlejšímu odstranění problémů – může to být dokonce ještě před uvedením na trh.
Výhody beta testování
Mezi výhody beta testování při testování softwaru patří:
1. Odráží zkušenosti uživatelů
Beta testeři nemají důvěrnou znalost softwaru a mohou být osobně nezkušení s kódováním – to znamená, že lépe reprezentují pohled koncového uživatele.
Beta testeři mohou s programem pracovat stejně jako zákazníci a umožnit vývojářům zjistit, jak dobře jejich aplikace informuje uživatele o svých funkcích. To je velmi důležité, protože vývojáři a interní pracovníci kontroly kvality jsou již obeznámeni s fungováním těchto aplikací a jejich funkčností.
2. Zvyšuje pokrytí testů
Beta testy zahrnují různé kontroly, které interní týmy běžně neprovádějí, včetně testů, které zkoumají potenciální uživatelské vstupy. Každý nový test, který je součástí strategie zajištění kvality společnosti, zvyšuje celkové pokrytí testů každé aplikace. Toto procento vyjadřuje, jak důkladný je současný proces testování, a ukazuje, kterým komponentám by bylo vhodné věnovat více pozornosti; při beta testování softwaru je vždy cílem vysoké pokrytí testy.
3. Nákladově efektivní
Ačkoli přidání nového typu testování může výrazně zvýšit náklady projektu, zejména pokud je třeba najmout externí pracovníky, beta testy jsou velmi nákladově efektivní.
Zvýšené pokrytí může dokonce ušetřit týmu spoustu peněz v dalším období; odhady IBM uvádějí, že oprava těchto problémů po uvolnění je až 15× dražší. Strategie citlivého beta testování může týmům pomoci snadno snížit náklady na opravu chyb.
4. Diverzifikovaná zařízení
Beta testování by mohlo zahrnovat použití vlastních zařízení testerů, což by týmu pomohlo provést tyto kontroly na větším počtu strojů. Aplikace může mít například potíže s provozem na některých grafických kartách nebo bez dostatečné paměti a beta testy mohou tyto problémy odhalit.
V závislosti na vašem přístupu mohou beta testeři k provádění těchto testů používat externí platformu a dokonce simulovat zařízení pomocí testování napříč prohlížeči.
Výzvy beta testování
Beta testy s sebou přinášejí také různé výzvy, včetně:
1. Vyžaduje specifické dovednosti
Ačkoli cílem je vždy simulovat zkušenosti uživatele a kódovací schopnosti jakéhokoli druhu nejsou nutné, tým beta testování by měl mít i přesto solidní dovednosti v oblasti zajištění kvality.
Musí být schopni zkontrolovat každou komponentu čistě pomocí metod černé skříňky a zároveň ztělesnit přístup koncového uživatele. Tato rovnováha je klíčovou součástí každého beta testování a obvykle vyžaduje zkušeného beta testera.
2. Omezený čas
Vzhledem k tomu, že beta testování probíhá v době, kdy je produkt v podstatě připraven k použití, mohou i drobná zpoždění v časovém plánu ovlivnit testery a jejich schopnost důkladně testovat.
Jejich kontrola může dokonce přesáhnout až do vydání produktu, ačkoli vývojáři mohou i po tomto okamžiku provést kritické změny jako opravu. To může na testery stále vyvíjet tlak, aby kontroly provedli rychle, což může omezit jejich přesnost v procesu.
3. Nesystematické podávání zpráv
Postupy hlášení pro beta testování jsou obecně méně důkladné než jiné formy zajištění kvality, takže vývojáři mohou mít více času na reakci na zpětnou vazbu. Tento problém je možné zmírnit pomocí podrobných testovacích případů nebo softwaru pro beta testování, který by mohl automaticky generovat komplexní protokol. Vývojáři také nejsou přítomni při beta testech, což může představovat další překážku, která ovlivňuje, jak dobře tyto problémy řeší.
4. Obecné požadavky na zaměstnance
Počet beta testerů, které společnost potřebuje, závisí především na rozsahu produktu – je možné, že špatně odhadne, kolik testerů je vzhledem k rozsahu produktu potřeba. To by mohlo vést k příliš velkému počtu testerů, což by znamenalo výrazné odčerpání zdrojů, nebo by se testeři mohli potýkat s problémy při adekvátním pokrytí komponent tohoto softwaru. Tým pro zajištění kvality projektu bude muset pečlivě prozkoumat požadavky na pracovníky beta testování.
Cíle beta testování
Hlavní cíle beta testování při testování softwaru jsou následující:
1. Řešení chyb
Prakticky každá aplikace má v počátečních fázích vývoje problémy a beta testování umožňuje větší pokrytí a opravu chyb. Testeři mohou například napodobit uživatelské vstupy nebo záměrné pokusy o prolomení softwaru zahlcením jeho databáze, což testeři alfa verze nemusí vzít v úvahu.
To dává týmu větší důvěru v produkt a jeho nadcházející přijetí.
2. Zlepšení uživatelské zkušenosti
Beta testy jsou hlavně z pohledu uživatele – a ukazují, jak by k softwaru přistupovali ti, kteří o něm nemají žádné znalosti. Pokud mají testeři například potíže se základními funkcemi programu, mohou vývojáři potřebovat zjednodušit rozhraní nebo zavést lepší výukové programy.
Vývojáři pak mohou provést potřebné změny, aby byl program přístupný všem uživatelům.
3. Získejte upřímnou zpětnou vazbu
Beta testeři mohou sestavovat zkušební recenze testovaného softwaru, což vývojářům umožňuje získat skutečné názory uživatelů, které mohou jít nad rámec testovacích případů.
Tito testeři mohou poskytnout zpětnou vazbu, která zlepší produkt, i když neodpovídá testovacímu případu. To také ukazuje, jak bude zamýšlená cílová skupina týmu reagovat na aplikaci po jejím vydání.
Co konkrétně testujeme v rámci beta testování?
Zde jsou uvedeny konkrétní aspekty aplikace, na které se beta testeři zaměřují:
1. Stabilita
Beta testeři zkoumají aplikaci, aby zjistili, jak dobře funguje na různých počítačích – což zahrnuje i to, jak snadné je software rozbít nebo usnadnit jeho pád.
Například aplikace závislá na databázi se může dostat do „slepé uličky“, pokud obdrží příliš mnoho požadavků; beta testy ukazují, kolik požadavků dokáže zpracovat.
2. Spolehlivost
Cílem tohoto procesu je snížit počet chyb v aplikaci, aby byla pro uživatele spolehlivější; testování spolehlivosti spočívá v omezení možnosti selhání.
Tester může například program používat delší dobu a uvést všechny problémy, na které narazí, například že se vizuální prvek nezobrazuje správně.
3. Funkčnost
Další klíčovou součástí beta testování je schopnost softwaru poskytovat zamýšlené funkce. Beta testeři kontrolují, zda všechny komponenty fungují tak, jak mají, a zda jsou všechny funkce intuitivní.
Pokud například testeři zjistí, že je obtížné využívat klíčový prodejní bod aplikace, musí to vývojáři okamžitě napravit.
4. Zabezpečení
Tento přístup zahrnuje také snahu o prolomení aplikace, konkrétně z hlediska jejího zabezpečení. Beta tester se může pokusit pomocí zadních vrátek získat administrátorská oprávnění a upozornit na existující zranitelnosti. Mohou dokonce zkontrolovat databázi a její šifrování, protože by mohla obsahovat soukromé informace, ke kterým by žádný uživatel neměl mít přístup.
5. Recepce
Reakce publika na aplikaci je důležitou součástí procesu zajištění kvality – pomáhá vývojářům zaručit, že jdou správnou cestou. Beta testeři poskytují své upřímné postřehy k programu jako formu široké zpětné vazby a zároveň ukazují týmu, jak bude software pravděpodobně přijímat veřejnost.
Typy beta testů
Zde je uvedeno pět hlavních typů beta testování při testování softwaru:
1. Otevřené beta testování
Otevřené beta testy jsou plně k dispozici veřejnosti, což umožňuje širší spektrum pohledů. Mohlo by se jednat o přístup opt-in, kdy se každý uživatel, který má zájem, může na webových stránkách společnosti přihlásit jako beta tester.
V těchto případech jsou kontroly zřídkakdy náročné a mohou zahrnovat pouze podávání hlášení o chybách v reakci na chyby.
2. Uzavřené beta testování
Uzavřené testy jsou přístupné pouze neveřejným skupinám, jako je například vlastní výběr společnosti, což dává týmu větší kontrolu nad tím, kdo aplikaci zkontroluje. Mohou upřednostnit beta testery, kteří tvoří jejich cílovou skupinu, a zjistit, jak by různé skupiny lidí pravděpodobně reagovaly na nuance tohoto softwaru.
3. Technické beta testování
Technické beta testy se zabývají konkrétními komponentami z technického hlediska; ačkoli jejich cílem je reprezentovat koncové uživatele, vyžadují tyto kontroly více odborných znalostí. To je nezbytné k odhalení složitých chyb, které mohou mít vliv na uživatelský zážitek, ale k jejichž odhalení je třeba více než jen zběžný pohled; tyto kontroly vyžadují hlubší pohled.
4. Cílené beta testování
Některé součásti jsou na problémy náchylnější než jiné, například databáze obvykle spolupracuje s mnoha funkcemi aplikace, takže její chyby mohou ovlivnit celý program. Zaměřené beta testy se zabývají konkrétními částmi softwaru i jednotlivými funkcemi, aby se ujistily, že se nevyskytují žádné závažné problémy.
5. Beta testování po vydání
Některé beta testy probíhají až po vydání aplikace, což pomáhá týmu odhalit případné problémy, kterých si uživatelé ještě nevšimli. Kontrola po vydání může také pomoci při beta testování aktualizací softwaru a nových funkcí, aby se zajistilo, že všechny doplňky splňují stejné standardy jako zbytek aplikace.
Strategie pro beta testování
Při beta testování byste měli uplatňovat různé plány a strategie, například:
1. Vhodně naplánujte testy
Vzhledem k tomu, že beta testování obvykle probíhá v blízkosti vydání produktu, musí se testovací týmy ujistit, že vyváženost fáze zajištění kvality usnadní každý test, který chtějí realizovat.
Vývojáři například musí testery informovat o všech zpožděních projektu a testeři by měli vyhodnotit, které kontroly jsou nejdůležitější, aby se přizpůsobili rychle se blížícím termínům.
2. Zaměření na cíle testování
Každá strategie testování závisí na jasném zaměření, které může každého testera snadno motivovat. Tým může například určit priority konkrétní komponenty, na které aplikace závisí.
Cílem testerů může být určité procento pokrytí nebo aplikace, kterou mohou volně používat po delší dobu, aniž by narazili na chyby.
3. Najměte si správné testery
Zkušení testeři vědí, jak přistupovat k softwaru jako uživatel, a přitom se stále dívat do hloubky – konkrétní zkušenosti s programem mohou být nezbytné i pro technické beta testy.
Aplikace vhodné pro široké publikum (například videohry nebo mobilní aplikace) by mohly mít větší prospěch z otevřených betaverzí, které odrážejí různorodé uživatelské základny všech úrovní dovedností.
4. Jednejte na základě zpětné vazby od testerů
Tým musí rychle reagovat na zpětnou vazbu od beta testerů, což pomáhá udržet jejich angažovanost a umožňuje vývojářům začít pracovat na opravě chyby. V této fázi vývoje programu je nejdůležitější rychlost, protože datum vydání je obvykle nedlouho po zahájení procesu beta testování.
Proces beta testování
Zde je šest hlavních kroků beta testování aplikace:
1. Příprava beta testu
Tým musí navrhnout solidní počet testerů, který by odpovídal rozsahu aplikace, protože některé aplikace vyžadují více než 300 beta testerů. Měli by také určit, jaké typy beta testování použít a jak mohou doplnit fázi alfa testování.
2. Nábor beta testerů
Poté, co tým pro zajištění kvality vymyslí svůj přístup k beta testování, musí najmout externí testery pomocí preferovaných kanálů. Mohou to otevřeně inzerovat na svých sociálních sítích nebo využít testovací společnost; měly by také zajistit dostatek času na nábor.
3. Vydání beta programu
Jakmile jsou aplikace a testeři připraveni, společnost uvolní beta verzi aplikace a rozešle pozvánky beta testerům. Tito testeři kontrolují program prostřednictvím zdlouhavých procesů, které mohou trvat klidně i několik týdnů, a zaznamenávají případné problémy nebo relevantní připomínky.
4. Shromažďování zpětné vazby od testerů
Po dokončení kontroly beta testeři poskytnou své názory na software a podrobné zprávy o chybách, na které narazili. Tým může také hovořit s beta testery, aby získal více informací o problémech a jejich možných příčinách.
5. Aktualizace aplikace
Na základě informací získaných z těchto kontrol a výsledné zpětné vazby mohou vývojáři začít měnit aplikaci a opravovat zjištěné chyby. Kvůli napjatému harmonogramu, který často beta testování obnáší, může být nutné počkat na opravu některých změn až do doby po uvedení hry na trh.
6. V případě potřeby opakujte test
Interní testeři obvykle kontrolují aplikaci po fázi opravy chyb, aby se ujistili, že tyto problémy již nejsou přítomny. Společnost může znovu zapojit beta testery, pokud program projde nějakou významnou aktualizací, která pravděpodobně ovlivní funkčnost programu, včetně nových funkcí.
Fáze beta testování
Beta testy probíhají ve více fázích; obvykle se jedná o tyto fáze:
1. Plánování
V této fázi interní tým sestaví dokument o cílech obecného přístupu k beta testování, včetně toho, zda chce mít otevřenou beta verzi.
Fáze plánování vyžaduje vstup všech zúčastněných stran; vedoucí týmů a vedoucí pracovníci musí mít stejné cíle.
2. Nábor zaměstnanců
Další fáze zahrnuje výběr testerů a jejich zapracování; testeři tak mají možnost získat předběžnou představu o aplikaci.
To musí přesně odpovídat požadavkům projektu. Například aplikace vhodné pro jakýkoli věk by měly využívat testery z různých věkových skupin ke kontrole použitelnosti.
3. Testování
Fáze testování zahrnuje tři složky – správu zapojení, správu zpětné vazby a distribuci výsledků. Tyto procesy zahrnují zajištění zapojení testerů, organizaci zpětné vazby od testerů a zajištění toho, aby vývojáři obdrželi výsledky. Beta testy obvykle probíhají ve sprintech trvajících 1-2 týdny, což umožňuje dostatečné pokrytí a čas na opravy.
4. Závěrečné shrnutí
Po dokončení testování týmy uzavřou testovací cyklus a připraví se na vydání produktu. To by mohlo zahrnovat i vypracování zprávy o následné činnosti.
Vstupní kritéria pro beta testování
Obecná kritéria pro vstup do beta testů zahrnují:
1. Vhodný testovací tým
Dostatečný tým beta testerů je pravděpodobně nejdůležitějším vstupním kritériem pro tyto kontroly, protože to ovlivňuje způsob, jakým s aplikací pracují. Například betatest videohry by měl reprezentovat všechny aspekty cílového publika – včetně amatérských a zkušených hráčů.
2. Testování alfa je dokončeno
Beta testování by mělo být zahájeno poté, co interní tým dokončí alfa testování; to odhalí většinu problémů se softwarem. Stále však existují určité mezery v zajištění kvality, které jsou schopny adekvátně řešit pouze beta testy a výhradně black-box přístup.
3. Aplikace připravená pro beta verzi
Samotná aplikace by měla mít funkční beta verzi, která je plně aktualizovaná a obsahuje všechny kompletní funkce. Mělo by se jednat o nezávislé testovací prostředí, kde případné chyby, na které beta tester narazí, neovlivní celý program ani postup ostatních testerů.
4. Beta testování softwaru
Testerům může pomoci program, který jim pomůže s beta testy; může dokonce implementovat robotickou automatizaci procesů pro zvýšení přesnosti v každé fázi. O tom, kterou aplikaci budou betatesteři používat, rozhoduje především interní tým, který musí pečlivě vybrat nejkompatibilnější možnost.
Kritéria pro ukončení beta testování
Mezi kritéria pro dokončení beta testů patří:
1. Zjištěné problémy jsou opraveny
Jedním z klíčových požadavků pro ukončení fáze beta testování je, aby vývojáři co nejlépe opravili všechny problémy, na které testeři upozorní. Jakmile tým identifikuje a odstraní problémy, mohou testeři dokončit svou práci.
2. Shrnutí dokončeného beta testu
Po dokončení kontroly sestavili beta testeři shrnutí svých testů a uvedli problémy, na které při nich narazili. Tato zpráva slouží jako užitečný zdroj informací při testování budoucích verzí produktu nebo jakéhokoli podobného softwaru, který společnost vytvoří.
3. Závěr testovací fáze
Tým by měl formálně ukončit fázi testování poté, co beta testeři dokončí své kontroly; to znamená, že fáze zajištění kvality je dokončena. Podepsání tohoto dokumentu slouží také jako způsob, jak zajistit, aby tým pokračoval ve vydávání produktu.
4. Výrobek připravený k expedici
Mnoho projektů ukončí fázi beta testování dodáním produktu, zejména proto, že aplikace může být v tomto okamžiku funkčně kompletní. Je možné, že beta testy proběhnou až po vydání – obvykle však pouze v případě, že dojde ke zpoždění projektu.
Typy výstupů z beta testů
Beta testy přinášejí několik důležitých výstupů, včetně:
1. Výsledky testů
Beta testy poskytují testerům a vývojářům významné množství údajů o tom, zda je produkt připraven k vydání. Pokud tým pro zajištění kvality určil konkrétní kontroly, které beta testeři použili, porovná výsledky se zamýšlenými výsledky. Tyto výsledky mohou zahrnovat úspěšnost testů, četnost pádů a dokonce i skóre použitelnosti systému.
2. Zkušební protokoly
I když se beta testeři obvykle dívají na projekty pouze z pohledu černé skříňky, jejich akce stále generují data v interním protokolu programu. Vývojáři tak mohou izolovat soubory, cesty a dokonce i přesné řádky kódu, které jsou zodpovědné za vzniklé problémy. Tyto protokoly mohou například ukázat, zda je systém výrazně zatížen.
3. Zkušební protokoly
Tyto výsledky nakonec tvoří hlavní část shrnutí beta testování, které je kombinuje s konkrétními závěry a myšlenkami testera o aplikaci. Pokud mají beta testeři dostatek zkušeností, mohli by navrhnout, jak mohou vývojáři začít řešit chyby softwaru. Zprávy o beta testech obvykle obsahují přehled funkčnosti, spolehlivosti, bezpečnosti, stability a obecnou zpětnou vazbu od testerů.
Běžné metriky beta testování
Téměř každý beta test generuje jedinečné metriky, jako jsou:
1. Počet neúspěšných testů
Pokud aplikace neprojde některou z kontrol, je pro testery užitečné vést si záznamy o tom, s kolika testy by měl program problémy. Může se jednat o počet, ale i o zlomek nebo procento z celkového počtu testů.
2. Procento pokrytí testů
Čím vyšší je pokrytí testů, tím větší je jistota, že se týmu podaří odhalit co nejvíce chyb. Beta testeři by se měli zaměřit na softwarové komponenty s nižším relativním pokrytím, aby se ujistili, že fungují přesně tak, jak vývojáři zamýšleli.
3. Spokojenost zákazníků
Beta testeři mohou poskytovat skóre spokojenosti zákazníků (nebo CSAT), které sleduje skutečnou reakci testerů na produkt, včetně jejich spokojenosti. Obvykle má podobu stupnice od 1 do 5, přičemž nižší skóre znamená nespokojenost, zatímco 5 znamená naprostou spokojenost.
4. Hustota bezpečnostních zranitelností
Při ověřování možnosti výskytu bezpečnostních problémů mohli beta testeři sledovat celkovou hustotu zranitelností v programu. Testeři a vývojáři tak získají jasnou představu o celkovém zabezpečení aplikace, včetně pohledu na nejvýznamnější bezpečnostní chyby v softwaru.
5. Čisté skóre podporovatelů
Podobně jako u spokojenosti zákazníků zkoumá skóre čistých příznivců programu (NPS), jak by na aplikaci pravděpodobně reagovaly skutečné skupiny uživatelů. Hodnotí se na desetibodové stupnici, přičemž 9-10 bodů znamená „příznivce“, zatímco 7-8 bodů „nepříznivce“ – a cokoli pod touto hodnotou znamená „nepříznivce“.
6. Špičková doba odezvy
Problémy může způsobovat doba, kterou databáze potřebuje k načtení informací, a obecně doba, kterou aplikace potřebuje k dokončení požadavku. Dohertyho prahová hodnota naznačuje, že doba špičky přesahující 400 milisekund by mohla zabránit tomu, aby se uživatelé zapojili do práce se softwarem.
Typy chyb a nedostatků zjištěných při beta testování
Zde jsou uvedeny některé chyby, které beta testování při testování softwaru může pomoci odhalit:
1. Nefunkční funkce
Hlavním problémem, který mohou beta testy odhalit, je, že některá z funkcí nefunguje v žádné situaci. Může jít o souvislosti, na které ostatní testeři nepomyslí, a proto je velmi důležité, aby týmy využívaly beta testování k hledání problémů novými způsoby.
2. Bezpečnostní zranitelnost
Beta testování může odhalit řadu možných bezpečnostních nedostatků; může jít i o zadní vrátka pro správu, ke kterým mají uživatelé přístup. Tyto kontroly mají zásadní význam pro zajištění bezpečnosti aplikace a její odolnosti vůči kontrole ze strany uživatelů.
3. Obecná havárie
Jakýkoli počet vstupů může vést k pádu – beta testeři proto prověřují co nejvíce reálných uživatelských vstupů, aby se ujistili, že nedojde k pádu. Pokud dojde k pádu programu, když uživatel provede určitou akci, musí to vývojáři napravit.
4. Nekompatibilita zařízení
Beta testy zkoumají větší rozsah zařízení než jiné fáze zajištění kvality a využívají k tomu testování napříč prohlížeči. Tyto testy odhalí, jak dobře aplikace funguje na různých počítačích, protože drobné rozdíly v architektuře mohou výrazně ovlivnit výkon programu.
5. Pomalý výkon
Tyto kontroly ukazují, zda existují situace nebo vstupy, které výrazně zpomalují program a způsobují výrazné zpoždění pro koncového uživatele. To by mohlo vážně ovlivnit, jak moc si uživatel tento software užívá, proto je důležité to napravit.
Příklady beta testů
Zde jsou tři hlavní příklady beta testování:
1. Aplikace pro Android
Beta testování aplikace pro Android zahrnuje spuštění programu na vhodném zařízení – případně na několika zařízeních pro testování kompatibility – a kontrolu případných nápadných chyb. Vzhledem k tomu, že tyto aplikace jsou velmi složité, může společnost potřebovat až 300 beta testerů.
Mnoho aplikací otevřeně inzeruje dostupné beta testy před a po uvedení na trh, což firmě umožňuje zajistit kompletní pokrytí z mnoha různých hledisek. Tyto testy se mohou zaměřit na konkrétní funkce této mobilní aplikace a jejich vzájemnou interakci.
2. Videohra
Videohry procházejí dlouhým procesem beta testování kvůli své složitosti; při něm se zkoumají všechny aspekty hry, od jejího enginu až po výkon a grafickou věrnost.
Ty mohou být přístupné výhradně lidem, kteří si hru předobjednají, nebo dokonce všem zájemcům, i když je nutné i soukromé beta testování. U her pro více hráčů dávají otevřené bety vývojářům příležitost zkontrolovat jejich síťový kód a zjistit, jak dobře zvládá vysoký počet hráčů.
3. Webové stránky
Firemní webové stránky – zejména ty s funkcemi elektronického obchodu – vyžadují také důkladné beta testování předtím, než je firma spustí pro veřejnost. Beta testeři by měli prověřit každou stránku, aby se ujistili, že se dobře zobrazuje na různých zařízeních a že přiložené webové aplikace fungují.
U maloobchodních stránek se testeři mohou pokusit dokončit nákup a zjistit, zda projde systémem. Beta testeři musí také zkontrolovat funkčnost webu ve všech populárních internetových prohlížečích.
Ruční nebo automatizované beta testy?
Automatizace může zvýšit efektivitu jakékoli testovací strategie, výrazně snížit riziko lidské chyby a zároveň pracovat mnohem rychleji. Tím se zvyšuje pokrytí a celková spolehlivost fáze zajištění kvality projektu – obvykle s pomocí aplikace třetí strany.
Je důležité, aby týmy prozkoumaly všechny možné platformy, které by mohly automatizovat jejich testy; každá z nich má jiné funkce, které mohou být kompatibilnější s určitými typy softwaru. Tento přístup je však obecně omezený z hlediska lidského faktoru; většina beta testů se spoléhá na pohled uživatele.
Automatizace může tyto problémy obejít; například počítačové vidění pomáhá automatizačnímu softwaru nahlížet na problémy z lidského pohledu. Hyperautomatizace by také mohla týmům pomoci kalibrovat jejich strategii testování tak, aby inteligentně použily automatizaci tam, kde je to vhodné, aniž by ji nadužívaly.
V obou případech závisí přístup týmu (a jeho případný úspěch) na programu, který implementuje, a jeho vlastnostech. Beta testeři jsou pro tento proces stále nezbytní a vedoucí pracovníci v oblasti zajištění kvality musí prověřit svou celkovou strategii, aby zjistili, které kontroly by bylo vhodné automatizovat a které by měly upřednostnit lidské testery.
Osvědčené postupy pro beta testování
Zde jsou uvedeny některé osvědčené postupy, které by měly týmy provádějící beta testování uplatňovat:
1. Vezměte v úvahu zákazníka
Základem každého beta testu je zákaznická zkušenost a kontroly, které tento tým provádí, ji musí pokud možno odrážet. Testeři by například měli prozkoumat rozhraní a zjistit, jak intuitivní by bylo pro zkušené uživatele v daném odvětví.
2. Zkontrolujte mimo cílovou skupinu
Žádný produkt nebo aplikace nemá pouze uživatele z cílové skupiny a někdo může program tohoto typu používat poprvé. Beta testeři mohou například přistupovat k videohře, jako by ji nikdy předtím nehráli, aby se ujistili, že je uživatelsky přívětivá.
3. Různorodá škála testerů
Podobně je důležité kontrolovat programy s testery z různých prostředí, protože tak tým získá ucelený obraz o tom, jak budou zákazníci reagovat. Rozdíly ve zkušenostech mohou také vést k tomu, že beta testeři zkoumají software různými způsoby.
4. Podporovat neustálou komunikaci
Mezi testery a vývojáři by mohla vzniknout informační sila – zejména pokud jsou testeři zvenčí. To znamená, že vedoucí oddělení zajištění kvality by měli usnadnit komunikaci mezi těmito dvěma týmy, aby se ujistili, že vývojáři dostanou informace, které potřebují k opravám chyb.
5. Pečlivě zvolte strategii testování
Některým produktům více prospěje otevřená beta verze, která v krátkém čase získá rozsáhlou zpětnou vazbu, ale existuje mnoho aplikací, které vyžadují soukromé testování. Týmy musí tento software prozkoumat a určit, který přístup by byl nejvhodnější.
6. Nabídka pobídek
Neplacení beta testeři potřebují za svou službu nějakou odměnu – a včasný přístup do programu nemusí být dostatečný. Mohou být uvedeni v titulcích softwaru nebo dostat jinou formu dárku, který je povzbudí k co nejlepší práci.
Co potřebujete k zahájení beta testování?
Před zahájením beta testování je třeba splnit několik důležitých podmínek, mezi které patří:
1. Komplexní testovací strategie
Ačkoli je beta testování relativně volné, zejména v případě otevřené betaverze, je obvykle nutné mít důkladný plán, který zajistí, že se každé komponentě dostane dostatečné pozornosti testerů. Tým pro zajištění kvality by měl vědět, co projekt vyžaduje, například konkrétní beta kontroly, které hodlá provést.
Pokud má například program nějaké složky, které vyžadují větší pozornost, musí se tomu strategie týmu přizpůsobit.
2. Motivovaní testeři
Tým také potřebuje testery, kteří jsou dostatečně motivovaní, aby pomohli s procesem beta testování. V závislosti na konkrétních kontrolách může společnost využít testery, kteří jsou vysoce zkušení v oblasti zajištění kvality a dokáží přesně vyhodnotit, jaký dopad mají jejich činnosti na tuto aplikaci.
Vedoucí týmu si musí být jisti výběrem testerů, včetně toho, zda jsou schopni reflektovat celé spektrum uživatelů produktu.
3. Beta testování softwaru
Testovací nástroje, včetně těch s automatizačními funkcemi, mají své místo téměř v každém plánu zajištění kvality; dokonce i v beta testech, které se obvykle spoléhají na lidský pohled. To může týmu pomoci zavést robotickou automatizaci procesů – ta využívá softwarové roboty k provádění různých testovacích úkolů bez pomoci lidského beta testera. Program, který používají, závisí na konkrétních potřebách testování aktuálního projektu.
4. Beta program
Vzhledem k tomu, že beta testování začíná až po dokončení alfa testování, musí tým pracovat s nejnovějším programem; ten by měl být téměř kompletní. Tato aplikace by měla být zcela oddělená, aby bylo zajištěno, že odolá mnoha možným způsobům, kterými ji beta tester může poškodit, aniž by poškodil skutečný software. V mnoha případech bude mít beta program jen málo problémů díky komplexnímu alfa testování.
7 chyb a nástrah při provádění beta testů
Při každé strategii testování se mohou testeři dopustit mnoha chyb. Zde je sedm chyb, kterých by se měli beta testeři vyvarovat:
1. Nepružný rozvrh
Zpoždění je běžné v každém softwarovém projektu a testovací tým by se s ním měl v každé fázi vyrovnat. Beta testování probíhá blízko vydání, takže může utrpět, pokud dojde ke změnám v časovém plánu produktu. Vzhledem k těmto zpožděním mohou mít testeři potíže s dokončením kontroly.
2. Nemotivovaní testeři
Zejména otevřené beta testy by mohly mít problém přimět své testery, aby hlásili nalezené chyby – v některých případech by to mohli považovat za bezplatné vyzkoušení softwaru. Tým musí nabízet pobídky, které podporují komunikaci a komplexní hlášení, jinak se může stát, že testeři na žádné problémy neupozorní.
3. Omezené zastoupení publika
Vzhledem k tomu, že beta testy obvykle simulují uživatelskou zkušenost, pomáhá to testerům, aby zhruba odpovídali cílové skupině aplikace. Za tímto účelem může být důležité informovat beta testery o lidech, kteří budou produkt používat; i když i další pohledy mohou pomoci zajistit, aby byl software uživatelsky přívětivý.
4. Omezená zařízení
Testování napříč prohlížeči a zkoumání různých zařízení je zásadní pro zajištění použitelnosti aplikace pro co nejvíce lidí. To se projevuje zejména ve fázi beta testování; tým musí zajistit, aby kontroly vždy reprezentovaly širokou škálu potenciálních zařízení.
5. Nedostatek testerů
Počet potřebných beta testerů se u jednotlivých projektů liší, ale nesprávný odhad může způsobit vážné problémy. Například příliš mnoho testerů by mohlo znamenat vážné vyčerpání zdrojů, včetně peněz.
V opačném případě může být nedostatečný počet testerů obtížný pro zajištění silného testovacího pokrytí všech komponent aplikace.
6. Žádný plán testování
Fáze beta testování je zřídkakdy úspěšná, pokud testeři software pouze používají a poskytují neurčitou zpětnou vazbu. Tým pro zajištění kvality musí sestavit komplexní plány, které podrobně popisují jednotlivé složky a konkrétní kontroly.
U otevřené beta verze musí mít testeři jasný způsob, jak nahlásit problémy, na které narazí.
7. Neúčinný testovací nástroj
Testovací týmy nemohou jednoduše implementovat první nebo nejlevnější testovací nástroj, který najdou. Místo toho by měli hledat možnost, která odpovídá jejich projektu a jeho přesným potřebám. Tímto časem lze předejít vážným dlouhodobým problémům při testování a zároveň umožnit testerům lépe využívat funkce testovacího nástroje.
5 nejlepších nástrojů pro beta testování
Zde je pět nejefektivnějších placených nebo bezplatných softwarových nástrojů pro beta testování:
1. ZAPTEST FREE & ENTERPRISE edice
ZAPTEST nabízí bezplatné i placené nástroje pro beta testování, které pomáhají firmám v celé fázi zajišťování kvality s jakýmkoli rozpočtem.
ZAPTEST poskytuje důkladnou automatizaci testování v celé řadě různých prohlížečů, zařízení, aplikací a platforem, což umožňuje beta testerům prověřit své programy na hlubší úrovni. Zatímco bezplatná verze má spoustu užitečných funkcí, verze Enterprise zahrnuje specializovaného experta ZAP, který pracuje společně s týmem klienta, nejmodernější funkce RPA bez dalších nákladů a neomezený počet licencí.
2. Instabug
Instabug pomáhá beta testerům kontrolovat řadu mobilních aplikací ve všech hlavních operačních systémech a nabízí kompletní analýzu pádů a záznamy o uživatelských vstupech. Tento placený nástroj usnadňuje testerům odesílání hlášení o chybách při kontrole programu.
Uživatelé však uvádějí, že tato platforma je poměrně drahá a že tento software má omezené funkce pro webové aplikace a jiné typy programů, takže je užitečný pouze v určitých kontextech.
3. BrowserStack
BrowserStack dokáže simulovat více než 3 000 zařízení pro alfa i beta testování, čímž zajišťuje plně doplňkový testovací proces. Platforma také obsahuje funkce podrobného protokolování, které testerům umožňují identifikovat příčinu problémů a co nejdříve je sdělit vývojářům.
Toto řešení je nejefektivnější pro webové nebo mobilní aplikace a má omezené možnosti použití pro jiný software – pro začínající testery může být také obtížné se s touto platformou naučit.
4. TestFairy
TestFairy se specializuje na mobilní aplikace se silným zaměřením na beta testování Androidu a je schopna zaznamenávat činnosti testerů (včetně jejich konkrétních vstupů), aby bylo opakování jejich zjištění mnohem snazší. Každý, kdo se podílí na vývoji, si může výsledná videa prohlédnout a využít je pro svá zlepšení.
Při výběru testovacího nástroje však uživatelé musí opět počítat s cenou a omezeným počtem kompatibilních zařízení.
5. TestFlight
TestFlight je program společnosti Apple určený speciálně pro beta testování aplikací pro iOS. To ji omezuje zejména pro jiné programy, včetně různých typů mobilních aplikací.
TestFlight umožňuje vývojářům aplikací snadno distribuovat nové verze programu testerům a může se pochlubit snadným procesem nastavení. Tato platforma je sice docela užitečná pro vývojáře aplikací pro iOS, ale i v tomto kontextu podporuje pouze systém iOS 8 a novější.
Kontrolní seznam, tipy a triky pro beta testování
Zde je několik dalších tipů, jak co nejlépe využít beta testování při testování softwaru:
1. Usnadnění dokumentace
Čím jednodušší je pro beta testery (všeho druhu) hlásit problémy, na které narazí, tím přesnější a efektivnější je celý proces testování. Je důležité, aby testovací tým zdokonalil obvyklé kanály pro hlášení zpětné vazby, aby tyto kontroly probíhaly plynuleji.
2. Pokračování v iteracích beta testů
Každý betatest, který společnost provede, by měl být podkladem pro zdokonalení budoucích kontrol, aby se přizpůsobil jejím obvyklým projektům. Tyto zkušenosti zlepšují proces beta testování a zajišťují, že se programy vždy zkoumají způsobem, který vyhovuje dané společnosti a jejím jedinečným požadavkům.
3. Používejte automatizaci střídmě
Ačkoli taktiky, jako je robotická automatizace procesů, mohou mít na beta testy týmu významný pozitivní dopad, musí je tým zavádět s rozumem. Automatizace jednotlivých kontrol může omezit jejich přesnost, zejména proto, že mnoho beta testů se opírá o specifické zkušenosti koncových uživatelů.
4. Přinutit testery podepsat NDA
Soukromí beta testeři se mohou dívat na citlivý software a pro organizace a vývojáře je velmi důležité chránit jejich zájmy. Z tohoto důvodu může firma nechat testery podepsat dohodu o mlčenlivosti, aby neprozradili žádné tajné informace o programu.
5. Podpora beta testerů
Společnost a její interní pracovníci pro zajištění kvality by měli být k dispozici pro pomoc ve fázi beta testování – tato podpora může být neocenitelná. Testující mohou například potřebovat pomoc s ovládáním programu nebo se mohou chtít zeptat na obecné otázky týkající se aplikace.
6. Podporovat svobodu testerů
Ačkoli je tato podpora někdy nezbytná pro zajištění důkladného beta testování, je také důležité, aby společnost nechala testery dokončit kontrolu jejich vlastním tempem. Tester by měl být schopen poskytnout upřímnou zpětnou vazbu; to je možné pouze při plné uživatelské svobodě.
Závěr
Beta testování je nezbytné téměř pro každý softwarový projekt, protože umožňuje zohlednit uživatele a jejich jedinečné zkušenosti se softwarem. Společnosti se mohou rozhodnout začlenit automatizaci do svých plánů beta testování, ale stále musí v každé fázi brát v úvahu lidskou perspektivu. Specifika firemní strategie závisí na projektu a přístupu, který nejlépe vyhovuje jeho požadavkům, včetně úrovně dovedností jednotlivých testerů.
Bez ohledu na aktuální rozpočet testovacího týmu může ZAPTEST Free nebo Enterprise usnadnit intuitivní beta kontroly v široké škále zařízení a zajistit vysoké standardy v celém procesu zajištění kvality.