IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

13. diel - Testovacie nástroje Nové

V predchádzajúcej lekcii, Manažment rizík , sme sa detailnejšie zamerali na definíciu rizika a jeho atribúty, rozlíšili sme si projektové a produktové riziká a ukázali sme si tiež čo je analýza a riadenie produktových rizík. V druhej časti sme sa zamerali na metriky používané v testovaní a taktiež na účel, obsah a cieľové skupiny reportov z testovania.

V dnešnej lekcii, ktorá sa venuje testovacím nástrojom sa najskôr pozrieme na 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.

Konfiguračný manažment

Konfiguračný manažment je disciplína v oblasti testovania zameraná na identifikáciu, riadenie a sledovanie pracovných produktov:

Konfiguračné položky - Testovanie softvéru podľa ISTQB - Testovanie softvéru podľa ISTQB

Komplexné konfiguračné položky môžu zahŕňať čiastkové položky s definovanými vzťahmi a verziami. Akonáhle je konfiguračná položka schválená, stáva sa súčasťou tzv. baseline a akékoľvek zmeny môžu byť vykonávané iba prostredníctvom formálneho procesu riadenia zmien. Baseline je východiskový stav projektu, kódu alebo systému, ktorý slúži ako referenčný bod pre porovnanie budúcich zmien. Umožňuje merať odchýlky a zaisťuje kontrolu nad zmenami počas vývoja a testovania.

Pri vytvorení novej baseline konfiguračný manažment zaznamenáva všetky zmeny, čo umožňuje reprodukovať predchádzajúce výsledky testov návratom k pôvodnej baseline.

Konfiguračný manažment zaisťuje:

  • Jednoznačnú identifikáciu všetkých konfiguračných položiek a ich verzií, evidenciu zmien a sledovanie vzťahov medzi položkami pre trasovateľnosť v priebehu testovania.
  • Jednoznačné odkazy na všetky dokumenty a softvérové položky v dokumentácii testovania.
Automatizovaný konfiguračný manažment je často súčasťou DevOps pipeline, ktorá zahŕňa procesy ako continous integration, continous delivery a nasadzovanie spolu s automatizovaným testovaním.

Praktický príklad

Predstavme si tím, ktorý testuje nový modul pre správu objednávok v e-shope. Tím vytvára a spravuje niekoľko konfiguračných položiek na testovanie modulu objednávok. Testovací tím vytvorí test casy pre overenie funkčnosti, ako je pridanie položiek do košíka, uplatnenie zliav a dokončenie objednávky. Každý test case je jednoznačne identifikovaný verziou a je uložený v nástroji pre správu verzií. Akonáhle sú všetky test časy schválené, stanú sa súčasťou baseline. Ak je nutné upraviť niektorý z test časov, napríklad pri pridaní novej funkcie, úpravy môžu byť vykonané iba prostredníctvom formálneho procesu riadenia zmien.

Konfiguračný manažment zaznamenáva všetky zmeny vykonané v test casoch a testovacích skriptoch. To umožňuje tímu ľahko sa vrátiť k predchádzajúcej verzii testovacej sady, pokiaľ je potrebné reprodukovať výsledky testov z predchádzajúceho cyklu. Automatizovaný konfiguračný manažment je integrovaný do DevOps pipeline. Pri každom nasadení novej verzie modulu sú všetky zmeny v testovacích skriptoch a konfiguráciách automaticky zaznamenané a testy sú spustené, aby sa overilo, že nová verzia neporušila žiadnu z funkcionalít.

Manažment defektov

Manažment defektov je nevyhnutný proces v testovaní, ktorého cieľom je efektívne riadiť zistené defekty od ich odhalenia až po uzavretie. Tento proces zahŕňa definíciu pracovného postupu pre spracovanie anomálií a pravidlá pre ich klasifikáciu. Pracovný postup obvykle zahŕňa činnosti ako zaznamenávanie, analýzu, klasifikáciu, rozhodnutie o reakcii a uzavretie reportu o defekte. Anomálie môžu byť hlásené v akejkoľvek fáze SDLC, vrátane static testingu. Nie všetky nahlásené anomálie sú skutočné defekty, čo je posúdené v rámci spracovania reportu:

Ciele reportov o defekte - Testovanie softvéru podľa ISTQB - Testovanie softvéru podľa ISTQB

Report o defekte zaznamenaný počas dynamic testing obvykle obsahuje:

  • jedinečný identifikátor,
  • názov a krátke zhrnutie anomálie,
  • dátum, reportujúca organizácia a autor,
  • identifikáciu testovaného objektu a prostredia,
  • kontext defektu,
  • popis zlyhania umožňujúci reprodukciu a vyriešenie,
  • očakávané a skutočné výsledky,
  • závažnosť defektu,
  • prioritu opravy,
  • stav defektu,
  • odkazy.
Praktický príklad

Napríklad počas testovania e-shopu tester objaví chybu, kedy sa nesprávne počíta celková cena objednávky pri použití zľavového kupónu. Tester túto chybu zaznamená do systému pre správu defektov s podrobným popisom problému, identifikáciou testovaného prostredia, krokov k reprodukcii chyby, očakávaného a skutočného výsledku. Defekt je klasifikovaný ako vysoko závažný, pretože ovplyvňuje výpočet platieb zákazníkov, a je prioritne odovzdaný vývojovému tímu na opravu.

