11. diel - Manažment testovania Nové
V predchádzajúcej lekcii, Prístupy k testovaniu založené na spolupráci , sme si ukázali poslednú techniku – prístupy k testovaniu založené na spolupráci, ktoré zahŕňajú spoločné písanie užívateľských scenárov, akceptačné kritériá a vývoj riadený akceptačnými testami.
V dnešnej lekcii základov testovania softvéru sa detailnejšie zameriame na test planning, prejdeme si prínos testerov pri plánovaní iterácií a vstupné aj výstupné kritériá.
Test planning
Plán testovania stanovuje ciele, zdroje a procesy pre testovanie projektu.
- spôsob dosiahnutia cieľov a harmonogram testovania,
- zabezpečenie splnenia testovacích kritérií,
- komunikáciu s tímom a zainteresovanými stranami,
- súlad s politikou a stratégiou testovania.
Slúži ako nástroj na analýzu prácnosti potrebnej na dosiahnutie testovacích cieľov.
- kontext testovania,
- predpoklady a obmedzenia testovacieho projektu,
- definíciu zainteresovaných strán,
- plán komunikácie,
- register rizík,
- prístup k testovaniu,
- rozpočet a harmonogram.
V iterative development modeloch SDLC existujú dva hlavné druhy plánovania – plánovanie vydania a plánovanie iterácie.
Plánovanie vydania sa zameriava na budúce vydanie produktu, definuje a upravuje produktový backlog a rozdeľuje väčšie užívateľské scenáre na menšie časti. Tento proces je základom pre definíciu prístupu k testovaniu a plánu testovania naprieč všetkými iteráciami. kritérií, analýze projektových a produktových rizík, odhadoch prácnosti a test planningu súvisiaceho s vydaním. Tester napríklad spolupracuje s tímom na rozdelení komplexných užívateľských scenárov do menších, ľahko testovateľných častí.
Plánovanie iterácie sa zameriava na dokončenie jednej iterácie a pracuje s backlogom iterácie. scenáre na konkrétne testovacie úlohy a odhaduje potrebný čas na ich vykonanie. Zároveň analyzuje potenciálne riziká spojené s testovaním, aby zaistil efektívny priebeh iterácie.
Vstupné a výstupné kritériá
Vstupné kritériá sú podmienky, ktoré musia byť splnené pred začatím testovacej činnosti. Ak nie sú kritériá splnené, testovanie môže byť ťažšie, časovo náročnejšie a rizikovejšie.
Výstupné kritériá stanovujú podmienky, ktoré musia byť dosiahnuté, aby bolo možné testovanie ukončiť.
V agile developmentu sa výstupné kritériá označujú ako definícia hotového a vstupné kritériá ako definícia pripravenosti. Tieto kritériá by mali byť stanovené pre každú úroveň testovania a môžu sa líšiť podľa cieľov testu.
Techniky pre odhadovanie
Odhad prácnosti testovania predstavuje očakávané množstvo práce potrebné na dosiahnutie cieľov testovania v projekte. Je dôležité upozorniť, že odhady vychádzajú z momentálnych predpokladov a môžu byť zaťažené chybou. techniky odhadovania.
Odhad na základe pomerov využíva metriky z predchádzajúcich projektov, aby odvodil pomery pre projekt nový.
Extrapolácia je založená na metrikách z aktuálneho projektu, kde sa čoskoro začínajú merať dáta. Tieto údaje sa potom extrapolujú, napríklad podľa priemernej prácnosti z predchádzajúcich iterácií v iterative development modelu SDLC.
Wideband Delphi je technika, pri ktorej experti odhadujú prácnosť nezávisle. Odhady sa porovnávajú, diskutujú sa rozdiely a proces sa opakuje, pokiaľ nie je dosiahnutá zhoda. Variantom je plánovací poker, bežný v agile developmentu, kde sa používajú karty s číslami symbolizujúcimi rozsah prácnosti.
Trojbodový odhad je technika, pri ktorej experti poskytujú tri odhady: najoptimistickejší (a), najpravdepodobnejší (m) a najpesimistickejší (b) Výsledný odhad (E) sa vypočíta ako vážený aritmetický priemer:
E = (a + 4 * m + b) / 6
Výhodou tejto metódy je, že umožňuje expertom vypočítať chybu merania, a to obvykle vo forme smerodajnej odchýlky.
SD = (b - a) / 6
Ak je teda napríklad najoptimistickejší odhad a = 6, najpravdepodobnejší odhad m = 9 a najpesimistickejší odhad b = 18, výsledný odhad je potom E = 10 človekohodín a smerodajná odchýlka SD = 2, čo znamená rozsah od 8 do 12 človekohodín, pretože:
E = (6 + 4 * 9 + 18) / 6 = 10
a
SD = (18 - 6) / 6 = 2
Prioritizácia test časov
Po vytvorení a zostavení test časov do testovacích sád je potrebné určiť poradie spúšťania na základe rôznych faktorov:
Medzi najčastejšie používané stratégie prioritizácie patria:
- Prioritizácia na základe rizík, kde sú testy zoradené podľa rizikovej analýzy, pričom najprv sa spúšťajú testy pokrývajúce najdôležitejšie riziká.
- Prioritizácia na základe pokrytia, kde sa test časy, ktoré dosahujú najvyššieho pokrytia, vykonávajú ako prvé Nasledujú testy, ktoré prinášajú najväčšie dodatočné pokrytie.
- Prioritizácia na základe požiadaviek, kde sú testy zoradené podľa priorít požiadaviek definovaných zainteresovanými stranami.
Predstavme si tím, ktorý testuje novú funkciu platobnej brány e-shopu. Najprv sa vykonávajú testy súvisiace s bezpečnostnými rizikami, ako je ochrana platobných údajov, teda podľa prioritizácie na základe rizík. rôznych platobných metód. A nakoniec sú testované menej kritické požiadavky s nižšou prioritou, ako je napríklad rýchlosť spracovania platby, a síce podľa prioritizácie na základe požiadaviek.
Napriek tomu, že by sa testy mali v ideálnom prípade vykonávať podľa ich priority, poradie môžu ovplyvniť závislosti medzi testami. ako sú testovacie nástroje, prostredie alebo kapacita tímových členov.
Testing pyramíd
Testing pyramíd (testovacia pyramída) je model, ktorý ukazuje rôznu granularitu testov a pomáha určiť vhodný pomer automatizovaných testov. Umožňuje tímom rozložiť prácnosť v rôznych úrovniach automatizácie a dosiahnuť ciele každej úrovne:
Spodná vrstva pyramídy obsahuje malé, izolované a rýchle testy, ktoré overujú jednotlivé časti funkcionality. Obvykle je ich na dosiahnutie rozumného pokrytia potrebné veľké množstvo.
Horná vrstva pyramídy obsahuje komplexné end-to-end (E2E) testy, ktoré sú pomalšie a overujú väčšiu časť funkcionality. Na pokrytie stačí len niekoľko takých testov.
Model pyramídy sa môže líšiť podľa projektu. Pôvodný model zahŕňa tri vrstvy, zatiaľ čo iné modely môžu zahŕňať jednotkové testy, component integration testing či end-to-end testy.
Praktický príklad
Predstavme si vývoj tímu, ktorý pracuje na webovej aplikácii pre online nákupy. Tím používa testing pyramíd na definovanie správneho pomeru automatických testov. pre výpočet celkovej ceny objednávky po aplikácii zľavy. Jednotkové testy sú rýchle, izolované a zameriavajú sa na správnosť jednotlivých metód.
Strednú vrstvu tvorí component integration tests. Integračné testy overujú správnu interakciu medzi komponentmi. Tím testuje, či modul pre pridanie položiek do košíka správne komunikuje s platobným modulom.
Hornú vrstvu potom tvoria end-to-end testy. Tým ich má niekoľko procesov. tomto príklade zaisťuje, že väčšina testov je rýchla a efektívna, zatiaľ čo niekoľko end-to-end testov pokrýva kritické scenáre na vyššej úrovni.
Testing quadrants
Testing quadrants (testovacie kvadranty), definované Brianom Marickom, spájajú úrovne testovania s príslušnými typmi testov, technikami a pracovnými produktmi v agile developmente. Tento model pomáha manažmentu testovania zaistiť, aby všetky relevantné typy a úrovne testov boli zahrnuté do SDLC, a umožňuje testerom lepšie pochopiť, ktoré testy sú pre určité úrovne vhodnejšie:
Model rozlišuje testy podľa osi Y (biznisové alebo technologické zameranie) a osi X (testy zamerané na podporu tímu alebo kritiku produktu), čo vytvára štyri kvadranty:
- Kvadrant Q1 – Obsahuje component testing a component integration tests. Tieto testy sú automatizované a začlenené do procesu CI. objednávok.
- Kvadrant Q2 – Zahŕňa functional testing, príklady, testy užívateľských scenárov, UX prototypy, testovanie API a simulácie. , vrátane pridania produktu do košíka a platby, a to podľa aceptance kritérií.
- Kvadrant Q3 – Zameriava sa na exploratory testing, testovanie použiteľnosti a užívateľské acceptance testy Tieto testy sú obvykle manuálne a orientované na užívateľov Tester napríklad skúma novú mobilnú aplikáciu pre rezervácie reštaurácií a hľadá prípadné nedostatky v užívateľskom rozhraní, ako sú nejasné navigačné prvky.
- Kvadrant Q4 - Obsahuje smoke testy a nefunkcionálne testy, často automatizované.
V budúcej lekcii, Manažment rizík , sa detailnejšie zameriame na definíciu rizika a jeho atribúty, rozlíšime si projektové a produktové riziká a tiež si ukážeme, čo je to analýza a riadenie produktových rizík. V druhej časti sa zameriame na metriky používané v testovaní a tiež na účel, obsah a cieľové skupiny reportov z testovania.