when stop testing
Kritériá ukončenia pri testovaní:
„Začiatok je z polovice hotový“ - Platí všade, dokonca aj pri testovaní softvéru.
Na začiatku projektu často vidíme softvérových testerov veľmi nadšených. Tvoríme testovacie dokumenty ako sú Stratégia testovania, Testovací plán alebo Testovacie prípady dychtivo a nadšene.
Potom sa dostaneme k testovaniu softvéru s BANG! To len umocňujú zaujímavé chyby, ktoré nájdeme na začiatku projektu. Ich vyriešenie len prispeje k nášmu úspechu.
Keď nájdeme veľa chýb a dokončíme prvý beh, prejdeme do ďalšej fázy. Keď sa dostaneme do druhého kola, trochu si oddýchneme a rovnako ako je tomu u ľudí so všeobecnou tendenciou nudiť sa testovaním toho istého v druhom behu.
rozdiel medzi stromom b a stromom b +
Mnoho testerov má pocit, že sa to stáva monotónna práca v neskorších cykloch a začať strácať záujem o testovanie toho istého softvéru znova a znova. Keď dosiahneme, možno tretí pokus, začne nás prenasledovať jedna otázka, a to „Kedy prestať testovať softvér?“
Stavím sa, že ste to museli cítiť rovnako a pýtali ste sa aspoň raz: „Kedy prestať s testovaním?“ Povedal by som, že otázka znie 'Kedy, kde a ako zastaviť testovanie?' :)
Koncepčne sme čítali a veľa testerov sa domnieva, že nemôže existovať konkrétna podmienka alebo rovnica, ktorá by rozhodovala „Kedy prestať testovať?“ Pred záverom o tejto otázke je potrebné vziať do úvahy niekoľko faktorov.
V dnešnom článku by som sa chcel podeliť o svoje úvahy o tom, ako uzavrieť testovacie aktivity, keď sa v testovacom cykle dostaneme do bodu, keď môžeme povedať, že toto testovanie stačí. Urobíme to pomocou niekoľkých príkladov zo skutočného života v typickom testovacom cykle.
Čo sa dozviete:
- Kedy je to dosť testovania?
- Zastavenie, keď sa zistia všetky chyby: Je to možné?
- Rozhodnutie o zastavení testovania: Kritériá ukončenia
- Čo sú kritériá dokončenia alebo výstupu?
- Čo by malo byť obsiahnuté v kritériách výstupu?
- Testovanie je možné zastaviť, keď:
- Záver:
- Odporúčané čítanie
Kedy je to dosť testovania?
Kedy môžeme povedať, že toľko testovania stačí? Dá sa testovanie niekedy dokončiť?
Aby sme mohli odpovedať na tieto otázky, budeme musieť analyzovať testovacie činnosti od začiatku do konca. Upozorňujeme, že - tieto aktivity budem definovať laicky - nie technickým spôsobom.
Uvažujme, že začínate testovať nový projekt.
Počiatočné aktivity:
- Testovací tím dostane požiadavky.
- Začína sa testovací tím plánovanie a projektovanie.
- Dokumenty o úvodnom teste sú pripravené a skontrolované.
Testovacia prevádzka č. 1)
- Testovací tím spustí vykonanie testu akonáhle dostanú vyvinutý produkt.
- Počas testovacej fázy vykonajú rôzne scenáre, aby rozbili softvér a našli veľa chýb. (Miera chybovosti je tu tiež vyššia, pretože aplikácia je nová a úplne prvýkrát prechádza hodnotením.)
- Defekty boli opravené vývojármi a vrátené späť do testovacieho tímu na opätovné testovanie.
- Testovací tím vykoná opätovné testovanie chýb a vykoná regresiu.
- Len čo sa vyrieši väčšina závažných chýb a softvér vyzerá stabilne, vývojový tím vydáva ďalšiu verziu.
Testovacia prevádzka č. 2)
- Testovací tím začína druhú sériu testovania a podobné činnosti sa vykonávajú ako beh 1.
- V tomto procese sa počas druhého testovacieho cyklu zachytí ešte niekoľko chýb.
- Poruchy vývojári opravia a vrátia späť testovaciemu tímu na opätovné testovanie.
- Testovací tím opätovne testuje chyby a vykonáva ich regresia .
Toto môže pokračovať navždy. Beh 3, beh 4 a ďalej, kým nenájdete všetky chyby v softvéri a softvér nebude bez chýb.
Ak chceme pre tieto aktivity nakresliť vývojový diagram, bude vyzerať zhruba takto:
Z vyššie uvedeného vývojového diagramu môžeme jednoznačne vyvodiť, že testovanie môže pokračovať, kým sa nenájdu všetky chyby v softvéri.
Otázka však znie - je možné v softvéri nájsť každú jednu chybu? Skúsme nájsť odpoveď na túto otázku v miliónoch dolárov :).
Zastavenie, keď sa zistia všetky chyby: Je to možné?
Väčšina softvéru je zložitá a má obrovský rozsah testovania. Nie je nemožné nájsť všetky chyby softvéru, ale bude to trvať večne.
Aj po nájdení mnohých chýb v softvéri nikto nemôže v súčasnosti zaručiť, že softvér je bez chýb. Nemôže nastať situácia, že môžeme s istotou povedať, že sme dokončili testovanie, našli sme všetky chyby v softvéri a ten už nemá ďalšie chyby.
Účelom testovania navyše nie je nájsť všetky chyby softvéru. Účelom testovania softvéru je dokázať, že softvér funguje správne, a to tak, že ho rozbije alebo zistí odchýlku medzi svojím súčasným a očakávaným správaním.
Softvér obsahuje neobmedzené množstvo chýb, a preto je nepraktické testovať ho, kým sa nenájdu všetky chyby, pretože nikdy nevieme, ktorá chyba je posledná. Pravda je taká, že nemôžeme závisieť od nájdenia všetkých chýb softvéru, aby sme mohli ukončiť svoje testovanie.
Úprimne povedané, testovanie je nekonečné a testovacie cykly budú pokračovať, kým nebude rozhodnuté, kedy a kde sa má zastaviť. Teraz je ešte komplikovanejšie dospieť k rozhodnutiu ukončiť testovanie. Ak „zastavenie, keď sa zistia všetky chyby“, nie je kritériom na ukončenie testovania, na základe čoho by sa malo rozhodnúť?
Rozhodnutie ukončiť testovanie: Kritériá ukončenia
Pokúsme sa teraz pochopiť - Aké sú najdôležitejšie faktory, ktoré je potrebné zohľadniť pri ukončení testovacích aktivít? Cítim, že rozhodnutie prestať s testovaním väčšinou závisí Čas, rozpočet a rozsah testovania.
Najbežnejším prístupom je zastaviť sa, keď je vyčerpaný čas / rozpočet alebo sú vykonané všetky testovacie scenáre. Týmto prístupom však budeme robiť kompromisy v oblasti kvality testovania, čo neposkytuje dostatočnú dôveru v softvér; ako?
Pozrime sa spríklad.
Scenár testu:
Predpokladajme, že testujete softvérový modul. Bol vám pridelený určitý rozpočet na jeho krytie. Časový harmonogram projektu je mesiac. Celkový počet testovacích scenárov je 200. Tento modul testujete iba vy.
Scenár č. 1)
1. týždeň: Závadu showstopper / závažnosť 1 nájdete 1. deň a celé testovanie je blokované na 3 dni. Preto nie ste schopní vykonať žiadny zo scenárov, kým nebude vyriešený nedostatok závažnosti 1. Po strate 3 dní je blokovanie vyriešené a vy pokračujete vo svojej exekúcii.
Na konci týždňa absolvujete 20 scenárov a ešte niekoľko dôležitých prednosti vady .
2. týždeň: Začnete testovať softvér a viac sa zameriavate na hľadanie chýb. Počas druhého týždňa a na konci týždňa otvoríte niekoľko ďalších nedostatkov závažnosti 1, závažnosti 2 a závažnosti 3 a budete schopní pokryť 70 scenárov.
3. týždeň: Na začiatku 3rdtýždeň dostanete vyriešenie všetkých defektov s vysokou prioritou, takže spolu s vykonaním čakajúcich scenárov musíte znova otestovať všetky defekty, ktoré sa dostali do testovacieho segmentu. Pri pokračovaní dobrého postupu pokrývate 120 scenárov s ďalšími chybami.
Do tejto doby sú už všetky chyby vysokej priority nájdené a nahlásené. Takže teraz vám ostávajú iba závady Závažnosti 3.
4. týždeň: Do 4. týždňa musíte znova otestovať väčšinu otvorených chýb a zvyšných 80 scenárov. Vďaka tomu do konca 4. týždňa budete môcť dokončiť až 180 scenárov so všetkými defektmi s vysokou a strednou prioritou opravenými a opätovne otestovanými.
Uvedenie týchto informácií do tabuľky:
Týždne | Vykonané testovacie činnosti | Výsledok na konci týždňa |
---|---|---|
1. týždeň | • Deň 1 - Zobraziť nájdený nedostatok zátky. • Testovanie je blokované z dôvodu chyby závažnosti 1 zistenej v deň 1. • Porucha blokátora bola vyriešená 4. deň. • Vykonávanie testu pokračovalo do konca 1. týždňa. | • Boli otvorené vysoké priority / kritické chyby. • 20 scenárov dokončených. |
2. týždeň | • Viac pozornosti pri hľadaní chýb. • Vykonanie zostávajúcich testovacích scenárov. • Opätovné testovanie opravených chýb. | • Bolo otvorených niekoľko ďalších chýb závažnosti 1, závažnosti 2 a závažnosti 3. • Celkový obal 70 zahrnutých scenárov. |
3. týždeň | • Opätovné testovanie všetkých defektov s vysokou prioritou. • Vykonanie zostávajúcich testovacích scenárov. • Zostáva nájsť už iba chyby závažnosti 3. | • Bolo otvorených niekoľko ďalších chýb závažnosti 1, závažnosti 2 a závažnosti 3. • Celkový obal 120 zahrnutých scenárov. |
4. týždeň | • Opätovné testovanie všetkých defektov s vysokou a strednou prioritou. • Vykonanie zostávajúcich testovacích scenárov. | • Bolo otvorených niekoľko ďalších chýb Závažnosti 3. • Celkový obal 180 zahrnutých scenárov. |
Mali by ste sa tu zastaviť?
Dôvod, ktorý ste vyčerpali Čas testovania úplne a nahlásili a opravili väčšinu chýb s vysokou prioritou. Poskytne vám zastavenie v tomto bode dôveru v softvér? Nie naozaj z nižšie uvedených dôvodov:
- Scenáre sa nespúšťajú úplne.
- Málo tokov sa neskúša ani raz.
- Všetky zahrnuté scenáre sa vykonajú iba raz.
- Softvér má stále chyby.
- Regresia nie je zahrnutá.
Scenár č. 2)
1. týždeň: Poruchu závažnosti 1 zistíte 1. deň a úplné testovanie je blokované na 3 dni. Preto nie ste schopní vykonať žiadny zo scenárov, kým nebude vyriešený nedostatok závažnosti 1. Po strate 3 dní je blokovanie vyriešené a budete pokračovať vo svojej exekúcii.
Na konci týždňa absolvujete 20 scenárov s niekoľkými ďalšími chybami. Tento týždeň zostáva rovnaký ako v scenári 1.
2. týždeň: Počas druhého týždňa otvoríte niekoľko ďalších nedostatkov závažnosti 1, závažnosti 2 a závažnosti 3, ale zameraním je pokryť viac scenárov na pokrytie nevybavených prípadov od 1. týždňa. Na konci týždňa budete môcť pokryť 120 scenárov.
3. týždeň: Na začiatku 3rdtýždeň dostanete všetky otvorené chyby vyriešené, takže spolu s vykonávaním nevyriešených scenárov musíte znova otestovať všetky chyby, ktoré sa dostali do testovacieho bloku. Na konci stále s dobrým pokrokom sa počet dokončených scenárov zmení na 200 s ďalšími chybami.
Teraz môžete hlásiť iba chyby závažnosti 2 a závažnosti 3.
Uvedenie týchto informácií do tabuľky:
Týždne | Vykonané testovacie činnosti | Výsledok na konci týždňa |
---|---|---|
1. týždeň | • 1. deň - Zobraziť nájdený nedostatok zátky. • Testovanie je blokované z dôvodu chyby závažnosti 1 zistenej v deň 1. • Defekt blokátora vyriešený 4. deň. • Vykonávanie testu pokračovalo do konca 1. týždňa. | • Boli otvorené vysoké priority / kritické chyby. • 20 scenárov dokončených. |
2. týždeň | • Dôraz sa kladie na uskutočnenie ďalších scenárov, aby sme pokryli nevybavené položky z minulého týždňa. • Opätovné testovanie opravených chýb. | • Bolo otvorených niekoľko ďalších nedostatkov závažnosti 1, závažnosti 2 a závažnosti 3. • Celkový obal 120 zahrnutých scenárov. |
3. týždeň | • Opätovné testovanie všetkých defektov vysokej priority. • Vykonanie zostávajúcich testovacích scenárov. • Na nájdenie zostáva už iba Závažnosť 3 a niekoľko nedostatkov Závažnosti 2. | • Bolo otvorených niekoľko ďalších nedostatkov závažnosti 1, závažnosti 2 a závažnosti 3. • Všetky zahrnuté scenáre. |
Mali by ste sa tu zastaviť?
Máš všetky testovacie scenáre raz a otvorili niekoľko zásadných chýb. Poskytne vám zastavenie v tomto bode dôveru v softvér?
ako si vyrobiť falošné e-mailové účty
Nie naozaj z nižšie uvedených dôvodov:
- Všetky scenáre sa vykonajú iba raz.
- Softvér má stále veľa zásadných chýb.
- Regresia nie je zahrnutá.
Vidíme, že kvalita je zhoršená nad oboma scenármi. Najlepším prístupom bude nájdenie bodu, v ktorom budú pokryté všetky faktory zo scenára 1 a 2 a nebude tiež ohrozená kvalita. Aby sme to dosiahli, budeme musieť na začiatku testovania definovať určité kritériá.
Tieto kritériá sa označujú ako kritériá dokončenia alebo výstupu. Je to odpoveď na našu otázku - „Kedy ukončiť testovanie?“.
Čo sú kritériá dokončenia alebo výstupu?
Kritériá ukončenia sa vyhodnotia na konci testovacieho cyklu a sú definované v testovacom pláne. Je to súbor podmienok alebo činností, ktoré musia byť splnené, aby sa mohlo ukončiť testovanie.
Kritériá ukončenia určujú, koľko testovania stačí a kedy možno testovacie činnosti vyhlásiť za ukončené. Pokrytie a kritériá dokončenia sa skombinujú na definovanie výstupných kritérií pre testovanie.
Čo by malo byť obsiahnuté v kritériách výstupu?
V ideálnom prípade je kritérium ukončenia alebo zastavenia definované kombináciou rôznych faktorov, a preto je jedinečné pre všetky projekty. Závisí to od požiadavky projektu, a preto by sa malo definovať počas plánovania testu; na začiatku projektu. Parametre v ňom definované by mali byť čo najviac kvantifikované.
Ďalej uvádzame niekoľko ukazovateľov, ktoré je potrebné zohľadniť pri definovaní výstupných kritérií v prípade funkčného alebo systémového testovania. Môžete kombinovať niekoľko alebo všetky nižšie uvedené faktory pri rozhodovaní o tom, kde prestanete testovať podľa svojich projektových potrieb.
Testovanie je možné zastaviť, keď:
Požiadavky:
- 100% pokrytie požiadaviek je dosiahnuté.
Poruchy:
- Bol dosiahnutý počet definovaných / požadovaných chýb.
- Všetky chyby Zobraziť zátku alebo Blokovače sú opravené a Žiadna známa chyba Kritická / Závažnosť 1 sa nenachádza v otvorenom stave.
- Všetky chyby s vysokou prioritou sú identifikované a opravené.
- Miera defektov klesne pod definovanú prijateľnú mieru.
- Veľmi málo defektov so strednou prioritou je otvorených a má zavedené riešenie.
- Veľmi málo otvorených chýb s nízkou prioritou, ktoré nemajú vplyv na používanie softvéru.
- Všetky chyby s vysokou prioritou sú opätovne testované a uzavreté a príslušné regresné scenáre sa úspešne vykonajú.
Pokrytie testu:
- Pokrytie testu by malo byť dosiahnuté na 95%.
- Miera úspešnosti testovacieho prípadu by mala byť 95%. To sa dá vypočítať podľa vzorca
- (Celkový počet úspešných TC / Celkový počet TC) * 100.
- Všetky kritické testovacie prípady prešli.
- 5% testovacích prípadov môže byť neúspešných, ale zlyhané testovacie prípady majú nízku prioritu.
- Je dosiahnuté úplné funkčné pokrytie.
- Všetky hlavné funkčné / obchodné toky sa úspešne vykonávajú s rôznymi vstupmi a fungujú dobre.
Termíny:
- Je dosiahnutý konečný termín projektu alebo konečný výsledok testu.
Skúšobné dokumenty:
- Všetky testovacie dokumenty / výstupy (príklad - Súhrnná správa o teste ) sú pripravené, preskúmané a uverejnené v celom rozsahu.
Rozpočet:
- Kompletný rozpočet na testovanie je vyčerpaný.
Stretnutia „Go / No Go“:
- „ Choď / No Go „ stretnutie bola vykonaná so zúčastnenými stranami a bolo rozhodnuté, či by mal projekt prejsť do výroby alebo nie.
Záver:
Poďme si to na konci veľmi zjednodušiť.
Odpovedzte na otázky jednoduchým áno alebo nie.
Ak dostanete väčšinu odpovedí ako Áno, znamená to, že v tomto okamihu môžete testovanie ukončiť. Ak je väčšina odpovedí Nie, znamená to, že musíte skontrolovať, čo v testovaní chýba, čo vám môže pomôcť nájsť unikajúcu výrobnú chybu :)
- Vykonávajú sa všetky testovacie prípady aspoň raz?
- Je testovací prípad vyhovujúci podľa definície?
- Je dosiahnuté úplné pokrytie testom?
- Vykonávajú sa všetky funkčné / obchodné toky aspoň raz?
- Je dosiahnutý stanovený počet chýb?
- Sú všetky závažné chyby vysokej priority opravené a uzavreté?
- Boli všetky závady opätovne testované a uzavreté?
- Urobila sa regresia pre všetky otvorené chyby?
- Vyčerpali ste rozpočet na testovanie?
- Dosiahol sa čas ukončenia testovania?
- Sú všetky výstupy testu skontrolované a zverejnené?
O autorovi: Toto je hosťovský článok Renuky K. Má viac ako 11 rokov skúseností s testovaním softvéru.
Dúfam, že vám tento článok pomohol. Tiež by som rád počul vaše myšlienky / komentáre k tejto téme.
Príjemné testovanie!
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Úloha pomocníka QA pri testovaní softvéru
- Sylabus kurzu Softvérové testovanie - podrobný výcvikový plán online kurzu
- Kurz testovania softvéru: Do ktorého inštitútu pre testovanie softvéru by som sa mal pripojiť?
- Ako svoju kariéru si zvolíte testovanie softvéru
- Práca na voľnej nohe pre spisovateľa technického obsahu, ktorý testuje softvér
- Niektoré zaujímavé otázky týkajúce sa testovania softvéru
- Spätná väzba a recenzie na kurz testovania softvéru