Nástroje pre manažment defektov môžu automaticky zaznamenávať niektoré informácie. Šablóny a príklady reportov je možné nájsť v norme ISO/IEC/IEEE 29119-3.

Nástroje na podporu testovania

Testovacie nástroje podporujú a uľahčujú mnoho testovacích aktivít. Medzi takéto nástroje patria napríklad nástroje pre manažment testovania, ktoré zvyšujú efektivitu testovania uľahčením správy SDLC, požiadaviek, testov, defektov a konfigurácií. Nástroje pre static testing zase podporujú vykonávanie revízií a static analysis. Nástroje pre návrh a test implementation uľahčujú vytváranie test časov, testovacích dát a testovacích procedúr. Automatizované vykonávanie testov a meranie pokrytia uľahčujú nástroje na vykonávanie testov a meranie ich pokrytia. Nástroje na nefunkcionálne testovanie umožňujú vykonávať nefunkcionálne testovanie, ktoré je ťažké alebo nemožné vykonať manuálne. DevOps nástroje podporujú pipeline v DevOps, sledovanie pracovných tokov, procesy automatizovaného zostavovania a CI/CD:

DevOps - Testovanie softvéru podľa ISTQB - Testovanie softvéru podľa ISTQB

Nástroje pre spoluprácu uľahčujú komunikáciu. Máme tiež nástroje podporujúce škálovateľnosť a štandardizáciu nasadenia ako virtuálne počítače a nástroje na prácu s kontajnermi. Môže to byť však aj akýkoľvek iný nástroj, ktorý pomáha pri testovaní, napríklad tabuľkový procesor môže byť v kontexte testovania považovaný za testovací nástroj.

Výhody a riziká automatizácie testov

Jednoduché obstaranie nástroja nie je zárukou úspechu. Každý nový nástroj vyžaduje určitú prácnosť na dosiahnutie reálnych a trvalých prínosov napríklad na zavedenie nástroja, jeho údržbu a školenia. Existujú aj určité riziká, pri ktorých je vhodné vykonať analýzu a zmiernenie ich vplyvu.

Medzi možné výhody použitia automatizácie testov patria:

  • Úspora času znížením množstva opakovanej manuálnej práce - vykonávanie regression tests, opätovné zadávanie rovnakých testovacích dát, porovnávanie očakávaných výsledkov so skutočnými alebo kontroly kódu podľa daného štandardu programovania.
  • Predchádzanie ľudských chýb vďaka vyššej konzistencii a opakovateľnosti - testy sú dôsledne odvodzované z požiadaviek, testovacie dáta sú vytvárané systematicky alebo sú testy vykonávané nástrojom v stále rovnakom poradí s rovnakou frekvenciou.
  • Objektívnejšie posúdenie a vykonávanie opatrení, ktoré sú pre človeka príliš komplikované na odvodenie.
  • Jednoduchší prístup k informáciám o testovaní pre podporu manažmentu testovania a reportovania testov - štatistiky, grafy a súhrnné dáta o priebehu testov, miere defektov a dĺžke vykonávania testov.
  • Skrátenie doby vykonávania testov vedúce k skoršej detekcii defektov, rýchlejšej spätnej väzbe a rýchlejšiemu uvedeniu na trh.
  • Úspora času testerov, ktorý je možné využiť na návrh nových, dôkladnejších a efektívnejších testov.
Medzi možné riziká použitia automatizácie testov patria:
  • Nerealistické očakávania od daného nástroja vrátane funkcionality a jednoduchosti použitia.
  • Nepresné odhady času, nákladov, úsilia potrebného na zavedenie nástroja, udržiavanie testovacích skriptov a zmene existujúceho procesu manuálneho testovania.
  • Používanie nástroja v situáciách, kedy je manuálne testovanie vhodnejšie.
  • Prílišné spoliehanie sa na nástroj, napr. v zmysle ignorovania potreby kritického myslenia človeka.
  • Závislosť na dodávateľovi nástroja, ktorý môže ukončiť činnosť, prestať vyvíjať nástroj, predať nástroj inému dodávateľovi alebo poskytovať nedostatočnú podporu, napríklad reakcie na otázky, upgrady a opravy defektov.
  • Používanie open-source nástroja, ktorého vývoj môže byť zastavený alebo ktorého vnútorné komponenty môžu vyžadovať pomerne časté aktualizácie a ďalší vývoj.
  • Nekompatibilita technológie automatizácie testovania s technológiami pre vývoj.
  • Výber nevhodného nástroja, ktorý nespĺňa regulatórne požiadavky alebo bezpečnostné normy.
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, Michael Pilaeten, Meile Posthuma, Stuart Reid, Eric Riou du Cosquer (predseda) Stapp, Stephanie Ulrich (podpredseda), Eshraka Zakaria

V ďalšej lekcii, Úvod do vývoja softvéru , si uvedieme bežné problémy pri vývoji softvéru a ich možné riešenie. Budeme tiež vedieť, aký je rozdiel medzi tradičnou a agilnou metodikou.


 

Predchádzajúci článok
Manažment rizík
Všetky články v sekcii
Testovanie softvéru podľa ISTQB
Preskočiť článok
(neodporúčame)
Úvod do vývoja softvéru
Článok pre vás napísala Jana Zimčíková
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity