Agilt Test Automation Framework
⚡ Smart sammanfattning
Agil testautomation tillämpar automatiserade kontroller inom korta sprintar, där kraven ändras varje vecka och en svit byggd för en stabil vattenfallsversion snabbt blir en underhållsbörda snarare än ett skyddsnät.
Agil automationstestning
Agil automatiseringstestning är praxisen att använda testautomation inom en agil leveransprocess. Syftet är att göra mjukvaruutveckling mer effektiv och ändamålsenlig samtidigt som kvaliteten skyddas och den tid och de resurser som en release förbrukar kontrolleras. Eftersom tester skrivs parallellt med funktionsarbetet är praxisen starkt beroende av samordning mellan utvecklare och testare.
Ända sedan den agila metodologin började avskaffa vattenfallsmodellens mödosamma verklighet har dess inflytande märkts i automatiseringstestning också. De två disciplinerna måste medvetet kombineras:
Automation i Waterfall kontra Automation i Agile
I en traditionell programvarutestningslivscykel blir automatiseringstestning möjlig när applikationen är stabilt och kraven är uppfylldaDet förutsätter en avsevärd tid, högkvalificerade automationsspecialister och en märkbar installationskostnad. Det grundläggande syftet är att minska kostnaderna på lång sikt och att bekräfta att inga nya defekter har introducerats kring de befintliga testfallen.
Automatiseringstestning är inte utforskande till sin natur, eftersom dess huvudsakliga roll är att spara tid och minska kostnader. Den är inte utformad för att avslöja nya och innovativa defekter. Automatiseringstestning bekräftar oftast beteenden som redan existerar.
De två inställningarna ställer därför väldigt olika krav på en testsvit:
| Faktor | Automation i vattenfall | Automatisering i agila |
|---|---|---|
| Ansökningsstatus | Stabil och avregistrerad innan skriptstart | Ändra varje sprint, ofta under skriptning |
| Tid tillgänglig | En dedikerad automatiseringsfas | Vad som helst som får plats inom en till fyra veckors sprint |
| Vilka manus | Ett separat team av automationsspecialister | Leveransteamet, testare och utvecklare tillsammans |
| Primärt mål | Långsiktig kostnadsreduktion över en stor regressionssvit | Snabb feedback på den just byggda ökningen |
| Underhållsrisk | Låg, eftersom kraven utvecklas långsamt | Hög, eftersom kraven förändras ständigt |
Hur man automatiserar med agil metodik
Enligt sin egen definition eliminerar agil metodologi tråkig dokumentation så att nya idéer kan implementeras snabbt och människor kan interagera fritt. Den gynnar utforskande arbete framför pappersarbete:
Det finns en verklig motsägelse mellan de grundläggande filosofierna bakom agil metodik och automatiseringstestning. Agila team löser detta genom att begränsa vad de automatiserar snarare än att automatisera mindre: kontroller skrivs i samma sprint som funktionen, pushas ner till enhets- och API-nivå där de är billigast att underhålla, och körs på varje build.
Grundläggande poäng för agil testautomatisering
Innan du automatiserar sprintkapacitet, väg de punkter som avgör om ett skript överhuvudtaget kan slutföras:
- Design- och kodningstid: Varje manus måste designas, kodas och granskas precis som produktionskod.
- Validering mot testdata: Det färdiga skriptet måste valideras med befintliga testdata innan någon kan lita på det.
- Syfte med testet: Funktionstester och regressionstester har olika underhållskostnader och olika hållbarhetsperioder.
- Sprint längd: En sprint varar en till fyra veckor, oftast två, vilket sällan lämnar utrymme för en stor skriptinsats.
En andra faktor är kravförändringar. Agil teknik är per definition en teknik för att reagera på kunddriven förändring, så den lämpar sig för frekventa justeringar under utvecklingsfasen.
Automatiseringstestning är däremot mest användbar mot stabila krav. Den lämpar sig inte bra för den konstanta omsättningen i en agil metodologi, vilket är anledningen till att valet av vad som ska automatiseras väger tyngre än mängden automatisering.
Agila automationsverktyg
Valet av en relevant automatiseringsverktyg är en annan viktig faktor för att införa automatiseringstestning inom en agil metod. Licensierade automatiseringsverktyg, till exempel, ställer strikta säkerhetskrav för olika typer och nivåer av användare, vilket begränsar vem som kan nå de resurser som tillhör det aktuella testautomatiseringsramverket.
Agil metodik betonar däremot öppet samarbete och obegränsad interaktion mellan teammedlemmar. Restriktioner för åtkomst motverkar den sammanhållningen och kan ge resultat som varken är till hjälp eller bidrar till projektets framgång.
Prioriteten är att leverera automatiseringsskript av hög kvalitet inom den tid en agil process tillåter. Välj noggrant ut kandidattestfall, så att de resulterande skripten kan återanvändas senare och ändå slutföras inom den tilldelade tiden.
Även i en agil miljö måste vissa tester fortfarande täckas – särskilt regressionstester. Nästa avsnitt tittar på de situationer där automatiseringstestning passar in och hur varje situation kopplas till agil testning.
Automationstestning Concepts När den tillämpas på agila områden
Tabellen nedan tar de sju klassiska villkoren som motiverar automatisering av ett test och ger det agila svaret för vart och ett. Endast tre översätts tydligt till en agil sprint, och alla tre är regressionsformade:
| # | Koncept för automatiseringstestning | Svar på agil metodologi |
|---|---|---|
| 1 | Testet måste upprepas ofta. | Det är här konceptet regressionstestning kommer in i bilden. |
| 2 | Testets arbetsflöde och dess validering utvecklas och förändras långsamt över tid. | Inte användbart för agil testning, eftersom agil testning innebär täta kravförändringar. |
| 3 | Testet validerar en affärsprocess eller ett arbetsflöde, snarare än utseende och känsla, färg eller tabelllayout. | Detta scenario kan betraktas som involverat i manuell testning. |
| 4 | Testet producerar resultat för ett tillsynsorgan som kräver att dessa resultat registreras elektroniskt och arkiveras som formellt bevis på efterlevnad. | Ej lämplig för agil metodologi, eftersom en uttömmande dokumentationsnivå inte ingår i agil metodologi. |
| 5 | Testet är mycket repetitivt eller har många steg som måste utföras exakt likadant varje gång, där manuell testtrötthet måste undvikas. | Ej lämplig för agil metodologi. |
| 6 | Testets resultat för godkänt eller underkänt är relativt enkelt att fastställa och registrera med det valda automatiseringsverktyget. | Lämplig för de regressionstester under agil testning som kräver repetitiva och arbetsamma förmågor. |
| 7 | Testet behöver mata in en betydande mängd data i applikationen. | Kan införlivas som regressionstestning. |

.jpg)


