Prieskumné testovanie je špecifický typ testovania softvéru, ktorý má pre aplikáciu mnoho výhod a umožňuje jej naplno využiť svoj potenciál.
Spôsob, akým tím začlení prieskumné testovanie do svojich rutinných kontrol, môže dokonca rozhodnúť o tom, ako dobre bude softvér fungovať, najmä ak sa tým pristupuje k testovacím postupom novým a neočakávaným spôsobom. To pomáha testerom odhaliť problémy v aplikácii, ktoré by inak mohli zostať nepovšimnuté až do spustenia a spôsobiť nefunkčnosť kľúčových funkcií.
Pochopenie procesov, typov a prístupov prieskumného testovania by vám mohlo pomôcť usmerniť organizáciu a jej testovacie tímy, ako ho začleniť do svojich bežných kontrol.
Existuje aj niekoľko bezplatných nástrojov, ktoré môže tím používať na uľahčenie týchto kontrol a na zistenie problémov skôr, ako sa môžu stať prekážkou vo vývoji.
V tejto príručke predstavujeme výhody prieskumného testovania spolu s kľúčovými aspektmi, ktoré by mal tím zvážiť pred implementáciou.
Čo je prieskumné testovanie?
Prieskumné testovanie spája fázy návrhu a vykonávania testov, čím testerovi zabezpečuje úplnú prevádzkovú slobodu a umožňuje mu neustále zefektívňovať svoju prácu.
Pri kontrole softvéru tieto tímy pravdepodobne objavia nové komponenty, ktoré si vyžadujú dôkladnú kontrolu, a môžu ľahko prísť na nové testy, ktoré by boli pre aplikáciu prínosom.
Prieskumné testovanie je podobné ad hoc testovaniu, ale riadi sa oveľa prísnejšou dokumentáciou a zahŕňa aj aktívnejší proces učenia.
Menej štruktúrovaný prístup pomáha testerom zistiť, ako bude aplikácia pravdepodobne reagovať na reálne scenáre a testovacie prípady, a slúži ako dôležitý doplnok skriptovaného testovania.
Kvalita prieskumného testovania tímu často závisí od zručností jednotlivých testerov, pretože kontroly si vyžadujú kreativitu a dôkladné pochopenie softvéru. Ide o proces neustáleho objavovania, pri ktorom testeri používajú deduktívne uvažovanie na usmernenie svojej celkovej techniky.
Prieskumné testovanie je obzvlášť užitočné, pretože odráža, ako by používatelia mohli softvér používať. Väčšina používateľov nájde chyby a problémy náhodou, takže tieto nepísané procesy môžu testerom pomôcť nájsť problémy, ktoré vopred stanovené kontroly nemusia odhaliť.
Tím môže tento postup aj automatizovať, aby sa zabezpečila vyššia úroveň efektívnosti.
1. Kedy je potrebné vykonať prieskumné testovanie?
Prieskumné testovanie je vo všeobecnosti užitočné takmer v každom procese testovania softvéru, hoci je obzvlášť vhodné na poskytovanie rýchlej spätnej väzby o aplikácii.
Tím môže tieto kontroly zahrnúť aj v prípade, že mu dôjdu skriptované testy. Bez jasného smeru kontroly softvéru môže prieskumné testovanie pomôcť odhaliť problémy, ktoré sa vymykajú štandardným kontrolám.
Zabezpečenie rôznorodých testovacích postupov umožňuje testerom pochopiť tento softvér na oveľa hlbšej úrovni v akejkoľvek fáze, ale ich skoré vykonanie môže priniesť viac výhod.
Tímy môžu v prípade potreby vykonať prieskumné testy neskôr, aby boli pokojnejšie.
2. Kedy nemusíte robiť prieskumné testovanie
Existuje niekoľko scenárov, v ktorých prieskumné testovanie neprináša žiadne výhody, hoci pre testerov môže byť užitočnejšie počkať, kým softvér nebude mať svoju základnú funkcionalitu.
Funkcie aplikácie sa zvyčajne prelínajú alebo vzájomne ovplyvňujú, čo znamená, že prieskumné testy jednej funkcie môžu byť zastarané, keď vývojový tím pridá do tohto softvéru ďalšie funkcie.
Tieto testy je možné bez problémov vykonávať aj popri skriptovaných kontrolách za predpokladu, že testeri dokážu zabezpečiť kvalitnú dokumentáciu, aby nedošlo k zámene.
Prieskumné testovanie je v porovnaní s inými typmi testovania veľmi univerzálne, vďaka čomu sú tieto kontroly veľmi dobre použiteľné.
3. Kto sa podieľa na prieskumnom testovaní?
Na prieskumnom testovaní sa v určitom ohľade podieľa mnoho zamestnancov vrátane:
– Tieto testy môžu vykonávať testeri softvéru na akejkoľvek úrovni zručností, hoci členovia tímu, ktorí lepšie rozumejú softvéru, môžu navrhnúť väčšiu škálu kontrol.
Skúsenosti môžu ovplyvniť aj ich schopnosť určiť najužitočnejšie testy.
– Vývojári softvéru, ktorí uznajú výsledky týchto testov, zohľadnia všetky návrhy a často vyvinú vlastné riešenie problému.
Ich reakcia na testy umožňuje aplikácii dosiahnuť stav vhodný na úspešné vydanie.
– Projektoví manažéri, ktorí dohliadajú na celý tento proces a dokonca môžu rozhodovať o tom, ktoré typy testovania tímy použijú.
Môžu byť tiež zodpovední za obstaranie softvéru pre tímy, ktorý môže zefektívniť alebo dokonca automatizovať testy.
Životný cyklus prieskumného testovania
Proces prieskumného testovania sa výrazne zameriava na slobodu testera, ale stále má určitú štruktúru.
Hlavné tri fázy tohto prístupu sú:
Fáza 1: Učenie
Testeri začínajú tým, že dôkladne porozumejú softvéru a jeho funkčnosti – kriticky ho analyzujú, aby zistili, ako do seba zapadá.
To umožňuje testerovi zistiť obvyklé vstupy, ktoré by mohol používateľ reálne vykonať, hoci už môže poznať aplikáciu a jej fungovanie.
Fáza učenia môže dokonca vyžadovať výučbu ovládania softvéru. Ide o fázu prieskumu, ktorá testerovi poskytne všetky informácie potrebné na to, aby mohol navrhnúť rozsiahlu škálu užitočných testov.
Fáza 2: Návrh testu
Návrh prieskumných testov síce zahŕňa rôzne pravidlá a parametre, ale v porovnaní so skriptovaným testovaním, ktorého špecifiká sú známe ešte pred začatím testovania, ponúka podstatne väčšiu voľnosť.
Tester môže navrhnúť kontroly, ktoré podľa neho presnejšie zodpovedajú aplikácii, a môže potenciálne odhaliť cenné údaje pre vývojový tím vrátane pozoruhodných chýb, ktoré môže opraviť.
Testovacie tímy v tejto fáze zisťujú, aký prístup zvoliť a ako rozdeliť prácu medzi rôznych testerov tak, aby sa využili ich silné stránky.
Fáza 3: Realizácia
Po navrhnutí kontrol, ktoré sa majú použiť, môžu teraz testeri skontrolovať aplikáciu spôsobmi, ktoré považujú za najefektívnejšie – môžu ich vykonať okamžite po navrhnutí konkrétneho testu.
V tejto fáze testeri aktívne hľadajú problémy a spôsob, akým by sa prípadné odhalené problémy mohli premietnuť do ďalších funkcií a vlastností.
Aj keď je do vykonávania prieskumných testov zapojená určitá miera intuitívnej práce, stále sa riadi stanovenými postupmi a cieľmi, čo umožňuje plynulé testovanie, ktoré sa môže ľahko prispôsobiť konkrétnym cieľom testovania.
Prieskumné vs. skriptované testovanie
Prieskumné testovanie je vlastne opakom skriptovaného testovania, hoci obidve môžu byť dôležité na zabezpečenie pripravenosti aplikácie na vydanie. Tá je zvyčajne formálnejšia a štruktúrovanejšia a zahŕňa mnoho rozsiahlych testov v porovnaní s prieskumnými kontrolami, ktoré sú často špecifickejšie pre funkčnosť aplikácie.
Súčasťou toho je aj to, že prieskumné testovanie je podstatne prispôsobivejšie, zatiaľ čo skriptované testy môžu mať problémy, ak dôjde k väčším zmenám v softvéri. Prieskumné testy môžu odhaliť chyby a rýchlejšie na ne reagovať, takže sú užitočné najmä v prípadoch, keď je dôležitá rýchla spätná väzba.
1. Aktívne prieskumné testovanie
Aktívne prieskumné testovanie spočíva v tom, že tester navrhne automatizovaný skript pre svoje kontroly, ktorý vykoná iný tester. Tieto skripty v prípade potreby zohľadňujú predchádzajúce testy.
Dvaja testeri si zvyčajne počas postupu kontroly vymenia úlohy, aby dvakrát skontrolovali spoľahlivosť týchto skriptov a procesov.
Aktívne testy majú širšie pokrytie bez toho, aby bola obetovaná špecifickosť prieskumných kontrol. Tieto skripty tiež umožňujú lepšiu dokumentáciu, čo uľahčuje reprodukciu akýchkoľvek problémov, ktoré testeri nájdu.
Dokumentácia je dôležitou súčasťou aktívnych testov, pretože pomáha zainteresovaným stranám vidieť celkový pokrok aplikácie.
2. Pasívne prieskumné testovanie
Pasívne prieskumné testovanie si vyžaduje len jedného testera, hoci práca vo dvojici by mohla proces ešte viac zefektívniť.
Tento prístup zahŕňa špecifický softvér, ktorý zaznamenáva činnosti testera a poskytuje mu jednoduché kroky na replikáciu akéhokoľvek problému, ktorý odhalí. Zvyčajne je to vo forme videa s komentárom testera, ktorý krok za krokom vysvetľuje jeho činnosť.
Nahrávanie procesu testovania tiež poskytuje prehľad o výkonnosti aplikácie vrátane toho, ako rýchlo reaguje na vstupné požiadavky.
Pasívne testovanie poskytuje testerom aj vývojovému tímu množstvo podrobných informácií o fungovaní softvéru.
Techniky prieskumného testovania
Prieskumné testovanie sa zvyčajne uskutočňuje formou „prehliadky“ – tester skúma softvér čo najefektívnejším spôsobom.
Tím si môže vybrať z rôznych výletov vrátane:
– Prehliadky so sprievodcom
Tento prístup uprednostňuje zvýraznené funkcie aplikácie, čo presne kopíruje spôsob, akým bežný používateľ pracuje so softvérom, a odhaľuje problémy, ktoré by prirodzene našiel.
– Prehliadky histórie
Táto prehliadka skontroluje najstaršie funkcie aplikácie a uistí sa, že sú stále funkčné; je to dôležité najmä vtedy, ak vývojári pridali nové funkcie, ktoré sú s ňou v rozpore.
– Peňažné turné
Tento prieskumný test kontroluje kritické funkcie aplikácie, konkrétne tie, za prístup ku ktorým zákazníci a klienti platia peniaze – tie majú zvyčajne najvyššiu prioritu v testovacom tíme.
– Prehliadka kriminality
Testeri niekedy aktívne pracujú na rozbití aplikácie alebo vyvolaní negatívnych scenárov, napríklad zadávaním neplatných informácií a skúmaním, ako na to aplikácia reaguje.
– Prehliadka zadnej uličky
Tento proces zahŕňa funkcie, ktoré pravdepodobne využije menej zákazníkov; tie sú rovnako dôležité pre akýkoľvek prístup k testovaniu, najmä preto, že budú spolupracovať s inými funkciami.
– Intelektuálne turné
Táto prehliadka posúva aplikáciu ďalej a testuje najzložitejšie funkcie s vyššími (niekedy maximálnymi) hodnotami, aby sa určila rýchlosť spracovania softvéru.
Prístupy prieskumného testovania
Existujú dva hlavné prístupy k prieskumnému testovaniu:
1. Prieskumné testovanie založené na reláciách
Ide o techniku založenú na čase, ktorej cieľom je kvantifikovať proces testovania jeho rozdelením na „relácie“ s dvoma zložkami: misie a charty.
Misia je cieľom a trvaním konkrétnej relácie, ktorá poskytuje prieskumnému testerovi jasné zameranie.
Charta stanovuje rozsah každej relácie a podrobne opisuje všetky špecifické ciele, ktoré chce tester splniť. Výsledkom je vyššia úroveň zodpovednosti (a dokumentácie) vďaka rozdeleniu týchto kontrol na lepšie zvládnuteľné zložky.
Testy založené na reláciách tiež zvyšujú produktivitu a poskytujú testerovi jasné metriky a informácie o riešení problémov.
2. Párové prieskumné testovanie
Párové testovanie je podobné aktívnemu prieskumnému testovaniu, pretože zahŕňa predovšetkým prácu vo dvojici – zvyčajne na tom istom zariadení – s cieľom priebežne kontrolovať aplikáciu súčasne. Pri tomto usporiadaní jeden tester navrhuje celý rad testovacích prípadov a vedie si poznámky o priebehu, zatiaľ čo druhý testuje softvér.
Počas párového testovania je nevyhnutná komunikácia, pretože sa tým zabezpečí, že obaja testeri sú si vedomí kontrol a ich účelu.
Ak tieto dvojice prideľujete sami, nezabudnite sa prispôsobiť silným a slabým stránkam každého testera, pretože to vám umožní vytvoriť silnejšie procesy prieskumného testovania.
Ktoré faktory ovplyvňujú prieskumné testovanie?
Medzi faktory, ktoré môžu ovplyvniť kvalitu prieskumného testovania tímu, patria:
– Hlavný cieľ a základné funkcie softvéru.
– Špecifické ciele testovania pre súčasnú fázu aplikácie.
– Individuálne úlohy a schopnosti každého testera v tíme.
– Dostupné nástroje, napríklad bezplatný softvér na automatizáciu testov.
– Podpora, ktorú testeri dostávajú od kolegov alebo vedenia.
– Požiadavky klienta a aktuálne všeobecné trendy na trhu.
– Jednoduchosť používania aplikácie, napríklad plynulosť rozhrania.
– Čas, ktorý majú testeri na dokončenie fázy testovania.
– Vstupy a ďalšie rôzne údaje, ktoré testeri plánujú použiť.
– Funkcie, ktoré vývojári časom pridávajú do softvéru.
Typy prieskumného testovania
Tri hlavné typy prieskumného testovania, ktoré môže tím použiť, sú:
1. Prieskumné testovanie voľným štýlom
Testovanie voľným štýlom zahŕňa ad hoc prístup ku kontrole aplikácie. Táto metóda má málo pravidiel, takže jej účinnosť môže byť rôzna; niektoré softvéry a komponenty si zaslúžia robustnejšiu metodiku.
Tieto kontroly by stále mohli priniesť veľa výhod, pretože pomáhajú testerom oboznámiť sa s touto aplikáciou a overiť prácu predchádzajúceho testera.
Aj bez prísnych pravidiel môžu skúsení a zruční testeri ľahko využiť tento formát vo svoj prospech. Môžu ľahko prechádzať všetkými aspektmi softvéru – v niektorých situáciách sú pravidlá testovania obmedzujúce a môžu neúmyselne obmedziť výsledky tímu.
2. Prieskumné testovanie na základe scenára
Pri testovaní na základe scenára sa ako základ každého testu používajú realistické situácie, napríklad kontrola vstupov, ktoré používatelia pravdepodobne vykonajú počas typickej prevádzky tohto softvéru.
Testeri tvrdo pracujú na tom, aby každý scenár, ktorý navrhnú, zodpovedal tomu, ako používateľ pracuje s aplikáciou.
Čas môže byť obmedzením, keďže cieľom tímu je otestovať čo najviac scenárov; v závislosti od budúcich termínov sa pravdepodobne nepodarí pokryť všetky možnosti.
Testeri by mali používať širokú škálu testov v rôznych kategóriách.
3. Prieskumné testovanie založené na stratégii
Testovanie založené na stratégii zahŕňa širokú škálu špecifických metód vrátane testovania hraničných hodnôt, techník ekvivalencie, techník založených na riziku a ďalších. To vo všeobecnosti uprednostňuje testerov, ktorí sú už s aplikáciou oboznámení, pretože môžu vyvinúť prispôsobené stratégie, ktoré zahŕňajú tieto jednotlivé metódy.
Prístup založený na stratégii sa zameriava predovšetkým na funkčnosť softvéru (a jeho vnútorné fungovanie) bez toho, aby sa zaoberal možnými scenármi, ktoré by mohli používateľa priviesť k problémom, ktoré sa objavia. To by mohlo viesť k širšej analýze aplikácie a jej rôznych funkcií, potenciálne do väčšej hĺbky ako rôzne iné prístupy.
Manuálne alebo automatizované prieskumné testy?
Testovacie tímy môžu vykonávať prieskumné kontroly buď manuálne, alebo ich môžu automatizovať. Každá z týchto možností môže priniesť obrovské výhody; správna voľba často závisí od špecifík projektu.
Manuálne prieskumné testovanie
Manuálne prieskumné testovanie umožňuje väčší rozsah kontrol na mieru. Hoci to môže trvať dlhšie, pretože ľudskí testeri sú pomalší ako počítače, manuálna kontrola by mohla byť užitočná pri určovaní používateľskej skúsenosti.
Tester pracuje nielen na tom, aby zabezpečil, že všetky funkcie aplikácie fungujú tak, ako majú, ale aj na tom, aby zistil, či ju používatelia môžu ľahko ovládať. Toto je pravdepodobne najbežnejšia forma prieskumného testovania, hoci to neznamená, že je najúčinnejšia.
1. Výhody manuálneho vykonávania prieskumných testov
Medzi výhody manuálneho prieskumného testovania patria:
Väčší dôraz na použiteľnosť
Automatizované prieskumné testy si môžu všimnúť nezrovnalosti v softvéri, ale nemusia byť schopné interpretovať tieto problémy rovnakým spôsobom ako ľudský tester.
To zahŕňa pochopenie toho, ako sa používatelia softvéru pravdepodobne budú pohybovať alebo ako budú s aplikáciou pracovať, čo automatizácia nemôže zohľadniť.
Manuálni prieskumní testeri môžu poskytnúť väčšiu úroveň spätnej väzby vrátane konkrétnych podrobností o tom, ako nájdené problémy ovplyvňujú celkový softvér alebo všeobecnú skúsenosť.
Môže vykonávať zmeny v reálnom čase
Jednou z hlavných výhod prieskumného testovania je, že je možné identifikovať potrebu testu a vykonať ho relatívne rýchlo pred aukciou potrebných vylepšení.
Automatizované testovanie je vo všeobecnosti oveľa rýchlejší proces, ale testeri musia počkať, kým sa všetko dokončí, a až potom vykonať zmeny – manuálni testeri to môžu urobiť ešte počas procesu prieskumného testovania.
To je však často možné len v prípade chýb, ktoré majú vplyv na menšie časti softvéru.
Väčší dôraz na detaily
Prieskumné testovanie je hlavne o objavovaní nových spôsobov testovania aplikácie a zároveň o jej pochopení; niekedy to môže znamenať, že jeden test vedie k ďalšiemu, pretože dáva testerovi nápady.
Automatizované testy to nemusia zohľadňovať, pretože testovací tím má relatívne voľné ruky. Manuálni testeri neustále zdokonaľujú svoje znalosti o softvéri a vymýšľajú nové, ale rovnako dôležité testy – to však môže byť ťažké, ak ich automatizuje softvér tretej strany.
Dokáže nájsť chyby mimo kódu
Manuálne prieskumné kontroly umožňujú testerom preskúmať každý aspekt aplikácie a softvéru, a to aj mimo samotného kódu.
Mnohé automatizované prístupy sa obmedzujú na kód a jeho fungovanie, čo môže viesť k tomu, že testovacie tímy si nevšimnú problémy, ktoré sa môžu objaviť v iných častiach aplikácie.
Závisí to najmä od softvéru na automatizáciu, ktorý máte, pretože niektoré riešenia môžu ponúkať širší prístup k prieskumnému testovaniu.
Zabezpečuje kvalitu v rámci celého projektu
Automatizované prieskumné kontroly hľadajú v aplikácii len chyby a metriky; manuálni testeri by namiesto toho mohli skontrolovať softvér a poskytnúť vlastnú komplexnú spätnú väzbu.
Môžu napríklad otestovať kód a zistiť, či je príliš zložitý – čo je obzvlášť dôležité, pretože mŕtvy kód môže spomaliť výkon, ale automatizované procesy by ho účinne neodhalili.
Znalosti testera o softvéri môžu byť nápomocné pri diagnostike problémov, ktoré sa vyskytnú počas iných fáz testovania.
2. Výzvy manuálneho prieskumného testovania
Medzi výzvy manuálneho prieskumného testovania patria:
Možnosť ľudských chýb
Automatizované prieskumné testovanie dokáže vykonať presne tú istú kontrolu toľkokrát, koľkokrát je potrebné, bez akýchkoľvek zmien v presnom priebehu, čím sa zabezpečí konzistentnosť a spoľahlivé výsledky.
Manuálne prieskumné testovanie je náchylné na ľudské chyby, čo znamená, že tester môže zadať nesprávnu hodnotu. Zvyčajne je možné tieto testy dvakrát skontrolovať a opraviť prípadné nezrovnalosti, pretože sa môžu zdať zjavné už na prvý pohľad.
Opakovanie testu po zistení chyby však môže zabrať viac času.
Všeobecne časovo náročnejšie
Aj keď testeri vykonajú každú prieskumnú kontrolu správne a bez ľudských chýb, tento celkový proces zaberie v porovnaní s automatizovaným softvérom, ktorý dokáže testy vypočítať oveľa rýchlejšie, značné množstvo času.
Môže to byť rozdiel minimálne niekoľkých hodín; čas, ktorý by testeri mohli stráviť na častiach aplikácie, ktoré by automatizácia nepriniesla.
Prieskumné testy si tiež vyžadujú neustály dohľad, zatiaľ čo automatizácia umožňuje vykonávať testy cez noc.
Zdĺhavý proces dokumentácie
Podobne aj manuálna dokumentácia počas a po manuálnom testovaní by mohla zbytočne zaťažovať proces prieskumného testovania.
To sťažuje sledovanie zmien a úprav softvéru v priebehu času – automatizovaný softvér to zvyčajne dokáže intuitívne zohľadniť pri vykonávaní testov.
Ide o ďalšiu administratívnu záležitosť, ktorá odoberá čas a energiu iným záležitostiam, čo účinne znižuje rozsah a šírku celkového postupu testovania softvéru.
Musíte dôverne poznať softvér
Manuálni testeri s akoukoľvek úrovňou zručností môžu skontrolovať aplikáciu a dôkladne ju otestovať. Dôvodom je práca, ktorú vynaložili na pochopenie softvéru – prvá fáza prieskumného procesu.
Ak sa však tester snaží alebo zanedbáva naučiť, ako táto aplikácia funguje, pravdepodobne bude mať problém navrhnúť a vykonať vhodný rozsah testov.
Dobrá znalosť softvéru umožňuje testerom ísť nad rámec bežných testovacích parametrov.
Nákladná údržba
Spoliehanie sa na manuálne prieskumné testovanie si zvyčajne vyžaduje väčší testovací tím, čo môže mať za následok vyššie dlhodobé náklady v porovnaní s automatizovanými kontrolami. Softvér tretej strany, ktorý vykonáva tieto prieskumné testy, môže mať obrovskú hodnotu alebo môže byť dokonca úplne bezplatný.
V závislosti od zložitosti úloh môže spoločnosť na úplnú kontrolu aplikácie potrebovať vysokokvalifikovaných testerov s dlhoročnými skúsenosťami. To môže výrazne zvýšiť náklady na testovanie v porovnaní s používaním bezplatného softvéru na automatizáciu.
3. Kedy použiť manuálne prieskumné testovanie
Manuálne prieskumné testovanie je často spojené s viacerými problémami, ale stále je dôležitou súčasťou dôkladného testovania softvéru. Existujú totiž aspekty softvéru, ktoré automatizácia nedokáže plne zohľadniť a ktoré si tiež vyžadujú silné zameranie.
Softvér napríklad nemôže spoľahlivo poskytovať spätnú väzbu o používateľských rozhraniach alebo testoch používateľskej skúsenosti. Dobrú predstavu o tom, ako aplikácia funguje v praxi, môžu testeri získať len vtedy, ak ju manuálne otestujú. To znamená, že vývojári aj testovacie tímy musia zvážiť integráciu aspoň určitého stupňa manuálneho prieskumného testovania do svojich kontrol.
Automatizované prieskumné testovanie
Automatizované testovanie využíva softvér tretích strán na automatizáciu určitých kontrol – testeri si ho zvyčajne môžu prispôsobiť tak, aby vyhovoval prakticky akémukoľvek testu.
To si však spravidla vyžaduje, aby tím aspoň raz spustil kontrolu manuálne, aby sa kalibrovala automatizácia. To môže výrazne zefektívniť proces pre testovacie aj vývojové tímy.
Hoci automatizácia prieskumných testov môže byť nezvyčajná, pre vašu aplikáciu a jej výkonnosť má niekoľko jasných výhod.
1. Výhody automatizácie prieskumných testov
Medzi hlavné výhody automatizácie prieskumných testov patria:
Konzistentné vykonávanie testov
Ľudská chyba môže ľahko viesť k chybám v testovaní, ktorých oprava si vyžaduje čas aj peniaze; automatizované prieskumné kontroly umožňujú testovacím tímom tento problém obísť.
Testeri efektívne učia automatizačný softvér, ako správne vykonať test, a zabezpečujú, aby ho zakaždým vykonal rovnako. Zvyšuje sa tým celková spoľahlivosť testov a skracuje sa čas, ktorý vývojári strávia čakaním na výsledky – najmä preto, že testeri môžu testovanie ľahko nastaviť na spustenie cez noc.
Šetrí čas pre všetkých
Automatizované testy umožňujú vývojárom začať pracovať na odstránení problémov oveľa rýchlejšie a zároveň umožňujú testerom pokryť širší rozsah prieskumných kontrol. Existuje len toľko scenárov, ktoré môže tím zohľadniť bez ohľadu na termín, čo znamená, že je dôležité, aby testeri do povoleného časového rámca zahrnuli čo najviac kontrol.
Automatizácia pomáha tým, že tieto prieskumné testy vykonáva oveľa rýchlejšie ako manuálni testeri.
Nákladovo efektívny prístup
V závislosti od softvéru, ktorý si tím vyberie, môže byť automatizácia oveľa efektívnejšia ako manuálne testovanie – môže byť dokonca bezplatná.
Hoci je stále nevyhnutné zamestnávať manuálnych testerov a niektorí z nich budú zodpovední za kalibráciu automatizačných postupov, automatizácia čo najväčšieho počtu prieskumných testov dáva spoločnosti šancu znížiť náklady na zamestnancov.
Keď tím porozumie softvéru na automatizáciu, môže ho prispôsobiť širokej škále úloh.
Prispôsobenie pre viacero zariadení
Manuálne testovanie by si mohlo vyžadovať pracovníkov so skúsenosťami s rôznymi zariadeniami, napríklad so znalosťou rôznych operačných systémov telefónov vrátane Androidu a iOS, ak sa vytvára mobilná aplikácia.
Automatizovaný softvér to dokáže zohľadniť a testovať na viacerých zariadeniach, aby sa zabezpečilo, že aplikácia bude fungovať konzistentne dobre. Testovacie tímy so znalosťou týchto zariadení môžu tento proces považovať za zdĺhavý; automatizácia opäť dokáže zefektívniť obvyklé procesy prieskumného testovania a testovať každú iteráciu súčasne.
Opakovane použiteľné skripty
Ak tím testuje niekoľko verzií toho istého softvéru alebo dokonca viacero produktov s podobnou architektúrou alebo funkciami, je možné opakovane používať skripty z jedného testovacieho cyklu na druhý.
Ak sú na zabezpečenie kompatibility potrebné nejaké úpravy, manuálni testeri ich môžu vykonať oveľa rýchlejšie ako písanie úplne nového skriptu.
Automatizácia optimalizuje prakticky každú fázu procesu prieskumného testovania, pričom sa dá ľahko nastaviť v rôznych softvérových konfiguráciách.
2. Výzvy automatizácie prieskumných testov
Tento proces zahŕňa aj rôzne výzvy, ako napríklad:
Predstavuje len jednu stranu testovania
Nie je praktické ani rozumné automatizovať každú kontrolu pri testovaní aplikácie, pretože existujú aspekty, na ktoré môže spoľahlivo poskytnúť spätnú väzbu len manuálny tester.
To zahŕňa aj používateľskú skúsenosť, hoci v závislosti od zvoleného softvéru je možné získať dôkladnú analýzu výkonu a testovania záťaže prostredníctvom automatizácie.
Automatizácii prieskumných testov chýba ľudský úsudok a pri niektorých kontrolách môže najlepšie fungovať spolu s manuálnym testerom.
Nerealistické očakávania schopností
Podobne aj automatizované postupy prieskumného testovania môžu priniesť obrovské výhody pre aplikáciu popri celom projekte.
Tento prístup však nie je vždy riešením. Organizácie, ktoré sa v každej fáze vo veľkej miere spoliehajú na automatizáciu, môžu mať neúplný pohľad na softvér.
Automatizácia identifikuje problémy, ale za ich odstránenie sú zodpovedné testovacie a vývojové tímy. Je dôležité definovať zastrešujúcu stratégiu automatizácie, aby každý účastník projektu rozumel jej možnostiam a obmedzeniam.
Vyššie požiadavky na zručnosti
Automatizácia zvyčajne zahŕňa znalosť toho, ako vykonávať zložité kontroly, ako ich naprogramovať a skutočne automatizovať. To si často vyžaduje dlhoročné skúsenosti so skriptovaním, hoci softvér na automatizáciu by mohol pomôcť výrazne optimalizovať tieto procesy.
Je veľmi dôležité, aby spoločnosť prijímala testerov s rôznymi a silnými zručnosťami, ktoré uľahčia efektívnu automatizáciu.
Testeri so skúsenosťami v oblasti automatizácie tiež vedia, aké funkcie uprednostniť pri výbere z dostupných možností softvéru tretích strán, čím sa zabezpečí, že tím dostane dobrý produkt.
Nesprávne stratégie a komunikácia
Pre úspešnú automatizáciu je najdôležitejšia komunikácia o ucelenej stratégii; vývojári, testeri a dokonca aj projektoví manažéri musia byť počas testovania na rovnakej strane.
Tímy musia spolupracovať, aby určili rozsah a harmonogram svojich nadchádzajúcich postupov. To platí pre každý proces testovania, ale je to obzvlášť dôležité vzhľadom na ďalšie zložitosti automatizácie. Lepšia komunikácia a nedostatok informačných síl umožňujú vašim tímom vykonávať testy efektívnejšie.
Výber správneho softvéru na automatizáciu
Automatizácia zvyčajne zahŕňa výber aplikácie tretej strany, ktorá je kompatibilná s cieľmi testovania tímu. Každá možnosť má iné cenové plány a funkcie. To môže predstavovať značné dlhodobé náklady, a to aj v prípade, že softvér úspešne vykonáva automatizované testy a zároveň poskytuje značnú hodnotu.
Existuje niekoľko bezplatných možností, ktoré ponúkajú pôsobivé funkcie porovnateľné s prémiovými alternatívami. Je dôležité, aby testovací tím preskúmal všetky dostupné možnosti vrátane bezplatného softvéru.
Záver: Automatizácia prieskumného testovania vs. manuálne prieskumné testovanie
Existuje len málo projektov, ktoré by profitovali z plne manuálneho alebo plne automatizovaného testovania, pretože aplikácie všetkých druhov fungujú lepšie s kombináciou oboch.
Hoci automatizované testy môžu optimalizovať proces pre vývojové tímy a tímy zabezpečujúce kvalitu, niektoré aspekty návrhu si vyžadujú manuálne prieskumné testovanie; je to jediný spôsob, ako získať spätnú väzbu od používateľov.
Postupom času sa čoraz viac organizácií snaží zaviesť hyperautomatizáciu, teda proces, ktorého cieľom je inteligentne maximalizovať automatizáciu, čím sa zabezpečí efektívna stratégia podniku – tá by mohla stále existovať popri manuálnom testovaní.
Automatizované testovanie sa stáva pre firmy dostupnejšie vďaka väčšej rozšírenosti automatizačného softvéru, najmä vďaka niekoľkým bezplatným možnostiam s množstvom funkcií. To firmám uľahčuje prijatie kombinovaného prístupu k manuálnemu/automatickému prieskumnému testovaniu.
Svoju úlohu zohrala aj rastúca popularita agilného prístupu (technika riadenia projektov, ktorá sa zameriava na postupný, ale výrazný pokrok) vo vývoji, pretože vyžaduje krátke cykly testovania. Kombinovaná stratégia testovania by mohla vyhovovať tejto a rôznym ďalším stratégiám vývoja, ako je napríklad kontinuálna integrácia, ktorá podobne vyžaduje opakované testovanie na zabezpečenie úspechu v mnohých iteráciách toho istého softvéru.
Čo potrebujete na začatie prieskumného testovania
Predpoklady prieskumného testovania sú:
1. Jasné ciele testovania
Hoci je prieskumné testovanie synonymom slobody a niekedy sa zamieňa s ad hoc testovaním, stále sa riadi špecifickými pravidlami alebo definovateľnými cieľmi. Jediný spôsob, ako môže tím QA úspešne prechádzať takmer akoukoľvek štruktúrou testovania, je poznať očakávaný výsledok každého testu, najmä preto, že testeri zvyčajne navrhujú tieto kontroly sami.
2. Kreatívni, intuitívni testeri
Prieskumné testovanie sa zameriava na navrhovanie nových a kreatívnych testov, ktoré môžu odhaliť problémy s aplikáciou. Dokonca aj testeri s obmedzenými skúsenosťami to dokážu za predpokladu, že rozumejú softvéru.
Je dôležité, aby testeri rozumeli aplikácii a jej fungovaniu, čo im umožní intuitívne vytvoriť celý rad užitočných kontrol.
3. Súvislá dokumentácia
Každý typ testovania musí mať podrobnú dokumentáciu, aby sa každý člen tímu riadil očakávaným harmonogramom testovania a aby nikto náhodou neopakoval kontrolu.
Ide o dôležitý aspekt komunikácie v rámci jedného oddelenia a viacerých oddelení, napríklad vývojári potrebujú pravidelné aktualizácie testovania, aby zistili, ako odstrániť problémy.
4. Pohľad zákazníka
Prieskumné testovanie zahŕňa mnoho stratégií a scenárov vrátane tých, ktoré odrážajú spôsob, akým budú používatelia prakticky pracovať s aplikáciou. Je veľmi dôležité, aby testovacie tímy pri svojich kontrolách brali do úvahy túto skutočnosť, aj keď nevykonávajú testy založené na scenároch.
Osvojenie si tohto prístupu umožňuje testerovi pristupovať k testovaniu z rôznych hľadísk, čím sa zvyšuje kvalita týchto kontrol.
5. Automatizovaný testovací softvér
Keďže tím môže pravdepodobne automatizovať značnú časť testov, ktoré navrhne, je dôležité, aby si pred fázou vykonávania mohol zaobstarať vysokokvalitný softvér na automatizované testovanie.
Vývojári a testovací tím môžu využiť svoje znalosti projektu na určenie aplikácie tretej strany, ktorá by vyhovovala ich vlastným požiadavkám.
Proces prieskumného testovania
Konkrétne kroky prieskumného testovania sú nasledovné:
1. Klasifikujte postup testovania
Prvým krokom prieskumného testovania je, aby príslušní členovia tímu pochopili, ako môžu k týmto kontrolám pristupovať, napríklad klasifikáciou bežných chýb a vykonaním analýzy ich príčin.
Tu testeri sami vypracujú svoje nápady na testy; v závislosti od presnej metodiky môžu navrhnúť aj chartu testov.
Tým sa stanoví rozsah a testy pre danú reláciu alebo pracovný deň.
2. Začnite testy
Aj keď presné parametre (ako napríklad čas pre každý test alebo celková relácia) závisia od vlastných preferencií tímu a požiadaviek projektu, všetky prieskumné testy majú určité spoločné črty.
Po klasifikácii príslušných kontrol začnú pracovníci zabezpečenia kvality vykonávať testy a zaznamenávať všetky výsledky.
Ak si kontroly vyžadujú automatizáciu, testeri by ju mohli nastaviť tak, aby fungovala cez noc, alebo ju sami monitorovať počas dňa.
3. Preskúmajte výsledky
Ďalšou fázou je preskúmanie výsledkov a ich porovnanie s predvolenými a očakávanými výsledkami. Ak sa pri týchto testoch objavia výrazné neočakávané odchýlky akéhokoľvek druhu, testeri môžu kontrolu zopakovať alebo okamžite začať vymýšľať, ako to napraviť. Návrhy, ktoré predkladajú vývojárom, môžu byť nápomocné pri určovaní správneho prístupu – a ich hlásenia o chybách to môžu podrobne opísať.
4. Vyhodnotenie testu
Po aukcii výsledkov testovania začne tím zabezpečenia kvality skúmať samotný postup testovania a na základe toho určí, či bol ich prístup k prieskumnému testovaniu vhodný.
V tejto súhrnnej správe o teste sa môže dokonca konštatovať, že počas kontrol sa vyskytli prevádzkové chyby, ktoré si vyžadujú opakovanie testu. Po odstránení týchto problémov vývojármi môže testovací tím opäť skontrolovať aplikáciu, aby zistil, či sa im to podarilo.
Najlepšie postupy pre prieskumné testovanie
Medzi najefektívnejšie postupy prieskumného testovania patria:
1. Vytvorenie dvojice testerov
Mnohé formy prieskumného testovania profitujú zo spolupráce testerov – to ešte viac zefektívňuje proces a umožňuje viacero pohľadov na tie isté kontroly.
Párové testovanie tiež zabraňuje možnosti tunelového videnia a podporuje kreatívnejší návrh testov.
Viacerí ľudia pracujúci na rovnakých testoch môžu viesť k väčšej presnosti vo všetkých oblastiach a rozdelenie pracovnej záťaže tiež pomáha urýchliť testovanie pre celý tím.
2. Kombinácia manuálnych a automatizovaných testov
Niektoré spoločnosti sa stále snažia zaviesť automatizáciu, zatiaľ čo iné ju využívajú nadmerne, aj keď by manuálne hľadisko mohlo byť výhodnejšie. Vyváženie týchto kontrol spoločne umožňuje testovaciemu tímu pokryť viac základov a zabezpečiť kvalitu celej aplikácie vrátane subjektívnejších aspektov, ako je napríklad rozhranie softvéru.
Jediný spôsob, ako zaručiť úplné pokrytie testami každej funkcie alebo vlastnosti, je spoločné vykonávanie manuálnych a automatizovaných testov.
3. Pochopenie trhu
Je dôležité, aby testeri počas testovania poznali cieľovú skupinu aj konkurenciu; to im pomôže posúdiť, ako budú ľudia pravdepodobne reagovať na aktuálnu funkcionalitu aplikácie.
Niektoré funkcie sú veľmi žiadané a testovací tím môže mať prospech z ich uprednostnenia počas kontrol. Aj keď musia zachovať široké testovacie pokrytie. To by mohlo určiť smer testovania spolu s potenciálnym úspechom softvéru pri uvedení na trh.
4. Používanie skutočných zariadení na testovanie
Tímy testujúce softvér môžu na uľahčenie prieskumných kontrol využívať emulátory, ktoré môžu byť užitočné, ale zriedkakedy odrážajú praktické prostredie používateľa.
Reálne zariadenia pomáhajú zvýšiť spoľahlivosť prieskumného testovania tým, že vytvárajú realistickejšie skúsenosti – emulátory sú nedokonalé a môžu obsahovať chyby, ktoré sa u zákazníkov nevyskytujú.
Emulácia je rýchly spôsob testovania viacerých platforiem, ale nenahradí skutočné zariadenia.
Typy výstupov z prieskumného testu
Po vykonaní kontroly môžu testeri získať rôzne výstupy vrátane:
1. Výsledky testov
Samotné výsledky majú mnoho podôb, keďže prieskumné testovanie môže zahŕňať stovky jedinečných testov. Tieto výsledky tvoria väčšinu výstupov testovacej procedúry a poskytujú dôležité informácie o stave aplikácie a jej schopnosti uspokojiť potreby používateľa.
Po získaní týchto výsledkov mohli testeri opätovne skontrolovať systém a overiť informácie, aby určili svoj ďalší postup.
2. Testovacie protokoly
Vlastné protokoly aplikácie často odhaľujú chyby a problémy počas procesu testovania; tie poskytujú najpresnejšie informácie o tom, prečo softvér v teste zlyhal. Starší testeri sú obzvlášť zruční v interpretácii protokolov aplikácie, čo im umožňuje identifikovať príčinu komplikovaných problémov.
Čím viac informácií testeri z týchto protokolov získajú, tým viac môžu pomôcť vývojárom.
3. Testovacie správy
V závislosti od postupu automatizácie tímu môžu ich výstupy automaticky generovať hlásenie o chybe. Uvádzajú sa tu všetky chyby, ktoré sa v aplikácii vyskytujú, prípadne aj ich príčiny a ďalšie údaje dôležité pre vývojárov.
Testeri ho môžu využiť na vyjadrenie vlastného názoru na to, či je softvér pripravený na uvedenie na trh, čo sa bežne označuje ako rozhodnutie „go/nogo“.
Príklady prieskumného testovania
Tu sú tri príklady, ako môže spoločnosť využiť prieskumné testovanie:
1. Mobilná herná aplikácia
Ak chce herná spoločnosť vydať veľkú aktualizáciu mobilnej aplikácie, prieskumní testeri môžu skontrolovať staré aj nové funkcie, aby zistili, či je aplikácia stále stabilná. To môže zvýšiť zložitosť softvéru až do takej miery, že ho nebude možné spustiť na určitých zariadeniach.
Testeri sa snažia minimalizovať tento vplyv a zároveň zabezpečiť použiteľnosť na čo najväčšom počte platforiem.
Prieskumní testeri dôkladne skontrolujú hru a jej mnohé komplikované scenáre, aby sa uistili, že každá funkcia funguje tak, ako má; tento proces si zvyčajne vyžaduje manuálneho testera.
2. Webová stránka poskytovateľa služieb
Webové stránky sa podrobujú aj prieskumnému testovaniu, aby sa zabezpečilo, že budú fungovať pre používateľov aj zamestnancov, takže testeri môžu začať prihlásením sa na webovú stránku. Testuje sa schopnosť webu vytvárať nové používateľské profily a kontroluje sa, či používatelia nemajú prístup k administratívnym funkciám.
Testujúci potom prejdú ku kontrole služby, ktorá môže mať podobu rezervácie termínu alebo objednávky. Potom dokončia nákup, aby sa uistili, že pokladňa funguje správne, a následne si pozrú e-mailové potvrdenie objednávky a históriu účtu.
3. Systém riadenia nemocnice
Z prieskumného testovania môžu profitovať aplikácie a systémy všetkých druhov. V prípade systémov riadenia nemocníc sa tester môže pozrieť na to, ako platobný modul spolupracuje s ostatnými funkciami.
Vyššie úrovne integrácie by mohli viesť k významným chybám bez dôkladného testovania. Tieto kontroly by mohli zahŕňať architektonický diagram sledujúci mnohé komponenty systému a ich vzájomné prepojenie.
Testeri sa tiež zameriavajú na problémy v predchádzajúcich iteráciách systému a osobitne testujú, či sú stále prítomné, a v prípade odhalenia chýb prijímajú rýchle opatrenia.
Typy chýb a nedostatkov zistených prostredníctvom prieskumného testovania
Medzi chyby, ktoré môžu testeri odhaliť počas prieskumného testovania, patria:
1. Nekompatibilné funkcie
Niektoré funkcie v aplikácii nemusia navzájom spolupracovať podľa očakávania, čo môže viesť k tomu, že používatelia nebudú môcť dokončiť nákupy alebo používať aplikáciu. Testeri kontrolujú jednotlivé funkcie samostatne a v súčinnosti s ostatnými, aby sa uistili, že všetko do seba zapadá.
2. Nesprávny dizajn používateľského rozhrania
Používateľské rozhranie aplikácie presne určuje, ako niekto softvér používa. Ak napríklad dôležité funkcie nie sú zákazníkom zrejmé, nemusia si ich všimnúť, čo obmedzuje ich pôžitok z aplikácie.
Manuálne testovanie používateľského rozhrania identifikuje a opravuje používateľsky neprívetivý dizajn.
3. Chyby pri overovaní
Mnohé aplikácie a webové stránky umožňujú vytvorenie používateľského profilu s určitými oprávneniami. Je veľmi dôležité, aby testeri skontrolovali, či bežní používatelia môžu nejakým neočakávaným spôsobom pristupovať k citlivým údajom alebo dokonca k administratívnym funkciám pri používaní softvéru.
4. Mŕtvy kód
Testeri môžu v aplikácii nájsť zastaraný kód, ktorý môže byť dokonca príčinou výrazných problémov s výkonom. Mŕtvy kód príliš komplikuje vnútorné fungovanie aplikácie a môže viesť k chybám, ktorým sa dá vyhnúť. Identifikácia a optimalizácia tohto stavu umožňuje zamestnancom a používateľom lepšie reagovať na potreby softvéru.
Bežné metriky prieskumného testovania
Medzi obvyklé metriky, s ktorými sa testeri môžu stretnúť počas prieskumných testov, patria:
1. Výkonnostné testovacie metriky
Výsledkom prieskumných testov, ktoré sa zameriavajú na všeobecný výkon aplikácie, môže byť široká škála metrík. To môže zahŕňať minimálny, priemerný a maximálny čas odozvy spolu s mierou zlyhania a úspešnosti na určenie stability.
2. Metriky pokrytia testov
Pokrytie testov je dôležité, pretože určuje, koľko kategórií a aspektov aplikácie testy pokrývajú. Percentuálne pokrytie požiadaviek napríklad hodnotí, či existujú funkcie, ktoré si vyžadujú ďalšie kolá testovania.
3. Celková účinnosť testu
Sledovanie počtu úspešných a neúspešných kontrol pomáha testerom zistiť celkový stav aplikácie. Okrem toho môže tím sledovať, koľko zistených chýb je kritických.
4. Distribúcia chýb
Podobne aj kontrola rozloženia chýb ukazuje komponenty alebo funkcie, ktoré sú najviac náchylné na chyby. Môže ísť o časti aplikácie, ktoré často interagujú s ostatnými, preto je nevyhnutné určiť priority týchto testov.
5. Regresné metriky
Prieskumné regresné testovanie umožňuje testerom zistiť, ako sa správajú rôzne iterácie toho istého softvéru a ako to môže ovplyvniť výkon.
Konkrétne metriky, ktoré s tým pomáhajú, sú miera vstrekovania chýb a chyby na zostavenie.
Vyjasnenie niektorých nejasností: Prieskumné testovanie vs. testy ad hoc
Vzhľadom na veľký dôraz na slobodu testera si niektorí ľudia často zamieňajú prieskumné testovanie s ad hoc testovaním. Tieto dva formáty majú niekoľko spoločných znakov, ale v konečnom dôsledku slúžia na rôzne účely.
1. Čo je testovanie ad hoc?
Ad hoc testovanie je úplne neštruktúrovaný prístup, ktorý sa vymyká konvenčnému návrhu testov a umožňuje nájsť chyby, ktoré by sa inak neobjavili.
Táto forma testovania zvyčajne nezahŕňa žiadnu dokumentáciu, čo sťažuje reprodukciu problémov, pokiaľ si tester nie je absolútne istý ich príčinou.
Jedným z príkladov je „opičie testovanie“, kontrola, ktorá zahŕňa náhodné vstupy a v konečnom dôsledku má za cieľ rozbiť systém.
Podobne ako pri prieskumnom testovaní, mnohí ad hoc testeri pracujú na týchto kontrolách vo dvojiciach, čo zvyšuje ich spoľahlivosť. Prístup ad hoc by mohol byť užitočný po formálnom vykonaní testov, aby ste sa uistili, že kontroly zohľadňujú všetky možnosti; pomáha to aj vtedy, keď je na vykonanie ďalšieho testovania málo času. Pri správnom vykonaní sú ad hoc testy veľmi prospešné.
2. Rozdiely medzi prieskumným testovaním a testami ad hoc
Testovanie ad hoc vo všeobecnosti nezahŕňa žiadnu formálnu dokumentáciu. To je v ostrom kontraste s prieskumnými testami, pri ktorých je vzhľadom na improvizovaný charakter týchto kontrol vedenie záznamov ešte dôležitejšie.
Pri prieskumných testoch sa využíva väčšia škála formálnych testovacích techník, zatiaľ čo pri ad hoc kontrolách sa tomu predchádza tým, že sa hľadá mimo konvenčnej testovacej etikety. To im pomáha odhaliť chyby, ktoré by inak testeri nikdy nenašli.
Prieskumné testovanie má jasné ciele a hranice, ale stále umožňuje členom tímu používať kreatívne testy. Ad-hoc testy zvyčajne nemajú definovateľné konečné ciele okrem toho, že posúvajú softvér, akokoľvek to dokáže. Ad hoc testovanie často zahŕňa aj predchádzajúcu znalosť softvéru a jeho funkcií, zatiaľ čo prieskumné testovanie zahŕňa spoznávanie aplikácie do bežných procesov.
Prieskumné testovanie v agilnom prostredí
Agilná metodika výrazne podporuje neustále zlepšovanie. To znamená, že sa dobre spája s prieskumnými testami, najmä keď rastie dopyt po častých aktualizáciách softvéru.
Kombinácia prieskumného testovania s agilným prístupom môže členom tímu poskytnúť silnejšiu štruktúru testovania tým, že sa do ich harmonogramov začlení plánovanie vydania a realizácia šprintov. Spoločnosť, ktorá využíva agilné techniky, by ich mohla ešte viac zúročiť spojením s prieskumným testovaním; je to skvelý spôsob, ako testovať jednotlivé softvérové komponenty aplikácie. Keďže testeri môžu vykonávať prieskumné kontroly bez skriptov, šetrí to veľa drahocenného času pracovníkom zabezpečujúcim kvalitu aj vývojárom.
Automatizované prieskumné testovanie tieto úspory ešte znásobuje, pretože pomáha spoločnostiam oveľa rýchlejšie kontrolovať najnovšie iterácie ich aplikácií, a to potenciálne aj zo dňa na deň. Prieskumné kontroly prinášajú rýchle a použiteľné výsledky a vývojári môžu vykonať potrebné zmeny v rámci ďalšieho šprintu.
Manuálne prieskumné testovanie má v spojení s agilným prístupom stále mnoho výhod, pretože dokáže identifikovať problémy, ktoré by automatizovaný prístup mohol prehliadnuť. Iné formy testovania jednoducho trvajú príliš dlho alebo poskytujú príliš málo výhod na to, aby sa pohodlne zmestili do rámca Agile. Prieskumné kontroly môžu zabezpečiť, aby každá agilná fáza výrazne zlepšila softvér a jeho funkčnosť.
7 chýb a nástrah, ktorým sa treba vyhnúť pri implementácii prieskumných testov
Tu je sedem bežných chýb, ktorých sa firmy často dopúšťajú pri implementácii prieskumných testov, a tiež návod, ako sa im môžu vyhnúť:
1. Nevyvážené manuálne/automatické testovanie
Zistenie, ktoré testy najlepšie fungujú pri manuálnych kontrolách a ktorým by pomohla automatizácia, zaberie čas, ale umožňuje tímom testovať oveľa efektívnejšie.
Automatizácia príliš veľkého počtu testov môže mať za následok, že aplikácia bude ťažkopádna alebo nebude pre používateľa prívetivá z dôvodu absencie ľudského testera.
2. Časové obmedzenia
Prieskumné testovanie je rýchlejšie ako mnohé iné formy testovania, ale realita projektových termínov znamená, že počet testov, ktoré môže tím vykonať, je stále obmedzený.
Riadenie času a snaha o pokrytie testov pomáhajú testovaciemu tímu vykonať čo najviac kontrol v mnohých širokých kategóriách.
3. Nepružné testery
Hoci prieskumní testeri nevyžadujú predchádzajúce znalosti softvéru ani mimoriadne hlboké zručnosti, kontroly sa stále spoliehajú na schopnosti a iniciatívu jednotlivých členov tímu.
Vedúci projektu musí tieto úlohy testovania prideliť rozumne a v prípade potreby ich vyhradiť pre kreatívnejších a intuitívnejších členov tímu.
4. Ťažkosti s replikáciou zlyhaní
Nie vždy je zrejmé, ktoré činnosti prispievajú k zlyhaniu testu; môže byť tiež nejasné, ktoré aspekty aplikácie sú na vine.
Preto mnohé prieskumné prístupy zahŕňajú spájanie testerov alebo dokonca priame nahrávanie obrazovky testera, aby sa lepšie pochopili problémy a ich presné príčiny.
5. Nejasná dokumentácia
Či už ide o automatizované hlásenie o chybe alebo manuálny záznam o vykonaných testoch, dobrá dokumentácia uľahčuje vývojárom postupovať na základe zistení testovacieho tímu.
Testovací tím sa musí zaviazať, že počas každej kontroly zabezpečí kvalitné vedenie záznamov a v každej správe uvedie čo najviac podrobností.
6. Vysoké očakávania
Prieskumné testovanie je prospešné pre takmer každý softvérový projekt, ale jeho rozsah je stále obmedzený – najlepšie funguje v spojení s inými metódami testovania.
Testovacie tímy musia tieto kontroly vykonávať popri bežných skriptovaných testoch; je to jediný spôsob, ako môžu oddelenia zabezpečenia kvality zabezpečiť konzistentne široké pokrytie testami.
7. Nesprávna automatizácia
Je dôležité, aby testovací tím a projektový manažér pochopili, ktorý automatizačný softvér poskytuje pre danú aplikáciu najväčšie výhody.
Rôzne možnosti tretích strán ponúkajú svoje vlastné jedinečné funkcie, takže výber tímu môže rozhodnúť o úspechu ich robotickej automatizácie procesov; musia vopred zvážiť všetky možnosti.
5 najlepších bezplatných nástrojov na prieskumné testovanie
Medzi päť najlepších nástrojov na prieskumné testovanie, ktoré môžu tímy zabezpečujúce kvalitu používať zadarmo, patrí:
1. ZAPTEST FREE Edition
ZAPTEST Free poskytuje funkcie prémiovej úrovne za nulové náklady, čo umožňuje každej organizácii využívať výhody jednoduchej implementácie prieskumných testov.
Táto aplikácia dokáže automatizovať akúkoľvek platformu, zariadenie a prehliadač pomocou inovatívnej technológie 1SCRIPT.
ZAPTEST poskytuje aj flexibilnú automatizáciu RPA, ktorá vám umožní kombinovať ju s manuálnym prístupom.
2. Prieskumná aplikácia XRAY
XEA umožňuje používateľom vytvárať komplexné karty testov a jednoducho zaznamenávať ich priebeh, čím sa zjednodušuje fáza hlásenia chýb pri prieskumnom testovaní.
Táto možnosť sa zameriava výlučne na používateľský pohľad a ponúka centralizované centrum výsledkov na aktualizáciu ostatných testerov.
Systém XRAY však v súčasnosti nemá integrovanú automatizáciu, čo môže obmedziť jeho dlhodobú účinnosť.
3. Magnet na chyby
Rozšírenie prehliadača, ktoré ponúka dôkladné prieskumné testovanie, Bug Magnet umožňuje testerom kontrolovať okrajové prípady a iné problematické hodnoty.
Toto rozšírenie tiež umožňuje jednoduchú integráciu fiktívneho textu, e-mailových adries a viacerých znakových sád.
Je však k dispozícii len pre prehliadače Firefox a Chrome, takže je menej univerzálny ako jeho konkurenti.
4. Testovacie plány Azure
Azure Test Plans je kľúčovou súčasťou platformy Azure spoločnosti Microsoft a umožňuje testerom získavať bohaté údaje v mnohých scenároch.
Táto možnosť je vhodná pre desktopové aj webové aplikácie a zároveň poskytuje komplexnú sledovateľnosť, ktorá má jasný záznam o vývoji softvéru.
Tento prístup však často vyžaduje hlbšiu integráciu so službou Azure, a preto je na úkor flexibility.
5. Testiny
Testiny sa špecializuje na manuálne prieskumné testovanie a ponúka inteligentný editor, ktorý umožňuje testerom navrhovať kontroly pomocou stromovej štruktúry pre maximálnu flexibilitu.
Každá zmena spustenia alebo testovacieho prípadu zostáva v histórii aplikácie, aby sa zabezpečila úplná zodpovednosť a sledovateľnosť.
Táto služba je však bezplatná len pre malé tímy a projekty s otvoreným zdrojovým kódom.
Kedy by ste mali používať nástroje na prieskumné testovanie v podnikovej sfére a kedy v bezplatnej?
Hoci sa do prieskumného testovania oplatí investovať a prémiové aplikácie zvyčajne ponúkajú viac funkcií, existuje mnoho bezplatných možností, ktoré poskytujú viac než dosť funkcií.
Prieskumné testovanie by mohlo predstavovať významné prevádzkové náklady, ak sa zaviažete k prémiovému modelu, ale nie každá spoločnosť alebo tím vyvíjajúci softvér má na to peniaze. Najlepší výber softvéru tretej strany často závisí od špecifických požiadaviek firmy.
Platené riešenie môže byť jediným spôsobom, ako uspokojiť potreby daného projektu; tím musí preskúmať rôzne možnosti predtým, ako sa rozhodne pre aplikáciu.
Spoločnosti s menšími tímami môžu mať najväčší úžitok z bezplatných testovacích nástrojov, pretože mnohé možnosti sú bezplatné pre obmedzený počet používateľov.
Prípadne môžu vybrať možnosti bez tohto obmedzenia a také, ktoré sú schopné prispôsobiť sa rozsahu testovacieho tímu. Vďaka tomu by mohlo byť ešte životaschopnejšie spájať prieskumných testerov do dvojíc, aby sa zabezpečili presnejšie výsledky – tím bude prirodzene potrebovať menej profilov používateľov.
Mnohé služby ponúkajú bezplatnú skúšobnú verziu svojho softvéru, aby si organizácie mohli overiť, či vyhovuje ich potrebám; zvyčajne trvá len niekoľko týždňov.
Kontrolný zoznam prieskumného testovania, tipy a triky
Existuje mnoho ďalších tipov, ktoré môžu testeri zohľadniť pri začatí prieskumných kontrol, vrátane:
1. Vhodne rozdeľte funkcie a moduly
Aby sa predišlo nedorozumeniam, testovacie tímy by mali vypracovať jasný zoznam každej funkcie a kontrol, ktoré majú v úmysle vykonať. Znamená to tiež zabezpečiť, aby boli testy primerane rozložené medzi jednotlivé funkcie softvéru.
Pre dosiahnutie najlepších výsledkov je mimoriadne dôležité, aby sa testovací tím dohodol, ktorí členovia budú vykonávať jednotlivé testy na základe svojich zručností a silných stránok.
2. Práca na pochopení softvéru
Fáza učenia sa je dôležitou súčasťou prieskumného testovania. To znamená, že testeri sa musia aktívne zapojiť do práce so softvérom a zistiť, ako funguje, a až potom navrhnúť testy.
Učenie sa o vnútornom fungovaní tohto softvéru môže byť procesom spolupráce, ktorý zabezpečí lepšie porozumenie v celom tíme. To umožňuje testerom vytvoriť lepšie kontroly a testovacie prípady.
3. Zistite problematické oblasti
Každá aplikácia má funkcie alebo komponenty, ktoré sa prelínajú s inými. Keďže softvér je čoraz zložitejší, je pravdepodobnejšie, že sa v ňom vyskytnú chyby, čo si môže vyžadovať viac testovania. Tím musí aktívne pracovať na tom, aby zistil, ktoré komponenty potrebujú ďalšiu pomoc.
Môžu použiť špecifické testovacie trasy, ktoré najlepšie odrážajú potreby aplikácie a celkové priority tímu v oblasti testovania.
4. Začnite so základnými používateľskými scenármi
Tímy zabezpečujúce kvalitu môžu v prípade potreby vykonávať prieskumné testy v ľubovoľnom poradí, ale môže byť užitočnejšie začať jednoduchšími kontrolami, než sa pustia do zložitejších funkcií.
Umožňuje to plynulý postup z hľadiska zložitosti a dáva testerom šancu pochopiť softvér. Pomáha tiež otestovať, či základné funkcie fungujú podľa očakávania.
5. Vytvorte dvojice testerov
Párové prieskumné testovanie zjednodušuje a zároveň potvrdzuje fázu zabezpečenia kvality, čo umožňuje testerom pracovať s absolútnou istotou pri každej kontrole. Spolupráca zefektívňuje akúkoľvek formu testovania tým, že každý člen tímu lepšie pozná softvér.
Vďaka svojmu individuálnemu pohľadu môžu tiež poskytovať hlásenia o chybách s oveľa väčšou hĺbkou, čím vývojárom poskytnú viac informácií, s ktorými môžu pracovať.
6. Vykonajte niekoľko testov
Schopnosť tímu opätovne otestovať aplikáciu závisí od časového harmonogramu a termínov, ktoré má pred sebou. Ak je to však možné, môže byť užitočná dvojitá kontrola obzvlášť problematických komponentov.
Opakovaním testov sa navyše môže overiť, či je predtým zistený problém odstránený a nebude mať ďalší vplyv na softvér. Táto starostlivosť je niekedy potrebná na zabezpečenie úspešného testovania.
Záver
Prieskumné testovanie má čo ponúknuť spoločnostiam vyvíjajúcim softvér všetkých druhov, pretože dopĺňa skriptové testovanie a mnohé ďalšie kontroly.
Pomocou prieskumného testovania môžu tímy zabezpečujúce kvalitu testovať aplikácie na vyššej úrovni, čím sa zlepší kvalita výsledného softvéru a vývojárom sa pomôže odstrániť prípadné chyby.
Kombinácia manuálneho a automatizovaného prieskumného testovania môže zabezpečiť najväčší prínos, pretože umožňuje venovať rovnakú pozornosť všetkým zložkám softvéru.
Ak vaša spoločnosť potrebuje prieskumný automatizačný softvér, ZAPTEST FREE Edition ponúka oveľa širšiu a flexibilnejšiu funkcionalitu ako iné prémiové aplikácie a umožňuje testerom tieto kontroly jednoducho optimalizovať.
Často kladené otázky a zdroje
1. Najlepšie kurzy o automatizácii prieskumných testov
Noví aj skúsení prieskumní testeri by mohli využiť kurzy na zlepšenie svojich zručností. To zahŕňa aj zistenie, ako pristupovať k novému softvéru.
Medzi užitočné kurzy, ktoré vám môžu pomôcť, patria:
– Kompletný bootcamp 2023 Testovanie softvéru na Udemy; v rámci neho sa vyučuje rozsiahle testovanie softvéru v priebehu 28 hodín.
– Coveros’s Exploratory Testing (Coverosovo prieskumné testovanie); zameriava sa na to, ako vytvoriť charty a aplikovať prieskumné testy na API.
– Dvojdňové školenie spoločnosti Polteq o prieskumnom testovaní; toto školenie sa zaoberá tým, ako prieskumné testy fungujú v agilnom kontexte.
– Prieskumné testovanie LinkedIn; ukazuje, ako moderné testovanie softvéru prijalo prieskumné kontroly.
– Úvod do testovania softvéru od spoločnosti Coursera; pomôže začínajúcim testerom pochopiť typické postupy.
2. Akých je 5 najdôležitejších otázok na pohovore o prieskumnom testovaní?
Pri pohovoroch na pozície prieskumného testovania je dôležité, aby náboroví manažéri kládli dobré otázky a presne posúdili zručnosti a skúsenosti uchádzača.
Päť najdôležitejších otázok, ktoré si treba položiť:
– Aké sú hlavné rozdiely medzi skriptovaným a prieskumným testovaním vrátane ich vhodnosti?
– S akými výzvami ste sa stretli ako prieskumný tester a ako ste ich prekonali?
– Uveďte príklady prieskumných testov, ktoré by najviac využili automatizáciu robotických procesov.
– Čo je podľa vás najdôležitejšia zručnosť (technická alebo iná) pre prieskumného testera?
– Čo by ste poradili testerovi, ktorý sa snaží pochopiť softvér a ako ho skontrolovať?
3. Najlepšie YouTube tutoriály o prieskumnom testovaní
Na webových stránkach na zdieľanie videí, ako je YouTube, je k dispozícii mnoho bezplatných výukových materiálov, ktoré môžu budúcim testerom pomôcť pochopiť jeho základné princípy. Niektoré z nich sú súčasťou série, zatiaľ čo iné sú samostatnými videami, ktoré sa hlbšie venujú danej téme.
Medzi kanály, ktoré ponúkajú tieto výukové programy, patria:
– Akadémia testovania poskytuje stovky videí, ktoré pokrývajú všetky aspekty testovania softvéru.
– Software Testing Mentor, ktorý podobne ponúka rozsiahle videá o základoch testovania softvéru.
– QAFox, ktorá poskytuje aj príklady z reálneho sveta a živé projekty, ktoré dopĺňajú všetky ich videá.
– SDET-QA Automation Techie, ktorá obsahuje niekoľko komplexných videí o rôznych prístupoch k testovaniu.
– GlitchITSystem, ktorý sa zaoberá rôznymi webovými stránkami pomocou prieskumného testovania a snaží sa odhaliť chyby.
4. Ako udržiavať prieskumné testy?
Dobre vykonané prieskumné testy obsahujú podrobnú dokumentáciu, na ktorú sa vývojári a budúci testeri odvolávajú pri novších iteráciách softvéru.
Pri významných aktualizáciách aplikácie je potrebné opätovne otestovať jej primárne funkcie, aby sa zabezpečilo, že tieto doplnky nebudú mať negatívny vplyv na už existujúce funkcie.
Len tak je možné zaručiť, že prieskumné testy zostanú dlhodobo úspešné. Pomáha tiež zohľadniť budúce plány, napríklad predbežné funkcie, pri navrhovaní pôvodnej aplikácie a jej kontrol.
Pracovníci oddelenia QA musia tieto testy primerane naplánovať a zistiť, kedy je potrebné aplikáciu opätovne skontrolovať; s tým môžu tímu pomôcť nástroje na automatizované testovanie.
5. Je prieskumné testovanie black-box testovanie?
Prieskumné testovanie je veľmi podobné testovaniu čiernej skrinky, ktoré sa vzťahuje na kontrolu aplikácie prostredníctvom skúmania jej funkcií bez priamej kontroly kódu.
Typy kontrol, ktoré spadajú pod prieskumné testovanie, nie sú výslovne obmedzené; tento prístup môže zahŕňať každý aspekt softvéru vrátane kódu.
Jednou z kľúčových podobností medzi týmito dvoma typmi testovania je nedostatok predvídavosti testera. Testeri čiernej skrinky zvyčajne nie sú oboznámení so softvérom pred jeho testovaním a prieskumní testeri sa dozvedia, ako softvér funguje v rámci ich počiatočného skúmania.
Hoci prieskumné testovanie vo všeobecnosti nie je vždy klasifikované ako testovanie čiernej skrinky, je pravda, že medzi týmito dvoma prístupmi existuje značný rozsah kríženia.