Beta testovanie je jednou z najobľúbenejších foriem testovania, pretože umožňuje získať skutočnú spätnú väzbu od používateľov – to pomáha spoločnostiam (a nezávislým vývojárom) výrazne zlepšiť ich kód. Stratégia beta testovania organizácie môže byť dokonca hlavným faktorom jej schopnosti dodávať funkčné softvérové programy. To znamená, že je veľmi dôležité, aby ste vy a vaša firma vedeli, ako táto technika funguje a ako by ste mohli zvládnuť jej problémy a zabezpečiť stabilný produkt.
Pochopenie základov beta testovania spolu s dostupným softvérom, ktorý by mohol testerom pomôcť, umožňuje vývojovému tímu vykonať všetky potrebné zmeny pred vydaním a dokonca aj po ňom. Táto metóda sa najlepšie hodí k alfa testovaniu – umožňuje vývojárom a testerom pokryť všetky možné základy v rámci procesu zabezpečenia kvality.
V tomto článku sa pozrieme na to, ako silný prístup k beta testovaniu pomáha softvérovým firmám dodávať lepšie programy spolu s konkrétnymi krokmi a chybami.
Čo je beta testovanie?
Beta testovanie je druh zabezpečenia kvality, ktorý konkrétne skúma, ako by používatelia používali produkt, ako aj to, či sú v softvéri nejaké problémy, ktoré je potrebné odstrániť. Ide najmä o testerov z plánovanej cieľovej skupiny, ale môže zahŕňať aj iné demografické skupiny, aby sa zabezpečil prístupný používateľský zážitok.
Počas beta testov sa kontroluje každá funkcia; tieto kontroly poskytujú aj nový pohľad, ktorý pomáha testerom nájsť problémy, ktoré by vývojári pravdepodobne prehliadli. V závislosti od toho, kedy sa tieto testy uskutočnia, môže byť spoločnosť schopná odstrániť prípadné zistené problémy ešte pred vydaním programu.
1. Kedy a prečo je potrebné vykonať beta testovanie?
Beta testovanie sa zvyčajne začína po alfa testovaní, ale pred uvedením produktu na trh; zvyčajne vtedy, keď je aplikácia hotová na približne 95 %. To znamená, že skúsenosti beta testerov sú veľmi podobné, ak nie rovnaké, ako u konečných používateľov – a zaručuje, že pred vydaním nedôjde k žiadnym zásadným zmenám v dizajne produktu, ktoré by mohli ovplyvniť testy.
Beta testovanie je pre vývojárov príležitosťou získať nový pohľad na svoju prácu. Je to užitočné najmä pri skúmaní používateľského zážitku vrátane toho, ako ľahko ľudia zistia, ako presne softvér funguje.
2. Keď nepotrebujete robiť beta testovanie
Spoločnosti môžu vykonávať alfa testovanie a iné typy zabezpečenia kvality z pohľadu používateľa, alebo dokonca môžu využívať testovacie programy s počítačovým videním, ktoré to uľahčia. Nepokrýva to všetky možné aspekty, ale môže to byť účinná náhrada, ak organizácia nemá čas a peniaze na vykonávanie beta testov.
Aj v týchto situáciách môže byť beta testovanie mimoriadne užitočné a môže podniku dlhodobo ušetriť viac peňazí. Existuje len veľmi málo programov, ktorým by beta testovanie neprospelo; takmer vždy ide o výhodnú investíciu do akejkoľvek testovacej stratégie.
3. Vyjasnenie niektorých nejasností: Testovanie beta verzus testovanie alfa
Hoci sú tieto dva procesy dosť podobné, je dôležité, aby ste poznali rozdiely medzi alfa a beta testovaním v testovaní softvéru.
Čo je testovanie alfa?
Alfa testovanie je ďalšia forma používateľského akceptačného testovania, ktorá sa primárne zameriava na skoršiu fázu programu s cieľom posúdiť hlavné aj menšie problémy pri vývoji. Zvyčajne ide o kontrolný zoznam komponentov a bežných softvérových testov, ktorý umožňuje komplexné pokrytie.
Vo väčšine prípadov sa o to postará interný testovací tím spoločnosti, čo znamená, že zvyčajne pozná aplikáciu a jej fungovanie. V dôsledku toho môžu byť v testovacom postupe určité slepé miesta, ktoré môžu nájsť len beta testeri.
Testy beta verzus testovanie alfa
Alfa testovanie aj beta testovanie sú formy používateľského akceptačného testovania, čo znamená, že sa navzájom dopĺňajú, ak sa používajú spoločne. Každý prístup zahŕňa kontrolu problémov v softvéri v rôznych fázach vývoja, konkrétne tých, ktoré môžu ovplyvniť celkový používateľský zážitok.
Beta testovanie sa však zameriava na testovanie čiernej skrinky bez preskúmania vnútorného fungovania aplikácie – alfa testovanie kombinuje toto testovanie s testovaním bielej skrinky na kontrolu samotného kódu.
Ďalším významným rozdielom je, že beta testeri zvyčajne nemajú vzťah k vývojovému procesu alebo dokonca k spoločnosti.
Toto oddelenie medzi testerom a aplikáciou je potrebné pre nezaujatý, externý pohľad. Beta testovanie sa vo všeobecnosti zameriava na stabilitu, bezpečnosť a spoľahlivosť, zatiaľ čo alfa testovanie sa zameriava skôr na všeobecnú funkčnosť, ale môže dôjsť k významnému prepojeniu.
Nový používateľ softvéru môže použiť očakávané aj neočakávané vstupy, aby zistil, aký vplyv majú na aplikáciu, ktorá sa môže v priebehu procesu rozbiť. Hoci beta testovanie zvyčajne prebieha ešte pred oficiálnym vydaním softvéru, na zmeny sa môže čakať až do prvého dňa alebo dokonca niekoľko týždňov po uvedení na trh.
4. Kto sa podieľa na beta testovaní?
– Beta testeri
Zvyčajne nie sú prepojení so spoločnosťou a nemajú žiadne predchádzajúce znalosti o produkte a o tom, ako do seba zapadá jeho vnútorný kód.
– Vedúci pracovníci zabezpečenia kvality
Definujú celkovú stratégiu QA a sú zodpovední za to, ktoré konkrétne metódy a kontroly testovací tím použije.
– Alfa testeri
Kontroly vykonávajú pred začatím beta testovania, aby zaručili, že interné systémy fungujú tak, ako majú, a sú pripravené pre budúcich testerov.
– Vývojári softvéru
Informácie, ktoré im poskytnú beta testeri, využijú na čo najrýchlejšiu nápravu problémov – môže to byť ešte pred uvedením na trh.
Výhody beta testovania
Medzi výhody beta testovania pri testovaní softvéru patria:
1. Odráža skúsenosti používateľov
Beta testeri nemajú dôverné znalosti o softvéri a môžu byť osobne neskúsení s kódovaním – to znamená, že lepšie reprezentujú pohľad koncového používateľa.
Beta testeri môžu pracovať s programom presne tak, ako by s ním pracovali zákazníci, a umožniť tak vývojárom zistiť, ako dobre ich aplikácia sprostredkúva používateľom svoje funkcie. Je to veľmi dôležité, pretože vývojári a interní pracovníci QA už poznajú fungovanie týchto aplikácií a ich funkcie.
2. Zvyšuje pokrytie testov
Beta testy zahŕňajú rôzne kontroly, ktoré interné tímy bežne nevykonávajú, vrátane testov, ktoré skúmajú potenciálne vstupy používateľov. Každý nový test, ktorý je súčasťou stratégie zabezpečenia kvality spoločnosti, zvyšuje celkové testovacie pokrytie každej aplikácie. Toto percento vyjadruje, ako dôkladný je súčasný proces testovania, a ukazuje, ktorým komponentom by bolo vhodné venovať viac pozornosti; pri beta testovaní softvéru je vždy cieľom vysoké pokrytie testami.
3. Nákladovo efektívne
Hoci pridanie nového typu testovania môže výrazne zvýšiť náklady projektu, najmä ak je potrebné zamestnať externých pracovníkov, beta testy sú veľmi nákladovo efektívne.
Zvýšené pokrytie môže dokonca ušetriť tímu veľa peňazí v ďalšom období; podľa odhadov IBM je oprava týchto problémov po vydaní až 15-krát drahšia. Stratégia citlivého beta testovania môže tímom pomôcť ľahko znížiť náklady na opravu chýb.
4. Diverzifikované zariadenia
Beta testovanie by mohlo zahŕňať používanie vlastných zariadení testerov, čo by tímu pomohlo vykonávať tieto kontroly na väčšom počte strojov. Aplikácia môže mať napríklad problémy s fungovaním na určitých grafických kartách alebo bez dostatočnej pamäte a beta testy môžu tieto problémy odhaliť.
V závislosti od vášho prístupu môžu beta testeri na vykonanie týchto testov použiť externú platformu a dokonca simulovať zariadenia pomocou testovania naprieč prehliadačmi.
Výzvy beta testovania
Beta testy sú spojené aj s rôznymi výzvami vrátane:
1. Vyžaduje špecifické zručnosti
Hoci cieľom je vždy simulovať skúsenosti používateľa a kódovacie schopnosti akéhokoľvek druhu nie sú potrebné, tím beta testovania by mal mať aj tak spoľahlivé zručnosti v oblasti zabezpečenia kvality.
Musia byť schopní skontrolovať každý komponent výlučne metódami čiernej skrinky, pričom musia vystihovať prístup koncového používateľa. Táto rovnováha je kľúčovou súčasťou každého beta testovania a zvyčajne si vyžaduje skúseného beta testera.
2. Obmedzený čas
Keďže beta testovanie prebieha v čase, keď je produkt v podstate pripravený, aj malé oneskorenie harmonogramu môže ovplyvniť testerov a ich schopnosť dôkladne testovať.
Ich kontroly môžu dokonca presiahnuť až do vydania produktu, hoci vývojári môžu aj po tomto okamihu vykonať akékoľvek kritické zmeny ako opravu. To môže stále vytvárať tlak na testerov, aby kontroly vykonali rýchlo, čo môže obmedziť ich presnosť v procese.
3. Nesystematické podávanie správ
Postupy podávania správ pri beta testovaní sú vo všeobecnosti menej dôkladné ako pri iných formách zabezpečenia kvality, takže vývojári môžu mať viac času na reakciu na spätnú väzbu. Je možné to zmierniť prostredníctvom podrobných testovacích prípadov alebo softvéru na beta testovanie, ktorý by mohol automaticky generovať komplexný protokol. Vývojári tiež nie sú prítomní počas beta testov, čo môže predstavovať ďalšiu prekážku, ktorá ovplyvňuje to, ako dobre sa tieto problémy riešia.
4. Všeobecné požiadavky na zamestnancov
Počet beta testerov, ktorých spoločnosť potrebuje, závisí predovšetkým od rozsahu produktu – je možné, že nesprávne odhadne, koľko testerov je potrebných vzhľadom na rozsah ich produktu. To môže viesť k príliš veľkému počtu testerov, k výraznému vyčerpaniu zdrojov alebo k tomu, že testeri môžu mať problém adekvátne pokryť komponenty tohto softvéru. Tím pre zabezpečenie kvality projektu bude musieť dôkladne preskúmať požiadavky na pracovníkov beta testovania.
Ciele beta testovania
Hlavné ciele beta testovania pri testovaní softvéru sú nasledovné:
1. Riešenie chýb
Prakticky každá aplikácia má v počiatočných fázach vývoja problémy a beta testovanie umožňuje väčšie pokrytie a opravu chýb. Testeri môžu napríklad emulovať vstupy používateľov alebo úmyselné pokusy o prelomenie softvéru zahltením jeho databázy, čo testeri alfa verzie nemusia brať do úvahy.
Tím tak získava väčšiu dôveru v produkt a jeho nadchádzajúce prijatie.
2. Zlepšenie používateľskej skúsenosti
Beta testy sú hlavne z pohľadu používateľa a ukazujú, ako by k softvéru pristupovali ľudia bez znalostí. Ak majú testeri napríklad problémy so základnými funkciami programu, vývojári môžu potrebovať zjednodušiť rozhranie alebo implementovať lepšie výukové programy.
Vývojári potom môžu vykonať všetky potrebné zmeny, aby bol program prístupný pre všetkých používateľov.
3. Získajte úprimnú spätnú väzbu
Beta testeri môžu zostavovať skúšobné recenzie testovaného softvéru, čo vývojárom umožňuje získať skutočné názory používateľov, ktoré môžu ísť nad rámec testovacích prípadov.
Títo testeri môžu poskytnúť spätnú väzbu, ktorá zlepší produkt, aj keď nezodpovedá testovaciemu prípadu. To tiež ukazuje, ako bude cieľová skupina tímu reagovať na aplikáciu po jej vydaní.
Konkrétne… čo testujeme v rámci beta testovania?
Tu sú špecifické aspekty aplikácie, na ktoré sa beta testeri zameriavajú:
1. Stabilita
Beta testeri skúmajú aplikáciu, aby zistili, ako dobre funguje na rôznych počítačoch, čo zahŕňa aj to, ako ľahko sa dá softvér poškodiť alebo uľahčiť jeho zlyhanie.
Napríklad aplikácia závislá od databázy môže čeliť „slepej uličke“, ak dostane príliš veľa požiadaviek; beta testy ukazujú, koľko požiadaviek dokáže spracovať.
2. Spoľahlivosť
Cieľom tohto procesu je znížiť počet chýb v aplikácii, aby bola pre používateľov spoľahlivejšia; testovanie spoľahlivosti je zamerané na obmedzenie možnosti zlyhania.
Tester môže napríklad používať program dlhší čas a uviesť všetky problémy, na ktoré narazil, napríklad nesprávne vykreslenie vizuálneho prvku.
3. Funkčnosť
Schopnosť softvéru poskytovať zamýšľané funkcie je ďalšou kľúčovou súčasťou beta testovania. Beta testeri kontrolujú, či každá zložka funguje tak, ako má, a či sú všetky funkcie intuitívne.
Ak napríklad testeri zistia, že je ťažké využiť kľúčový predajný bod aplikácie, vývojári to musia okamžite napraviť.
4. Zabezpečenie
Tento prístup zahŕňa aj pokusy o narušenie aplikácie, najmä z hľadiska jej zabezpečenia. Beta tester sa môže pokúsiť použiť zadné vrátka na získanie administrátorských oprávnení, aby upozornil na existujúce zraniteľnosti. Môžu dokonca skontrolovať databázu a jej šifrovanie, pretože by mohla obsahovať súkromné informácie, ku ktorým by žiadny používateľ nemal mať prístup.
5. Príjem
To, ako publikum reaguje na aplikáciu, je dôležitou súčasťou procesu zabezpečenia kvality – a pomáha vývojárom zaručiť, že sú na správnej ceste. Beta testeri poskytujú svoj úprimný pohľad na program ako formu širokej spätnej väzby a zároveň ukazujú tímu, ako bude softvér pravdepodobne prijímaný verejnosťou.
Typy beta testov
Tu je päť hlavných typov beta testovania pri testovaní softvéru:
1. Otvorené beta testovanie
Otvorené beta testy sú plne dostupné verejnosti, čo umožňuje širšie spektrum pohľadov. Mohlo by ísť o prístup „opt-in“, pri ktorom sa každý používateľ, ktorý má záujem, môže na webovej lokalite spoločnosti prihlásiť ako beta tester.
V týchto prípadoch sú kontroly zriedkavo náročné a môžu zahŕňať len podávanie hlásení o chybách v reakcii na chyby.
2. Uzavreté beta testovanie
Uzavreté testy sú prístupné len súkromným skupinám, napríklad vlastnému výberu spoločnosti, čo dáva tímu väčšiu kontrolu nad tým, kto aplikáciu skontroluje. Môžu uprednostniť beta testerov, ktorí tvoria ich cieľovú skupinu, čo im umožní zistiť, ako by rôzne skupiny ľudí pravdepodobne reagovali na nuansy tohto softvéru.
3. Technické beta testovanie
Technické beta testy sa zameriavajú na konkrétne komponenty z technického hľadiska; hoci ich cieľom je zastupovať koncových používateľov, tieto kontroly si vyžadujú viac odborných znalostí. Je to potrebné na odhalenie zložitých chýb, ktoré môžu mať vplyv na používateľský zážitok, ale na ktorých odhalenie je potrebný viac ako len zbežný pohľad; tieto kontroly si vyžadujú hlbší pohľad.
4. Cielené beta testovanie
Niektoré komponenty sú náchylnejšie na problémy ako iné, napríklad databáza zvyčajne spolupracuje s mnohými funkciami aplikácie, takže jej chyby môžu ovplyvniť celý program. Zamerané beta testy sa zameriavajú na konkrétne časti softvéru, ako aj na jednotlivé funkcie, aby sa zabezpečilo, že sa nevyskytnú žiadne závažné problémy.
5. Beta testovanie po vydaní
Niektoré beta testy sa uskutočňujú až po vydaní aplikácie, čo pomáha tímu zachytiť prípadné problémy, ktoré si používatelia ešte nevšimli. Kontrola po vydaní môže pomôcť aj pri beta testovaní aktualizácií softvéru a nových funkcií, aby sa zabezpečilo, že všetky doplnky spĺňajú rovnaké normy ako zvyšok aplikácie.
Stratégie pre beta testovanie
Počas beta testovania by ste mali realizovať rôzne plány a stratégie, ako napríklad:
1. Vhodne naplánujte testy
Keďže beta testovanie sa zvyčajne uskutočňuje v blízkosti vydania produktu, testovacie tímy sa musia uistiť, že vyvážia fázu zabezpečenia kvality, aby uľahčili každý test, ktorý chcú realizovať.
Vývojári musia napríklad informovať testerov o všetkých oneskoreniach projektu a testeri by mali posúdiť, ktoré kontroly sú najdôležitejšie, aby sa prispôsobili rýchlo sa blížiacim termínom.
2. Zameranie na ciele testovania
Každá stratégia testovania závisí od jasného zamerania, ktoré môže ľahko motivovať každého testera. Tím môže napríklad určiť priority konkrétneho komponentu, od ktorého aplikácia závisí.
Cieľom testerov môže byť určité percento pokrytia alebo aplikácia, ktorú môžu voľne používať dlhší čas bez toho, aby narazili na chyby.
3. Najmite si správnych testerov
Skúsení testeri vedia, ako pristupovať k softvéru ako používateľ a zároveň sa hlboko pozrieť na skúsenosti s konkrétnym programom, čo môže byť potrebné aj pri technických beta testoch.
Aplikácie vhodné pre široké publikum (napríklad videohry alebo mobilné aplikácie) by mohli mať väčší úžitok z otvorených bet, ktoré odrážajú rôznorodé používateľské základne všetkých úrovní zručností.
4. Konajte na základe spätnej väzby od testerov
Tím musí rýchlo reagovať na spätnú väzbu od beta testerov; to pomáha udržať angažovanosť testerov a umožňuje vývojárom začať pracovať na oprave chyby. V tejto fáze vývoja programu je najdôležitejšia rýchlosť, pretože dátum vydania je zvyčajne krátko po začatí procesu beta testovania.
Proces beta testovania
Tu je šesť hlavných krokov beta testovania aplikácie:
1. Príprava beta testu
Tím musí navrhnúť pevný počet testerov, ktorý by zodpovedal rozsahu aplikácie, pretože niektoré aplikácie vyžadujú viac ako 300 beta testerov. Mali by tiež určiť, ktoré typy beta testovania sa majú použiť a ako môžu doplniť fázu alfa testovania.
2. Nábor beta testerov
Po stanovení prístupu k beta testovaniu musí tím pre zabezpečenie kvality získať externých testerov pomocou preferovaných kanálov. Môžu to otvorene inzerovať na svojich sociálnych sieťach alebo využiť testovaciu spoločnosť; mali by tiež zabezpečiť dostatok času na nábor.
3. Vydanie beta programu
Keď sú aplikácia a testeri pripravení začať, spoločnosť uvoľní beta aplikáciu a rozošle pozvánky beta testerom. Testeri kontrolujú program prostredníctvom zdĺhavých procesov, ktoré môžu trvať aj niekoľko týždňov, a zaznamenávajú všetky problémy alebo relevantné pripomienky.
4. Zbieranie spätnej väzby od testerov
Po skončení kontroly beta testeri poskytnú svoje názory na softvér a podrobné správy o chybách, na ktoré narazili. Tím sa môže tiež porozprávať s beta testermi, aby získal viac informácií o problémoch a ich možných príčinách.
5. Aktualizácia aplikácie
Na základe informácií získaných z týchto kontrol a výslednej spätnej väzby môžu vývojári začať meniť aplikáciu a opravovať zistené chyby. Na opravu niektorých zmien bude možno potrebné počkať až do ich uvedenia na trh, pretože beta testovanie je často časovo náročné.
6. V prípade potreby vykonajte opakovaný test
Interní testeri zvyčajne kontrolujú aplikáciu po fáze odstraňovania chýb, aby sa uistili, že tieto problémy už nie sú prítomné. Spoločnosť môže opätovne zapojiť beta testerov, ak program prejde nejakou významnou aktualizáciou, ktorá pravdepodobne ovplyvní jeho funkčnosť vrátane nových funkcií.
Fázy beta testovania
Beta testy prebiehajú vo viacerých fázach, ktoré sú zvyčajne nasledovné:
1. Plánovanie
V tejto fáze interný tím zostaví dokument o cieľoch svojho všeobecného prístupu k beta testovaniu vrátane toho, či chce mať otvorenú beta verziu.
Fáza plánovania si vyžaduje vstup všetkých zainteresovaných strán; vedúci tímov a riadiaci pracovníci musia mať rovnaké ciele.
2. Nábor zamestnancov
Ďalšia fáza zahŕňa výber testerov a ich zapracovanie; testeri tak majú možnosť získať predbežnú predstavu o aplikácii.
To musí presne zodpovedať požiadavkám projektu. Napríklad aplikácie vhodné pre akýkoľvek vek by mali na kontrolu použiteľnosti využívať testerov z rôznych vekových skupín.
3. Testovanie
Fáza testovania zahŕňa tri zložky – riadenie zapojenia, riadenie spätnej väzby a distribúciu výsledkov. Tieto procesy zahŕňajú zabezpečenie zapojenia testerov, organizáciu spätnej väzby od testerov a zabezpečenie toho, aby vývojári dostali výsledky. Beta testy sa zvyčajne vykonávajú v šprintoch trvajúcich 1-2 týždne, čo umožňuje dostatočné pokrytie a čas na opravy.
4. Zhrnutie
Po ukončení testovania tímy uzavrú testovací cyklus a pripravia sa na vydanie produktu. To by mohlo zahŕňať aj vypracovanie správy o následných opatreniach.
Vstupné kritériá pre beta testovanie
Medzi všeobecné vstupné kritériá pre beta testy patria:
1. Vhodný testovací tím
Primeraný tím beta testerov je pravdepodobne najdôležitejším vstupným kritériom pre tieto kontroly, pretože to ovplyvňuje spôsob, akým sa s aplikáciou pracuje. Napríklad beta test videohry by mal reprezentovať všetky aspekty cieľového publika – vrátane amatérskych a skúsených hráčov.
2. Alfa testovanie je ukončené
Beta testovanie by sa malo začať po tom, ako interný tím dokončí alfa testovanie; to upozorní na väčšinu problémov so softvérom. Stále však existujú určité medzery v zabezpečení kvality, ktoré dokážu primerane vyriešiť len beta testy a výlučne prístup „čiernej skrinky“.
3. Aplikácia pripravená na beta verziu
Samotná aplikácia by mala mať funkčnú beta verziu, ktorá je plne aktualizovaná a obsahuje všetky kompletné funkcie. Malo by ísť o nezávislé testovacie prostredie, v ktorom prípadné chyby, na ktoré beta tester narazí, neovplyvnia celkový program ani postup ostatných testerov.
4. Beta testovanie softvéru
Testeri môžu využiť program, ktorý im pomôže s beta testami; ten môže dokonca implementovať automatizáciu robotických procesov na zvýšenie presnosti v každej fáze. Interný tím rozhoduje najmä o tom, ktorú aplikáciu budú beta testeri používať, a musí starostlivo vybrať najkompatibilnejšiu možnosť.
Kritériá ukončenia beta testovania
Kritériá pre ukončenie beta testov zahŕňajú:
1. Zistené problémy sú opravené
Jednou z kľúčových požiadaviek na ukončenie fázy beta testovania je, aby vývojári opravili každý problém, na ktorý upozornia testeri, podľa svojich najlepších schopností. Keď tím identifikuje a odstráni problémy, testeri môžu dokončiť svoju prácu.
2. Zhrnutie ukončeného beta testu
Po skončení kontroly zostavili beta testeri zhrnutia svojich testov spolu s problémami, s ktorými sa počas nich stretli. Táto správa slúži ako užitočný zdroj pri testovaní budúcich verzií produktu alebo akéhokoľvek podobného softvéru, ktorý spoločnosť vytvorí.
3. Záver testovacej fázy
Tím by mal formálne ukončiť fázu testovania po tom, ako beta testeri ukončia svoje kontroly; to znamená, že fáza zabezpečenia kvality je ukončená. Podpísanie tohto dokumentu slúži aj ako spôsob, ako zabezpečiť, aby tím pokračoval vo vydávaní produktu.
4. Výrobok pripravený na expedíciu
Mnohé projekty ukončia fázu beta testovania dodaním produktu, najmä preto, že aplikácia môže byť v tomto bode funkčne kompletná. Je možné, že beta testy sa uskutočnia až po vydaní, hoci zvyčajne len vtedy, ak dôjde k oneskoreniu projektu.
Typy výstupov z beta testov
Beta testy prinášajú niekoľko dôležitých výstupov vrátane:
1. Výsledky testov
Beta testy poskytujú testerom a vývojárom významné množstvo údajov o tom, či je produkt pripravený na vydanie. Ak tím zabezpečenia kvality určil konkrétne kontroly, ktoré beta testeri použili, porovná výsledky s plánovanými výsledkami. Tieto výsledky môžu zahŕňať mieru úspešnosti testov, frekvenciu zlyhaní a dokonca aj skóre použiteľnosti systému.
2. Testovacie protokoly
Hoci sa beta testeri zvyčajne pozerajú na projekty len z pohľadu čiernej skrinky, ich činnosti stále generujú údaje v internom denníku programu. Vývojári to môžu využiť na izolovanie súborov, ciest a dokonca aj presných riadkov kódu, ktoré sú zodpovedné za vzniknuté problémy. Tieto protokoly môžu napríklad ukázať, či je systém výrazne zaťažený.
3. Testovacie správy
Tieto výsledky nakoniec tvoria podstatnú časť zhrnutia beta testovania, ktoré sa spája s konkrétnymi závermi a myšlienkami testera o aplikácii. Ak majú beta testeri dostatok skúseností, mohli by navrhnúť, ako môžu vývojári začať riešiť chyby softvéru. Správy z beta testov zvyčajne obsahujú prehľad funkčnosti, spoľahlivosti, bezpečnosti, stability a všeobecnú spätnú väzbu od testerov.
Spoločné metriky beta testovania
Takmer každý beta test generuje jedinečné metriky, ako napr:
1. Počet neúspešných testov
Ak aplikácia pri niektorej z kontrol zlyhá, je užitočné, aby si testeri viedli záznamy o tom, s koľkými testami by mal program problémy. Môže to byť počet, ale aj zlomok alebo percento z celkového počtu testov.
2. Percentuálne pokrytie testov
Čím vyššie je pokrytie testov, tým istejšie si môže byť tím istý, že sa mu podarí odhaliť čo najviac chýb. Beta testeri by sa mali zamerať na softvérové komponenty s nižším relatívnym pokrytím, aby sa zabezpečilo, že budú fungovať presne tak, ako to zamýšľali vývojári.
3. Spokojnosť zákazníkov
Beta testeri môžu poskytnúť skóre spokojnosti zákazníkov (alebo CSAT), ktoré sleduje skutočnú odozvu testera na produkt vrátane úrovne jeho spokojnosti. Zvyčajne má podobu stupnice od 1 do 5, pričom nižšie skóre znamená nespokojnosť, zatiaľ čo 5 znamená úplnú spokojnosť.
4. Hustota bezpečnostných zraniteľností
Pri kontrole možnosti výskytu bezpečnostných problémov mohli beta testeri sledovať celkovú hustotu zraniteľností v programe. Vďaka tomu získajú testeri a vývojári jasnú predstavu o všeobecnej bezpečnosti aplikácie vrátane pohľadu na najvýraznejšie bezpečnostné chyby v softvéri.
5. Čisté promoter skóre
Podobne ako pri spokojnosti zákazníkov, aj pri skóre čistých podporovateľov programu (NPS) sa skúma, ako by na aplikáciu pravdepodobne reagovali skutočné skupiny používateľov. Hodnotí sa na 10-bodovej stupnici, pričom 9 až 10 bodov znamená „podporovateľov“, 7 až 8 bodov je „pasívnych“ a všetko, čo je pod touto hodnotou, predstavuje „odporcu“.
6. Špičkový čas odozvy
Problémy môže spôsobovať čas, ktorý databáza potrebuje na načítanie informácií, a všeobecne čas, ktorý aplikácia potrebuje na dokončenie požiadavky. Dohertyho prahová hodnota naznačuje, že špičkový čas nad 400 milisekúnd by mohol zabrániť používateľom, aby sa zapojili do práce so softvérom.
Typy chýb a nedostatkov zistených pri beta testovaní
Tu sú niektoré z chýb, ktoré môže pomôcť odhaliť beta testovanie pri testovaní softvéru:
1. Nefunkčná funkcia
Hlavným problémom, ktorý môžu odhaliť beta testy, je, ak niektorá z funkcií nefunguje v akejkoľvek situácii. Môže ísť o súvislosti, na ktoré iní testeri nemyslia, preto je veľmi dôležité, aby tímy využívali beta testovanie na hľadanie problémov novými spôsobmi.
2. Bezpečnostná zraniteľnosť
Beta testovanie môže odhaliť viacero možných bezpečnostných chýb, ktoré môžu zahŕňať aj zadné dvierka pre správu, ku ktorým majú používatelia prístup. Tieto kontroly majú zásadný význam pre zaistenie bezpečnosti aplikácie a jej odolnosti voči kontrole používateľov.
3. Všeobecná havária
Akýkoľvek počet vstupov môže viesť k pádu – beta testeri skontrolujú čo najviac reálnych vstupov používateľa, aby sa uistili, že neexistujú žiadne spúšťače pádu. Ak program pri vykonaní určitej akcie používateľom spadne, vývojári to musia opraviť.
4. Nekompatibilita zariadenia
Beta testy skúmajú väčší rozsah zariadení ako iné fázy zabezpečenia kvality a využívajú na to testovanie naprieč prehliadačmi. Tieto testy odhalia, ako dobre aplikácia funguje na rôznych počítačoch, pretože drobné rozdiely v architektúre môžu výrazne ovplyvniť výkon programu.
5. Pomalý výkon
Tieto kontroly ukazujú, či existujú situácie alebo vstupy, ktoré výrazne spomaľujú program, čo vedie k výraznému oneskoreniu pre koncového používateľa. To by mohlo mať vážny vplyv na to, ako sa používateľovi tento softvér páči, preto je dôležité to napraviť.
Príklady beta testov
Tu sú tri hlavné príklady beta testovania:
1. Aplikácia pre Android
Beta testovanie aplikácie pre Android zahŕňa spustenie programu na vhodnom zariadení – prípadne na viacerých zariadeniach kvôli testovaniu kompatibility – a kontrolu prípadných viditeľných chýb. Keďže tieto aplikácie sú veľmi zložité, spoločnosť môže potrebovať až 300 beta testerov.
Mnohé aplikácie otvorene inzerujú dostupné beta testy pred uvedením na trh a po ňom, čo firme umožňuje zabezpečiť úplné pokrytie z mnohých rôznych hľadísk. Tieto testy sa môžu zamerať na konkrétne funkcie tejto mobilnej aplikácie a ich vzájomnú interakciu.
2. Videohra
Videohry prechádzajú zdĺhavým procesom beta testovania vzhľadom na ich komplexnosť, pričom sa skúma každý aspekt hry, od jej enginu až po výkon a grafickú vernosť.
Tie môžu byť prístupné výlučne pre ľudí, ktorí si hru predobjednali, alebo aj pre všetkých záujemcov, hoci je potrebné aj súkromné beta testovanie. V prípade hier pre viacerých hráčov dávajú otvorené bety vývojárom príležitosť skontrolovať svoj sieťový kód a zistiť, ako dobre zvláda vysoký počet hráčov.
3. Webová stránka
Firemná webová stránka – najmä tá s funkciami elektronického obchodu – si tiež vyžaduje dôkladné beta testovanie predtým, ako ju firma spustí pre verejnosť. Beta testeri by mali preskúmať každú stránku, aby sa uistili, že sa dobre zobrazuje na rôznych zariadeniach a že zahrnuté webové aplikácie fungujú.
V prípade maloobchodných stránok sa testeri môžu pokúsiť dokončiť nákup a zistiť, či to prejde systémom. Beta testeri musia tiež skontrolovať funkčnosť stránky vo všetkých populárnych internetových prehliadačoch.
Manuálne alebo automatizované beta testy?
Automatizácia môže zvýšiť účinnosť akejkoľvek stratégie testovania, výrazne znížiť riziko ľudskej chyby a zároveň pracovať oveľa rýchlejšie. Tým sa zvyšuje pokrytie a celková spoľahlivosť fázy zabezpečenia kvality projektu – zvyčajne s pomocou aplikácie tretej strany.
Je dôležité, aby tímy preskúmali všetky možné platformy, ktoré by mohli automatizovať ich testy; každá z nich má iné funkcie, ktoré môžu byť kompatibilnejšie s konkrétnymi typmi softvéru. Tento prístup je však vo všeobecnosti obmedzený z hľadiska ľudského faktora; väčšina beta testov sa spolieha na pohľad používateľa.
Automatizácia môže tieto problémy obísť, napríklad počítačové videnie pomáha automatizačnému softvéru pozerať sa na problémy z ľudského pohľadu. Hyperautomatizácia by tiež mohla pomôcť tímom kalibrovať ich stratégiu testovania spôsobom, ktorý inteligentne použije automatizáciu tam, kde je to vhodné, bez jej nadmerného využívania.
V oboch prípadoch závisí prístup tímu (a jeho prípadný úspech) od programu, ktorý implementuje, a jeho funkcií. Beta testeri sú pre tento proces stále potrební a vedúci pracovníci zabezpečenia kvality musia vykonať audit svojej celkovej stratégie, aby zistili, ktoré kontroly by mali mať prospech z automatizácie a ktoré by mali uprednostniť ľudských testerov.
Najlepšie postupy pre beta testovanie
Tu sú niektoré z osvedčených postupov, ktoré by mali tímy beta testovania zaviesť:
1. Zvážte zákazníka
Základom každého beta testu je zákaznícka skúsenosť a kontroly, ktoré tento tím vykonáva, ju musia podľa možnosti odrážať. Testeri by mali napríklad preskúmať rozhranie a zistiť, ako intuitívne by bolo pre skúsených používateľov v danom sektore.
2. Kontrola mimo cieľovej skupiny
Žiadny produkt alebo aplikácia nemá len používateľov z cieľovej skupiny a niekto môže program tohto typu používať prvýkrát. Napríklad beta testeri môžu pristupovať k videohre, ako keby ju nikdy predtým nehrali, aby sa uistili, že je užívateľsky prívetivá.
3. Rôznorodý sortiment testerov
Podobne je dôležité kontrolovať programy s testermi z rôznych prostredí, pretože to umožňuje tímu získať úplný obraz o tom, ako budú zákazníci reagovať. Rozdiely v skúsenostiach môžu viesť aj k tomu, že beta testeri budú softvér skúmať rôznymi spôsobmi.
4. Podporovať neustálu komunikáciu
Medzi testermi a vývojármi by mohli vzniknúť informačné silá – najmä ak sú testeri z externého prostredia. To znamená, že vedúci pracovníci zabezpečenia kvality by mali uľahčiť komunikáciu medzi týmito dvoma tímami, aby sa uistili, že vývojári dostanú informácie, ktoré potrebujú na opravu chýb.
5. Starostlivo vyberte testovaciu stratégiu
Niektorým produktom viac prospeje otvorená beta verzia, ktorá v krátkom čase poskytne rozsiahlu spätnú väzbu, ale existuje veľa aplikácií, ktoré si vyžadujú súkromné testovanie. Tímy musia preskúmať tento softvér a určiť, ktorý prístup by bol najvhodnejší.
6. Ponuka stimulov
Neplatení beta testeri potrebujú za svoju službu nejakú odmenu – a skorý prístup do programu nemusí byť dostatočný. Môžu byť uvedení v titulkoch softvéru alebo dostať inú formu daru, ktorá ich povzbudí k čo najlepšej práci.
Čo potrebujete na spustenie beta testovania?
Pred začatím beta testovania je potrebné splniť niekoľko dôležitých podmienok vrátane:
1. Komplexná stratégia testovania
Aj keď je beta testovanie relatívne voľné, najmä v prípade otvorenej beta verzie, je zvyčajne potrebný dôkladný plán, aby sa zabezpečilo, že každá zložka dostane dostatok pozornosti od testerov. Tím zabezpečenia kvality by mal vedieť, čo projekt vyžaduje, napríklad konkrétne beta kontroly, ktoré plánuje vykonať.
Ak má napríklad program nejaké zložky, ktoré si vyžadujú väčšie zameranie, stratégia tímu sa tomu musí prispôsobiť.
2. Motivovaní testeri
Tím tiež potrebuje testerov, ktorí sú dostatočne motivovaní, aby pomohli s procesom beta verzie. V závislosti od konkrétnych kontrol môže mať spoločnosť prospech z testerov, ktorí sú vysoko odborne zdatní v oblasti zabezpečenia kvality a dokážu presne posúdiť, ako ich činnosť ovplyvňuje túto aplikáciu.
Vedúci tímu si musia byť istí výberom testerov vrátane toho, či sú schopní odrážať celé spektrum publika produktu.
3. Beta testovanie softvéru
Testovacie nástroje, vrátane tých s automatizačnými funkciami, majú svoje miesto v takmer každom pláne zabezpečenia kvality; dokonca aj v beta testoch, ktoré sa zvyčajne spoliehajú na ľudský pohľad. To môže pomôcť tímu implementovať automatizáciu robotických procesov – tá využíva softvérové roboty na vykonávanie rôznych testovacích úloh bez pomoci ľudského beta testera. Program, ktorý používajú, závisí od konkrétnych potrieb testovania aktuálneho projektu.
4. Beta program
Keďže beta testovanie sa začne po dokončení alfa testovania, tím bude musieť pracovať s najaktuálnejším programom; ten by mal byť takmer kompletný. Táto aplikácia by mala byť úplne oddelená, aby sa zabezpečilo, že vydrží mnoho možných spôsobov, ktorými by ju mohol beta tester poškodiť bez toho, aby poškodil skutočný softvér. V mnohých prípadoch bude mať beta program málo problémov vďaka komplexnému alfa testovaniu.
7 chýb a nástrah pri realizácii beta testov
Pri každej stratégii testovania sa testeri môžu dopustiť mnohých chýb. Tu je sedem chýb, ktorých by sa mali beta testeri vyvarovať:
1. Nepružný rozvrh
Oneskorenia sú bežné v každom softvérovom projekte a testovací tím by sa im mal prispôsobiť v každej fáze. Beta testovanie prebieha v blízkosti vydania, takže môže utrpieť, ak dôjde k zmenám v časovom pláne produktu. Testeri by mohli mať problém dokončiť svoje kontroly vzhľadom na tieto oneskorenia.
2. Nemotivovaní testeri
Najmä otvorené beta testy by mohli mať problém povzbudiť svojich testerov, aby nahlasovali nájdené chyby – v niektorých prípadoch by to mohli považovať za bezplatné vyskúšanie softvéru. Tím musí ponúkať stimuly, ktoré podporujú komunikáciu a komplexné podávanie správ, inak sa môže stať, že testeri nezaznamenajú žiadne problémy.
3. Obmedzené zastúpenie publika
Keďže beta testy vo všeobecnosti simulujú skúsenosti používateľov, pomáha to testerom približne odrážať cieľovú skupinu aplikácie. Na tento účel môže byť dôležité informovať beta testerov o ľuďoch, ktorí budú produkt používať; hoci aj iné pohľady môžu pomôcť zabezpečiť, aby bol softvér užívateľsky prívetivý.
4. Obmedzené zariadenia
Testovanie naprieč prehliadačmi a skúmanie rôznych zariadení je nevyhnutné na to, aby bola aplikácia použiteľná pre čo najviac ľudí. Toto je výraznejšie vo fáze beta testovania; tím musí zabezpečiť, aby kontroly vždy reprezentovali širokú škálu potenciálnych zariadení.
5. Nedostatok testerov
Počet potrebných beta testerov sa v jednotlivých projektoch líši, ale nesprávny odhad môže spôsobiť vážne problémy. Napríklad príliš veľa testerov by mohlo vážne vyčerpať zdroje vrátane peňazí.
Prípadne nedostatočný počet testerov môže mať problém zabezpečiť silné testovacie pokrytie všetkých komponentov aplikácie.
6. Žiadny plán testovania
Fáza beta testovania je málokedy úspešná, ak testeri jednoducho používajú softvér a poskytujú neurčitú spätnú väzbu. Tím zabezpečenia kvality musí zostaviť komplexné plány, ktoré podrobne popisujú jednotlivé zložky a konkrétne kontroly.
V prípade otvorenej beta verzie musia mať testeri jasný spôsob, ako nahlásiť všetky problémy, na ktoré narazia.
7. Neúčinný testovací nástroj
Testovacie tímy nemôžu jednoducho implementovať prvý alebo najlacnejší testovací nástroj, ktorý nájdu. Namiesto toho by mali hľadať možnosť, ktorá zodpovedá ich projektu a jeho presným potrebám. Využitím tohto času by sa mohlo predísť vážnym dlhodobým problémom pri testovaní a zároveň by sa testerom umožnilo lepšie využívať funkcie testovacieho nástroja.
5 najlepších nástrojov beta testovania
Tu je päť najefektívnejších platených alebo bezplatných softvérových nástrojov na beta testovanie:
1. ZAPTEST FREE & ENTERPRISE edície
ZAPTEST ponúka bezplatné aj platené nástroje na beta testovanie, ktoré pomáhajú spoločnostiam v celej fáze zabezpečenia kvality s akýmkoľvek rozpočtom.
ZAPTEST poskytuje dôkladnú automatizáciu testovania v rôznych prehliadačoch, zariadeniach, aplikáciách a platformách, čo umožňuje beta testerom kontrolovať svoje programy na hlbšej úrovni. Zatiaľ čo bezplatná verzia má množstvo užitočných funkcií, verzia Enterprise zahŕňa špecializovaného experta ZAP, ktorý pracuje spolu s tímom klienta, najmodernejšie funkcie RPA bez dodatočných nákladov a neobmedzený počet licencií.
2. Instabug
Instabug pomáha beta testerom kontrolovať celý rad mobilných aplikácií vo všetkých hlavných operačných systémoch, pričom ponúka úplnú analýzu zlyhaní a záznamy o vstupoch používateľov. Tento platený nástroj uľahčuje testerom posielanie hlásení o chybách pri kontrole programu.
Používatelia však uvádzajú, že táto platforma je pomerne drahá a že tento softvér má obmedzené funkcie pre webové aplikácie a iné typy programov, takže je užitočný len v určitých kontextoch.
3. BrowserStack
BrowserStack dokáže simulovať viac ako 3 000 zariadení na alfa aj beta testovanie, čím zabezpečuje plne doplnkový testovací proces. Platforma obsahuje aj podrobné funkcie protokolovania, ktoré umožňujú testerom identifikovať hlavnú príčinu problémov a čo najskôr ich oznámiť vývojárom.
Toto riešenie je najefektívnejšie pri webových alebo mobilných aplikáciách a má obmedzené možnosti využitia pre iný softvér – pre začínajúcich testerov môže byť tiež náročné naučiť sa túto platformu.
4. TestFairy
TestFairy sa špecializuje na mobilné aplikácie so silným zameraním na beta testovanie Androidu a dokáže zaznamenávať činnosti testerov (vrátane ich konkrétnych vstupov), aby bolo opakovanie ich zistení oveľa jednoduchšie. Každý, kto sa podieľa na vývoji, si môže pozrieť výsledné videá a využiť ich na svoje zlepšenia.
Avšak cena a obmedzený počet kompatibilných zariadení sú opäť možnými problémami, na ktoré by používatelia mali pri výbere testovacieho nástroja dbať.
5. TestFlight
TestFlight je program spoločnosti Apple určený špeciálne na beta testovanie aplikácií pre iOS. Preto je obzvlášť obmedzený pre iné programy vrátane rôznych typov mobilných aplikácií.
TestFlight umožňuje vývojárom aplikácií jednoducho distribuovať nové verzie programu testerom a môže sa pochváliť jednoduchým procesom nastavenia. Táto platforma je síce pre vývojárov aplikácií pre iOS celkom užitočná, ale aj v tomto kontexte podporuje iba systém iOS 8 a novší.
Kontrolný zoznam beta testovania, tipy a triky
Tu je niekoľko ďalších tipov, ako čo najlepšie využiť beta testovanie pri testovaní softvéru:
1. Zjednodušenie dokumentácie
Čím jednoduchšie je pre beta testerov (všetkých druhov) nahlasovať problémy, na ktoré narazia, tým presnejší a efektívnejší je celkový proces testovania. Je dôležité, aby testovací tím zdokonalil obvyklé kanály nahlasovania spätnej väzby, aby tieto kontroly prebiehali plynulejšie.
2. Pokračovanie v opakovaní beta testov
Každý beta test, ktorý spoločnosť vykoná, by mal byť informáciou o tom, ako zdokonaľovať budúce kontroly, aby sa prispôsobili jej bežným projektom. Tieto skúsenosti zlepšujú proces beta testovania a zabezpečujú, že sa programy vždy skúmajú spôsobom, ktorý vyhovuje spoločnosti a jej jedinečným požiadavkám.
3. Používajte automatizáciu striedmo
Hoci taktiky, ako je robotická automatizácia procesov, môžu mať významný pozitívny vplyv na beta testy tímu, tím ich musí implementovať s rozumom. Automatizácia každej kontroly môže obmedziť ich presnosť, najmä preto, že mnohé beta testy sa spoliehajú na špecifické skúsenosti koncových používateľov.
4. Prinúťte testerov podpísať NDA
Súkromní beta testeri sa môžu pozerať na citlivý softvér a pre organizácie a vývojárov je veľmi dôležité chrániť ich záujmy. Z tohto dôvodu môže firma prinútiť testerov podpísať dohodu o mlčanlivosti, aby neprezradili žiadne tajné informácie o programe.
5. Podpora beta testerov
Spoločnosť a jej interní pracovníci zabezpečujúci kvalitu by mali byť k dispozícii na pomoc vo fáze beta testovania – táto podpora môže byť neoceniteľná. Testujúci môžu napríklad potrebovať pomoc pri ovládaní programu alebo sa môžu chcieť spýtať na všeobecné otázky týkajúce sa aplikácie.
6. Podporovať slobodu testera
Hoci je táto podpora niekedy nevyhnutná na zabezpečenie dôkladného beta testovania, je tiež dôležité, aby spoločnosť umožnila testerom dokončiť kontrolu ich vlastným tempom. Testujúci by mal byť schopný poskytnúť úprimnú spätnú väzbu; to je možné len pri úplnej slobode používateľa.
Záver
Beta testovanie je potrebné pre takmer každý softvérový projekt, pretože umožňuje zohľadniť používateľov a ich jedinečné skúsenosti so softvérom. Spoločnosti sa môžu rozhodnúť integrovať automatizáciu do svojich plánov beta testovania, ale stále musia v každej fáze zohľadňovať ľudský pohľad. Špecifiká stratégie firmy závisia od projektu a prístupu, ktorý najlepšie vyhovuje jeho požiadavkám, vrátane úrovne zručností každého testera.
Bez ohľadu na aktuálny rozpočet testovacieho tímu dokáže ZAPTEST Free alebo Enterprise uľahčiť intuitívne beta kontroly v širokom spektre zariadení a zabezpečiť vysoké štandardy v celom procese zabezpečenia kvality.