12. diel - Manažment rizík Nové
V predchádzajúcom kvíze, Kvíz - Revízia, návrh testov a white-box testing, sme si overili nadobudnuté skúsenosti z predchádzajúcich lekcií.
V dnešnej lekcii manažmentu rizík sa detailnejšie zameriame na definíciu rizika a jeho atribúty, rozlíšime si projektové a produktové riziká a ukážeme si tiež čo je 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.
Manažment rizík
Organizácia čelí rôznym interným aj externým faktorom, ktoré môžu ovplyvniť ich schopnosť dosiahnuť ciele. Manažment rizík pomáha zvýšiť pravdepodobnosť úspechu, zlepšiť kvalitu produktov a posilniť dôveru zainteresovaných strán. Kľúčové činnosti v manažmente rizík zahŕňajú analýzu rizík a riadenie rizík.
Testovanie založené na rizikách je prístup, pri ktorom sú testovacie činnosti vyberané, prioritizované a spravované na základe výsledkov analýzy rizík a riadenia rizík.
Praktický príklad
Predstavme si tím, ktorý vyvíja bankovú aplikáciu na správu účtov a prevod peňazí:
Tím identifikuje kľúčové riziká, ktoré by mohli ovplyvniť fungovanie aplikácie. Medzi hlavné riziká patria:
- Riziko nesprávneho výpočtu zostatku na účte.
- Riziko zlyhania pri spracovaní medzinárodných prevodov.
- Riziko úniku citlivých dát pri nešifrovanej komunikácii.
Definícia rizika a jeho atribúty
Riziko je potenciálna udalosť, hrozba alebo situácia, ktorej výskyt môže mať nepriaznivé dôsledky. Riziko je charakterizované dvoma hlavnými faktormi:
- pravdepodobnosť rizika - pravdepodobnosť, že riziko nastane, vyjadrená v percentách alebo ako hodnota medzi 0 a 1,
- vplyv rizika – dôsledky, ktoré výskyt rizika spôsobí.
Projektové a produktové riziká
Pri testovaní softvéru sa obvykle rozlišujú projektové a produktové riziká. Projektové riziká sa týkajú manažmentu a riadenia projektu. Tieto riziká môžu ovplyvniť harmonogram, rozpočet alebo rozsah projektu, a tým ohroziť dosiahnutie projektových cieľov:
Produktové riziká sa týkajú kvalitatívnych charakteristík softvérového produktu:
Produktové riziká môžu mať rôzne negatívne dôsledky, ako nespokojnosť užívateľov, stratu príjmov, dôvery, povesti, môžu to byť aj škody spôsobené tretím stranám, vysoké náklady na údržbu, preťaženie helpdesku, trestnoprávne postihy, fyzické poškodenie, zranenie av extrémnych prípadoch aj smrť.
Analýza produktových rizík
Cieľom analýzy produktových rizík v testovaní je identifikovať a minimalizovať riziká spojené s kvalitou produktu. Táto analýza začína ideálne v ranej fáze SDLC a skladá sa z identifikácie a ohodnotenia rizík.
Identifikácia rizík zahŕňa vytvorenie komplexného zoznamu rizík, čo môžu vykonávať všetky zainteresované strany pomocou techník ako brainstorming, workshopy, rozhovory alebo grafy príčin a následkov. Napríklad pri vývoji platobnej brány môže tím identifikovať riziko zlyhania transakcií pri veľkom objeme užívateľov počas špičky.
Ohodnotenie rizík zahŕňa kategorizáciu rizík, určenie ich pravdepodobnosti, vplyvu a úrovne, stanovenie priorít a navrhnutie spôsobov riešenia. Riziká možno hodnotiť kvantitatívne (úroveň rizika ako násobok pravdepodobnosti a dopadu) alebo kvalitatívne (pomocou matice rizík). Tím napríklad odhaduje, že pravdepodobnosť zlyhania transakcií je vysoká a vplyv na používateľov by bol kritický, preto toto riziko zaradí medzi najvyššie priority na riešenie, napríklad zavedením záťažových testov.
Výsledky analýzy ovplyvňujú rozsah a dôkladnosť testovania. Používajú sa na:
- určenie rozsahu testovania, ktoré sa má vykonať,
- určenie konkrétnych úrovní testovania a návrhu typov testov, ktoré sa majú vykonať,
- určenie techník testovania, ktoré majú byť použité,
- určenie pokrytia, ktoré sa má dosiahnuť,
- odhadu prácnosti testovania vyžadovaného pre každú úlohu,
- stanovenie priorít testovania s cieľom čo najrýchlejšieho nachádzania kritických defektov,
- určenie, či by sa mohli na zníženie rizika použiť aj iné činnosti.
Riadenie produktových rizík zahŕňa opatrenia, ktoré reagujú na identifikované a ohodnotené riziká. Skladá sa z dvoch hlavných častí - zmierňovania rizík a monitoringu rizík.
Zmierňovanie rizík zahŕňa zavedenie opatrení navrhnutých pri analýze rizík s cieľom znížiť ich úroveň. Na riziká je možné reagovať rôznymi spôsobmi, ako je zmiernenie rizika testovaním, jeho prijatie, prenesenie alebo príprava záložného plánu. Opatrenia zahŕňajú:
- výber testerov so špecifickými skúsenosťami pre dané riziko,
- použitie nezávislého testovania,
- vykonanie revízií a statickej analýzy,
- použitie vhodných testovacích techník a úrovní pokrytia,
- zameranie na príslušné typy testov podľa kvalitatívnych charakteristík,
- dynamické testovanie, vrátane regression testing.
Monitoring, control a test closure
Test monitoring sa zameriava na zhromažďovanie informácií o priebehu testovania. Tieto informácie slúžia na vyhodnotenie postupu a overenie, či boli splnené výstupné kritériá alebo dokončené testovacie úlohy.
Riadenie testovania využíva dáta z monitoringu na vykonávanie potrebných opatrení a pokynov s cieľom optimalizovať efektivitu testovania:
Test closure zahŕňa konsolidáciu dát z dokončených testovacích aktivít, vrátane skúseností, testvéru a dôležitých informácií. K tejto fáze dochádza pri projektových míľnikoch, ako je dokončenie úrovne testovania, iterácie, testovacieho projektu alebo vydania softvéru.
Praktický príklad
Predstavme si, že tím testuje novú funkciu mobilnej aplikácie na správu osobných financií, konkrétne funkciu automatických platieb. Tím sleduje priebeh testovania funkcie automatických platieb a zhromažďuje dáta o počte vykonaných testov, počte nájdených chýb ao pokrytí testovaných scenárov. Na základe týchto informácií zistí, že stále zostáva otestovať niekoľko kritických scenárov. Vzhľadom na novo objavené chyby v oblasti zrušenia platby rozhodne vedúci testovania o prehodnotení priorít. Testy na zrušenie platieb sú presunuté na vyššiu prioritu a harmonogram testovania je upravený, aby sa zabezpečilo, že tieto kritické scenáre budú dôkladne otestované. Po dokončení všetkých testovacích scenárov je testovanie tejto funkcie uzavreté. Tím konsoliduje dáta o počte test časov, nájdených a opravených chybách ao dosiahnutom pokrytí testov. Tieto informácie sú zaznamenané a zdieľané s ostatnými členmi tímu ako spätná väzba pre budúce testovacie cykly.
Metriky používané v testovaní
Testovacie metriky sa zhromažďujú za účelom sledovania postupu testovania, kvality produktu a efektivity testovacích činností:
Tieto metriky podporujú monitoring a riadenie testovania a pomáhajú pri dosiahnutí cieľov projektu alebo iterácie. Medzi bežné testovacie metriky patria:
- Metriky o postupe projektu - napríklad dokončenie úloh, využitie zdrojov, prácnosť testovania. Tím sleduje, že bolo dokončených 75 % plánovaných testovacích úloh v aktuálnej iterácii.
- Metriky o postupe testovania - zahŕňajú postup implementácie test časov, stav testovacích prostredí, počet spustených / nespustených testov, počet testov, ktoré prešli / zlyhali, doba vykonania testu. Zaznamenáva sa napríklad, že bolo spustených 120 zo 150 test časov, pričom 90 z nich prešlo.
- Metriky kvality produktu - patrí sem napríklad dostupnosť systému, doba odozvy, stredná doba medzi poruchami. Napríklad sa meria, že priemerná doba odozvy systému je 1,5 sekundy.
- Metriky nad defektmi - počet a priorita zistených/opravených defektov, hustota defektov, percento detekcie defektov. V aktuálnom šprinte bolo napríklad nájdených a opravených 20 defektov s vysokou prioritou.
- Metriky nad rizikami - sledujú úroveň reziduálnych rizík. Napríklad po záťažovom testovaní zostávajú dve stredne závažné riziká, ktoré si vyžadujú ďalšiu pozornosť.
- Metriky pokrytie - pokrytie požiadaviek, pokrytie kódu. Napríklad pokrytie požiadaviek testovaním je 85 %, čo znamená, že väčšina požiadaviek bola otestovaná.
- Metriky nákladov - náklady na testovanie, náklady na kvalitu v rámci organizácie. Tým treba odhaduje, že doterajšie náklady na testovanie predstavujú 15 % z celkového rozpočtu projektu.
Účel, obsah a cieľové skupiny reportov z testovania
Účelom reportov z testovania je poskytovať prehľadné informácie o postupe testovania a jeho výsledkoch počas aj po skončení testovacej fázy. Reporty o postupe prác pomáhajú riadiť testovanie a umožňujú vykonávať úpravy v harmonograme, zdrojoch alebo plánoch, ak sú potrebné zmeny. Súhrnné reporty z testovania potom poskytujú prehľad o ukončenej fáze testovania a môžu slúžiť ako podklad pre ďalšie fázy.
Reporty o postupe prác
Počas monitoringu a riadenia testovania vytvára testovací tím reporty o postupe prác pri testovaní s cieľom poskytovať zainteresovaným stranám informácie. Tieto reporty sú vytvárané pravidelne a obvykle obsahujú:
- testovacie obdobie,
- postup prác vrátane odchýlok,
- prekážky a ich riešenie,
- testovacie metriky,
- nové a zmenené riziká počas testovacieho obdobia,
- testovanie plánované pre nasledujúce obdobie.
Súhrnný report z testovania sa pripravuje v priebehu fázy dokončenia testovania, kedy je projekt, úroveň testovania alebo typ testu ukončený, a kedy sú splnené stanovené výstupné kritériá. Tento report využíva informácie z čiastkových reportov o postupe prác pri testovaní a dopĺňa ich o ďalšie dáta. Typické súhrnné reporty z testovania obsahujú:
- zhrnutie testov,
- vyhodnotenie testovania a kvality produktu,
- odchýlky od test plan,
- prekážky a ich riešenie,
- testovacie metriky,
- neošetrené riziká a nevyriešené defekty,
- ponaučenie relevantné pre testovanie.
Komunikovanie stavu testovania
Optimálny spôsob komunikácie o stave testovania závisí na potrebách manažmentu, stratégii testovania, regulačných požiadavkách alebo spôsobe organizácie tímu:
Existuje niekoľko metód komunikácie, ktoré môžu byť použité samostatne alebo v kombinácii:
- verbálna komunikácia s členmi tímu a ďalšími zainteresovanými stranami,
- dashboardy pre vizualizáciu stavu testovania,
- elektronické komunikačné kanály,
- online dokumentácia prístupná všetkým členom tímu,
- formálne reporty z testovania pre manažment alebo regulátory.
Zdrojom tejto lekcie sú Učebné osnovy - Certifikovaný tester základnej úrovne ver. 4.0. Copyright © 2023 autori verzie 4.0: Renzo Cerquozzi, Wim Decouter, Klaudia Dussa-Zieger, Jean-François Riverin, Arnika Hryszko, Martin Klonk, Michaël Pilaeten, Meile Posthuma, Stuart Reid, Eric Riou du Cosquer (predseda) Stapp, Stephanie Ulrich (podpredseda), Eshraka Zakaria
V budúcej lekcii, Testovacie nástroje , si ukážeme čo je to konfiguračný manažment a manažment defektov. Vysvetlíme ako rôzne typy testovacích nástrojov podporujú testovanie a ukážeme si výhody a riziká automatizácie testov.