Agile Test Automation Framework
Testování agilní automatizace
Testování agilní automatizace ve vývoji softwaru je přístup využívající automatizaci testování v agilních metodologiích. Účelem testování agilní automatizace je zefektivnit a zefektivnit proces vývoje softwaru při zachování kvality a času i spotřeby zdrojů. Implementace takového procesu tedy vyžaduje hodně koordinace a spolupráce mezi týmy.
V posledních několika letech, od té doby, co se objevila agilní metodika, její zakladatelé křičeli a byli ochotni skoncovat s všední a pracnou realitou tradičního vodopádového modelu, dopad téhož lze pocítit i na Testování automatizace.
Automatizace ve vodopádu versus automatizace v Agile
V oblasti tradičního procesu životního cyklu testování softwaru je automatizační testování normálně proveditelné, když je aplikace stabilní, stabilní a požadavek zahrnuje s a skutečně značné množství času a ve většině případů to vyžaduje sadu velmi zručných odborníků na automatizaci a také značné náklady na nastavení. Základním účelem automatizačního testování je dlouhodobě snížit náklady a zajistit, aby nebyly zavedeny žádné nové defekty v důsledku stávajících testovacích případů.
Automatizační testování ze samotné podstaty technologie není průzkumné v přírodě, protože hlavní úlohou automatizačního testování je úspora času a snížení nákladů. Automatizační testování není určeno k tomu, aby přicházelo s novými a inovativními defekty. Testování automatizace se většinou zaměřuje na potvrzení již existujícího.
Jak automatizovat v agilní metodice
Agilní metodologie nyní podle své definice hovoří o odstranění pracné a nudné dokumentace, aby bylo možné implementovat nové a inovativní nápady a lidé mohli vzájemně volně interagovat, aby bylo možné realizovat více těchto inovativních a objevných nápadů.
Mohli jsme tedy vidět rozpor mezi základními základními filozofiemi agilních metodologií a Automation Testing.
Základní body pro agilní automatizaci testování
Musíme zde tedy zvážit určité základní body, pokud jde o hodnocení použití agilních metodologií s ohledem na metody a techniky automatického testování. Musíme tedy zvážit některé základní body, jako je čas potřebný pro návrh a kódování, ověření navržených skriptů s existujícími testovacími daty a jejich přijetí pro testování (ať už jsou testy funkční nebo regresní). všechny tyto události spočívají v tom, že k provedení všech těchto skutečností musíme zajistit, že tyto úkoly vyžadují značné množství času a v agilním prostředí, kde dokončení průměrného sprintu trvá v průměru 1–2 týdny, a proto je zjevně příliš obtížné uvažovat o poskytnutí tolika času na automatizaci skriptů takovým způsobem.
Dalším významným faktorem zde zůstává typ změn požadavků, které se projeví při hře agilní metodiky. Agilní metodika sama o sobě je druhem techniky, která je velmi užitečná pro reakci na rychlé změny vyvolané zákazníkem, a která se tak hodí k častým změnám během celkového vývoje aplikace.
Naproti tomu automatizační testování je velmi užitečné, pokud jde o stabilnější a méně časté typy požadavků. Testování automatizace se tedy z definice nehodí k různým typům častých změn požadavků, které jsou spojeny s přijetím jakýchkoli agilních metodologií.
Agilní automatizační nástroje
Výběr relevantních automatizační nástroj je také potenciálně velmi důležitým faktorem, pokud jde o přijetí automatizačního testování v rámci celkové agilní metodiky. Licencované automatizační nástroje například ukládají přísné bezpečnostní přístupové kritérium různým typům a úrovním uživatelů, pokud jde o přístup k různým důležitým zdrojům patřícím do konkrétního rámce automatizace testování.
Naproti tomu agilní metodika klade důraz na většinou otevřenou spolupráci a otevřenou interakci mezi členy týmu, a tedy na restriktivní politiky, které přímo ovlivňují, jak by uživatelé měli negativní dopad na celkovou soudržnost v týmu, a tak mohou vést k výsledkům, které nejsou příliš užitečné ani příliš nevedou k celkovému úspěchu projektu.
Prvořadým významem procesu by proto mělo být zajištění, že za účelem získání kvalitního dodání testovacích skriptů automatizace ve stanoveném čase, jak to umožňuje agilní metodika; musíme si vybrat naše potenciální testovací případy, které by byly automatizovány jemnějším způsobem, aby se tyto automatizované testovací skripty dobře hodily pro budoucí opětovné použití a zároveň zajistily, že je lze připravit v řádném trvání přiděleného času (např. požadované během procesu agilní metodologie).
Po zvážení všech výše uvedených faktorů si tedy můžeme uvědomit, že i při přejímání agilních metodologií je potřeba uvést do obrazu typy testů, jako jsou například regresní testy (protože i při agilním testování je potřeba značné množství testovací práce zavést do práce agilní metodiky pro zajištění lepší kvality celkového produktu)
Nyní se podívejme na nejzákladnější situace, kdy lze automatizační testování použít, a na to, jak totéž můžeme přijmout do oblasti agilního testování.