Agile Test Automation Framework
⚡ Smart opsummering
Agil testautomatisering anvender automatiserede kontroller i korte sprints, hvor kravene ændres ugentligt, og en suite bygget til en stabil vandfaldsudgivelse hurtigt bliver en vedligeholdelsesbyrde snarere end et sikkerhedsnet.

Agile automationstest
Agil automatiseringstest er praksissen med at bruge testautomatisering i en agil leveringsproces. Formålet er at gøre softwareudvikling mere effektiv og virkningsfuld, samtidig med at kvaliteten beskyttes og den tid og de ressourcer, en udgivelse forbruger, kontrolleres. Fordi tests skrives sideløbende med funktionsarbejdet, afhænger praksissen i høj grad af koordinering mellem udviklere og testere.
Lige siden den agile metodologi satte sig for at afskaffe vandfaldsmodellens besværlige realiteter, har dens indflydelse kunnet mærkes i automatiseringstest også. De to discipliner skal kombineres bevidst:
Automatisering i Waterfall vs. automatisering i Agile
I en traditionel softwaretestningslivscyklus bliver automatiseringstest mulig, når applikationen er stabilt, og kravene er opfyldtDet antager en betydelig mængde tid, højt kvalificerede automatiseringsspecialister og en mærkbar opsætningsomkostning. Det grundlæggende formål er at reducere omkostningerne på lang sigt og at bekræfte, at der ikke er introduceret nye defekter omkring de eksisterende testcases.
Automatiseringstestning er ikke udforskende af natur, fordi dens primære rolle er at spare tid og reducere omkostninger. Den er ikke designet til at afdække nye og innovative defekter. Automatiseringstest bekræfter for det meste adfærd, der allerede eksisterer.
De to indstillinger stiller derfor meget forskellige krav til en testsuite:
| faktor | Automatisering i vandfald | Automatisering i Agile |
|---|---|---|
| Ansøgningstilstand | Stabil og godkendt før scripting starter | Ændring af hvert sprint, ofte under scripting |
| Tid til rådighed | En dedikeret automatiseringsfase | Hvad end der passer ind i et sprint på en til fire uger |
| Hvem skriver manuskripter | Et separat team af automatiseringsspecialister | Leveringsteamet, testere og udviklere sammen |
| Primært mål | Langsigtet omkostningsreduktion på tværs af en stor regressionssuite | Hurtig feedback på den netop opbyggede forøgelse |
| Vedligeholdelsesrisiko | Lav, fordi kravene udvikler sig langsomt | Høj, fordi kravene ændrer sig konstant |
Sådan automatiserer du med agil metode
Agile metodologi defineres i sig selv som en løsning på kedelig dokumentation, så nye ideer kan implementeres hurtigt, og folk kan interagere frit. Den favoriserer udforskende arbejde frem for papirarbejde:
Der er en reel modsigelse mellem de grundlæggende filosofier bag agil metodologi og automatiseringstest. Agile teams løser dette ved at indsnævre, hvad de automatiserer, i stedet for at automatisere mindre: tjek skrives i samme sprint som funktionen, skubbes ned til enheds- og API-niveau, hvor de er billigst at vedligeholde, og køres på hvert build.
Grundlæggende pointer for agil testautomatisering
Før du automatiserer sprintkapacitet, skal du overveje de punkter, der afgør, om et script overhovedet kan færdiggøres:
- Design- og kodningstid: Hvert script skal designes, kodes og gennemgås ligesom produktionskode.
- Validering mod testdata: Det færdige script skal valideres med de eksisterende testdata, før nogen kan stole på det.
- Formålet med testen: Funktionelle tests og regressionstests har forskellige vedligeholdelsesomkostninger og forskellige holdbarheder.
- Sprint længde: En sprint varer en til fire uger, oftest to, hvilket sjældent giver plads til en stor scriptingindsats.
En anden faktor er ændringer i krav. Agile er per definition en teknik til at reagere på kundedrevne forandringer, så det egner sig til hyppig justering under udviklingen.
Automatiseringstest er derimod mest nyttigt mod stabile krav. Det egner sig ikke godt til den konstante omskiftning i en agil metode, hvilket er grunden til, at valget af, hvad der skal automatiseres, vejer tungere end mængden af automatisering.
Agile automatiseringsværktøjer
Udvælgelsen af en relevant automatiseringsværktøj er en anden vigtig faktor ved at implementere automatiseringstest inden for en agil metode. Licenserede automatiseringsværktøjer pålægger for eksempel strenge sikkerhedsadgangskriterier for forskellige typer og niveauer af brugere, hvilket begrænser, hvem der kan få adgang til de ressourcer, der tilhører det pågældende testautomatiseringsframework.
Agil metode lægger derimod vægt på åbent samarbejde og interaktion mellem teammedlemmer. Politikker med begrænset adgang modvirker denne sammenhæng og kan producere resultater, der hverken er nyttige eller befordrende for projektets succes.
Prioriteten er at levere automatiseringsscripts af høj kvalitet inden for den tid, en agil proces tillader. Vælg kandidattestcases omhyggeligt, så de resulterende scripts kan genbruges senere og stadig færdiggøres inden for den tildelte tid.
Selv i en agil setting skal nogle tests stadig dækkes – især regressionstests. I næste afsnit ses på de situationer, hvor automatiseringstest passer ind, og hvordan hver enkelt matcher agil testning.
Test af automatisering Concepts Når det anvendes i agile sammenhænge
Tabellen nedenfor tager de syv klassiske betingelser, der berettiger automatisering af en test, og giver det agile svar for hver af dem. Kun tre kan omsættes til en agil sprint, og alle tre er regressionsformede:
| # | Koncept for automatiseringstest | Svar på agil metode |
|---|---|---|
| 1 | Testen skal gentages ofte. | Det er her, konceptet med regressionstestning kommer ind i billedet. |
| 2 | Testens arbejdsgang og dens validering udvikler sig og ændrer sig langsomt over tid. | Ikke nyttigt til agil testning, da agil testning betyder hyppige ændringer i krav. |
| 3 | Testen validerer en forretningsproces eller arbejdsgang i stedet for udseende og funktionalitet, farve eller tabellayout. | Dette scenarie kan betragtes som involveret i manuel testning. |
| 4 | Testen producerer resultater til et tilsynsorgan, der kræver, at disse resultater registreres og arkiveres elektronisk som formelt bevis for overholdelse. | Ikke egnet til agil metodologi, da et udtømmende dokumentationsniveau ikke er en del af agil metodologi. |
| 5 | Testen er meget repetitiv eller har mange trin, der skal udføres præcis ens hver gang, hvor manuel testtræthed skal undgås. | Ikke egnet til agil metode. |
| 6 | Testens beståelses- eller fejlresultat er rimelig nemt at bestemme og registrere med det valgte automatiseringsværktøj. | Velegnet til regressionstests under agil testning, der kræver repetitive og arbejdskrævende evner. |
| 7 | Testen skal drive en betydelig mængde data ind i applikationen. | Kan indarbejdes som regressionstest. |

.jpg)


