Agile Test Automation Framework
Agile automationstest
Agile automationstest i softwareudvikling er en tilgang til at bruge testautomatisering i agile metoder. Formålet med agil automationstest er at gøre softwareudviklingsprocessen mere effektiv og samtidig bibeholde kvaliteten og tiden samt ressourceforbruget. Implementeringen af en sådan proces kræver således en del koordinering og samarbejde mellem teams.
I de sidste par år, lige siden den agile metodologi kom på banen med dens grundlæggere råbende og villige til at gøre op med den traditionelle vandfaldsmodels verdslige og besværlige realiteter, kan virkningen af samme også mærkes, når det kommer til Test af automatisering.
Automatisering i Waterfall vs Automation i Agile
Inden for den traditionelle proces med softwaretests livscyklus er automatiseringstest normalt muligt, når applikationen er stabil, stabil og kravet er involveret med en virkelig meget tid og i de fleste tilfælde involverer et sæt meget dygtige automatiseringsekspertressourcer samt en betydelig mængde etableringsomkostninger. Det grundlæggende formål med automationstest er at reducere omkostningerne over lang tid og sikre, at der ikke er indført nye defekter som følge af eksisterende testsager.
Automatiseringstest er i kraft af teknologiens natur ikke undersøgende i naturen, da automationstestens hovedrolle er at spare tid og reducere omkostningerne. Automationstest er ikke beregnet til at komme med nye og innovative defekter. Automationstest sigter for det meste på bekræftelse af det allerede eksisterende.
Sådan automatiseres i Agile Metodologi
Nu ved selve sin definition taler agile metodologi om at gøre op med besværlig og kedelig dokumentation, så nye og innovative ideer kunne implementeres, og folk kunne interagere frit med hinanden, så flere af disse innovative og udforskende ideer kunne implementeres.
Således kunne vi se en modsætning mellem de grundlæggende grundlæggende filosofier for agile metoder og automationstestning.
Grundlæggende pointer for agil testautomatisering
Så vi er nødt til at overveje visse grundlæggende punkter her, når det kommer til at evaluere brugen af agile metoder med hensyn til automatiseringstestmetoderne og -teknikkerne. Derfor er vi nødt til at overveje nogle grundlæggende punkter, såsom tid det tager for design og kodning, validering af de designede scripts med de eksisterende testdata og vedtagelse af samme til test (uanset om testene er af funktionelle eller regressionsformål). alle disse begivenheder er, at for at udføre alle disse fakta, skal vi sikre, at der kræves en betydelig mængde tid til disse opgaver og i et agilt miljø, hvor en gennemsnitlig sprint tager i gennemsnit 1-2 uger at gennemføre, og det er derfor åbenbart for svært at overveje at give så meget tid til at automatisere scripts på en sådan måde.
En anden væsentlig faktor er her fortsat, at den type ændringer i krav, der kommer ind i billedet, når den agile metodik er i spil. Den agile metodologi er i sin egen definition en slags teknik, som er meget nyttig til at reagere på hurtige kundeinducerede ændringskrav, og som dermed egner sig godt til hyppige ændringer under den overordnede udvikling af applikationen.
I modsætning hertil er automatiseringstest meget nyttigt, når det kommer til de mere stabile og mindre hyppige typer krav. Derfor egner automatiseringstest sig pr. definition ikke godt til forskellige typer hyppige ændringer i krav, som følger med vedtagelsen af enhver agile metodologi.
Agile automatiseringsværktøjer
Udvælgelsen af relevante automatiseringsværktøj er også en potentielt meget vigtig faktor, når det kommer til vedtagelse af automatiseringstest inden for rammerne af en overordnet agil metodologi. Licenserede automatiseringsværktøjer pålægger for eksempel strenge sikkerhedsadgangskriterier til forskellige typer og niveauer af brugere, når det kommer til at få adgang til forskellige vigtige ressourcer, der hører til den pågældende testautomatiseringsramme.
I modsætning hertil lægger agile metodologi vægt på for det meste åbent samarbejde og åben interaktion mellem teammedlemmer og dermed restriktive politikker, som direkte påvirker, hvordan brugerne ville have en negativ indvirkning på den overordnede sammenhæng i teamet og dermed kan føre til resultater, som hverken er særlig meget. hjælpsom eller særlig befordrende for projektets overordnede succes.
Derfor bør den primære vigtighed af processen være at sikre, at for at opnå kvaliteten af leveringen af automatiseringstestscripts inden for en fastsat tid i henhold til agil metodologi; vi er nødt til at vælge vores potentielle testcases, som vil blive automatiseret på en mere nuanceret måde, således at disse automatiserede testscripts egner sig godt til fremtidig genbrug samt sikre, at de kan forberedes inden for den korrekte varighed af den tildelte tid (som påkrævet under den agile metodeproces).
Efter at have overvejet alle de ovennævnte faktorer kan vi således indse, at selv når vi anvender agile metoder, er vi nødt til at bringe de typer af tests som f.eks. regressionstests ind i billedet (da selv under agil testning er der en betydelig mængde testarbejde, som er påkrævet at sætte ind i arbejdet med agile metoder til at sikre bedre kvalitet af det samlede produkt)
Lad os nu se på de mest basale situationer, hvorved automatiseringstest kan bruges, og hvordan vi kan anvende det samme i retning af agile tests.