Úvod do agilného testovania
Agilné testovanie je proces testovania softvéru. Z toho vyplýva princíp agilného vývoja softvéru. Ide o prepojenú metodiku vývoja, pretože vývojové a testovacie činnosti tu prebiehajú paralelne. Vývoj je v súlade s meniacimi sa požiadavkami zákazníkov.
Agilné testovanie je nepretržitý proces. Na tom sa podieľajú všetci členovia projektu. Testovanie nie je samostatná fáza, skôr sa vykonáva spolu s kódovaním, výsledkom je kvalitný konečný produkt, ktorý spĺňa požiadavky zákazníkov. Testovanie sa začína na začiatku projektu a existuje spojitosť medzi testovaním a vývojom.
Hlavným cieľom agilného tímu je dosiahnutie kvality. Časové rámce agilného testovania sú krátke (1 až 4 týždne) a pomenované Iterácie. Testovanie sa vykonáva súbežne s vývojom iteračného modelu.
Princípy agilného testovania
1. Nepretržité: Poskytuje priebežnú spätnú väzbu, takže výrobky spĺňajú potreby podniku.
2. Tímová práca: V inom softvéri je testovací tím zodpovedný za testovanie, ale v agilnom testovaní sú spolu s testovacím tímom do testovania rovnako zapojení vývojári a obchodní analytici.
3. Čas odozvy: Pretože obchodný tím je zapojený do agilného testovania, spätná väzba je rýchla a nepretržitá, takže čas odozvy je veľmi krátky.
4. Čistý a zjednodušený kód: Chyby zistené agilným tímom sú opravené v rámci rovnakej iterácie, a preto je kód udržiavaný čistý a zjednodušený.
5. Podnikové testy: Tu sa testovanie vykonáva v čase implementácie, zatiaľ čo v iných procesoch sa testovanie vykonáva po implementácii.
6. Ľahké dokumenty: Agilní testeri používajú opakovane použiteľné kontrolné zoznamy na rozhodovanie o testoch, ktoré sa majú vykonať. Dokumenty sa dajú použiť na niekoľko účelov a použité nástroje sú tiež ľahké.
7. Testom riadený vývoj: Tu je vývoj riadený testovaním. Testovacie prípady sa píšu podľa požiadaviek, takže tento prístup sa nazýva Test Driven Development (TDD). V softvéri na testovanie vodopádov sa testovanie vykonáva v poslednej fáze.
Hodnoty agilného testovania
- Jednotlivci a komunikácia sa vyberajú na základe prísnych procesov a nástrojov. Postupy a nástroje sa pri agilnom testovaní nezanedbávajú, namiesto toho sú postavené na rozumných, silných procesoch a nástrojoch a tieto nástroje sa využívajú aj. Pravidlom je, že testeri riadia nástroje a výstup závisí od testerov a nie naopak.
- Pri agilnom testovaní je výber funkčný a použiteľný softvér na základe nepoužiteľnej a komplexnej dokumentácie. Hlavným cieľom je skôr skutočné testovanie ako vypracovanie dokumentov, ktorých jediným cieľom je smerovanie k cieľu. Dokumenty sú určite prítomné, ak sa člen rozhodne odísť.
- Účasť zákazníka je tu tajomstvom. Klient je vždy zapojený a je v kontakte s napredovaním projektu. To znamená, že klient musí mať pravidelné stretnutia v priebehu projektu, a nie mať projekt priamo doručený po jeho dokončení. Je to určite práca navyše, ale určite je lepšia ako práca nesprávnym smerom.
Všetky požadované zmeny sú akceptované a implementované. Projekt síce sleduje plán, ale kedykoľvek sa situácia zmení. Takže človek nemusí čakať do konca, aby sa dozvedel o zmenenom scenári a projekt musel byť zamietnutý kvôli zmenenej požiadavke.
Agilné testovacie metódy
Existujú rôzne agilné testovacie metódy, ako napríklad:
1. Rozvoj riadený správaním (BDD).
Vývoj založený na správaní zlepšuje komunikáciu, takže všetci členovia rozumejú každej funkcii pred začiatkom procesu. Vývojári, analytici a testeri sú v nepretržitej komunikácii.
2. Vývoj riadený akceptačným testom (ATDD).
Hlavným cieľom je zapojiť všetkých členov tímu, tj zákazníka, testera a vývojára, pretože všetci traja majú rôzne perspektívy. Zákazník sa zameriava na problém, ktorý má byť vyriešený, vývojár sa zameriava na to, ako bude vyriešený a cieľom testera je zistiť, čo by sa mohlo pokaziť. Tieto testy sa nazývajú akceptačné testy, v ktorých sú obsiahnuté perspektívy všetkých troch a opisujú, ako bude systém fungovať.
3. Prieskumné testovanie.
Pri tomto testovaní idú ruka v ruke návrh skúšky a jej vykonanie. Dôraz sa kladie na pracovný softvér nad dokumentáciou. Jednotlivci a komunikácia sú dôležitejšie ako proces a nástroje. Prieskumné testy sú lepšie prispôsobiteľné zmenám. Plány skúšok sa navrhujú a vykonávajú podľa zistení testujúcich.
Skúšobný plán
Pri agilnom testovaní sa zakaždým vypíše a aktualizuje testovací plán. Obsahuje:
- Rozsah skúšky
- Nové funkcionality, ktoré sa testujú
- Úroveň alebo typy testovania
- Testovanie výkonu a zaťaženia
- Zohľadnenie infraštruktúry
- Plán pomoci
- Plánovacie zdroje
- Výstupy a medzníky
Fázy agilného testovacieho životného cyklu
Existuje päť fáz životného cyklu testovania agilnosti
- Posúdenie vplyvu, ktoré znamená zhromažďovanie vstupov od zainteresovaných strán a používateľov, ktoré budú slúžiť ako spätná väzba pre ďalší vývojový cyklus.
- Agilné plánovanie testov, na ktorom sa stretnú všetky zúčastnené strany, aby naplánovali proces testovania, stretnutia a výstupy.
- Uvoľnite pripravenosť, čo je fáza, v ktorej sa rozhodne, či sú vyvinuté funkcie pripravené na spustenie alebo nie.
- Denné scrumy, ktoré zahŕňajú každodenné ranné stretnutie, aby dohnali stav testovania a stanovili ciele pre daný deň.
- Preskúmanie agility, kde sa konajú týždenné hodnotiace stretnutia so zúčastnenými stranami s cieľom skontrolovať pokrok.
Výhody agilného testovania
Agilné testovanie má svoje výhody. Je to softvér šetriaci čas aj peniaze, pretože znižuje dokumentáciu a je veľmi flexibilný a prispôsobiteľný neustálym zmenám v podnikaní. Pravidelná spätná väzba je získaná od skutočného použitia, takže keď dosiahne konečnú fázu, existuje najmenšia možnosť, že užívateľ nie je o procese informovaný.
Agilné testovanie je dokonalým softvérom na včasné odhalenie chýb a keďže sa problémy vyriešia včas, znížia sa aj náklady na opravu. Konečný produkt je zameraný na zákazníka a má vysokú kvalitu. Vďaka nepretržitej komunikácii medzi tímami je agilné testovanie úspešné.
Odporúčané články
Toto bol sprievodca agilným testovaním. Tu sme diskutovali o konceptoch, fázach, výhodách, pláne testovania, metódach, zásadách a hodnotách agilného testovania. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Čo je ETL testovanie?
- Čo je agilné programovanie?
- Čo je Agile Sprint?
- Agile Coach Interview Otázky