Agile Test Automation Framework
โก Smart oppsummering
Smidig testautomatisering bruker automatiserte kontroller i korte sprinter, der kravene endres ukentlig, og en pakke bygget for en stabil fossefallsutgivelse raskt blir en vedlikeholdsbyrde snarere enn et sikkerhetsnett.
Agile automatiseringstesting
Smidig automatiseringstesting er praksisen med รฅ bruke testautomatisering i en smidig leveringsprosess. Formรฅlet er รฅ gjรธre programvareutvikling mer effektiv og produktiv, samtidig som kvaliteten beskyttes og tiden og ressursene en utgivelse bruker kontrolleres. Fordi tester skrives side om side med funksjonsarbeidet, er praksisen sterkt avhengig av koordinering mellom utviklere og testere.
Helt siden agil metodikk satte seg fore รฅ fjerne de mรธysommelige realitetene til fossefallmodellen, har dens innflytelse blitt fรธlt i automatiseringstesting ogsรฅ. De to disiplinene mรฅ kombineres bevisst:
Automatisering i Waterfall vs. Automatisering i Agile
I en tradisjonell programvaretestingssyklus blir automatiseringstesting mulig nรฅr applikasjonen er stabilt og kravene er oppfyltDet forutsetter en betydelig mengde tid, hรธyt kvalifiserte automatiseringsspesialister og en merkbar oppsettkostnad. Det grunnleggende formรฅlet er รฅ redusere kostnadene pรฅ lang sikt og รฅ bekrefte at ingen nye feil har blitt introdusert rundt de eksisterende testtilfellene.
Automatisert testing er ikke utforskende av natur, fordi hovedrollen er รฅ spare tid og redusere kostnader. Den er ikke designet for รฅ avdekke nye og innovative feil. Automatisert testing bekrefter stort sett atferd som allerede eksisterer.
De to innstillingene stiller derfor svรฆrt forskjellige krav til en testsuite:
| Faktor | Automatisering i fossefall | Automatisering i Agile |
|---|---|---|
| Applikasjonsstatus | Stabil og avregistrert fรธr skripting starter | Endring av hver sprint, ofte under skripting |
| Tilgjengelig tid | En dedikert automatiseringsfase | Alt som passer inn i en sprint pรฅ รฉn til fire uker |
| Hvem manus | Et eget team av automatiseringsspesialister | Leveringsteamet, testere og utviklere sammen |
| Primรฆrt mรฅl | Langsiktig kostnadsreduksjon pรฅ tvers av en stor regresjonspakke | Rask tilbakemelding pรฅ รธkningen som nettopp er bygget |
| Vedlikeholdsrisiko | Lav, fordi kravene beveger seg sakte | Hรธy, fordi kravene endrer seg stadig |
Hvordan automatisere i smidig metodikk
Smidig metodikk fjerner per definisjon kjedelig dokumentasjon, slik at nye ideer kan implementeres raskt og folk kan samhandle fritt. Den favoriserer utforskende arbeid fremfor papirarbeid:
Det er en reell motsetning mellom de grunnleggende filosofiene bak agil metodikk og automatiseringstesting. Agile team lรธser dette ved รฅ begrense hva de automatiserer i stedet for รฅ automatisere mindre: sjekker skrives i samme sprint som funksjonen, skyves ned til enhets- og API-nivรฅ der de er billigst รฅ vedlikeholde, og kjรธres pรฅ hver build.
Grunnleggende poeng for smidig testautomatisering
Fรธr du automatiserer sprintkapasitet, bรธr du veie punktene som avgjรธr om et skript i det hele tatt kan fullfรธres:
- Design- og kodingstid: Hvert skript mรฅ designes, kodes og gjennomgรฅs som produksjonskode.
- Validering mot testdata: Det ferdige skriptet mรฅ valideres med eksisterende testdata fรธr noen kan stole pรฅ det.
- Formรฅlet med testen: Funksjonstester og regresjonstester har forskjellige vedlikeholdskostnader og ulik holdbarhet.
- Sprint lengde: En sprint varer รฉn til fire uker, vanligvis to, noe som sjelden gir rom for en stor skriptinnsats.
En annen faktor er endringer i krav. Smidig er per definisjon en teknikk for รฅ reagere pรฅ kundedrevet endring, sรฅ den egner seg til hyppige justeringer gjennom hele utviklingen.
Automatiseringstesting er derimot mest nyttig mot stabile krav. Den egner seg ikke godt til den konstante omveltningen av en agil metodikk, og det er derfor valget av hva som skal automatiseres veier tyngre enn mengden automatisert.
Agile automatiseringsverktรธy
Utvalget av en relevant automatiseringsverktรธy er en annen viktig faktor ved รฅ ta i bruk automatiseringstesting innenfor en smidig metodikk. Lisensierte automatiseringsverktรธy, for eksempel, stiller strenge sikkerhetstilgangskriterier for ulike typer og nivรฅer av brukere, noe som begrenser hvem som kan fรฅ tilgang til ressursene som tilhรธrer det aktuelle testautomatiseringsrammeverket.
Smidig metodikk vektlegger derimot รฅpent samarbeid og samhandling uten endepunkter mellom teammedlemmer. Restriktive tilgangsregler motvirker denne samhรธrigheten og kan gi resultater som verken er nyttige eller bidrar til prosjektets suksess.
Prioriteten er รฅ levere automatiseringsskript av hรธy kvalitet innenfor den tiden en agil prosess tillater. Velg kandidattesttilfeller nรธye, slik at de resulterende skriptene kan brukes om igjen senere og fortsatt fullfรธres innenfor den tildelte tiden.
Selv i en agil setting mรฅ noen tester fortsatt dekkes โ spesielt regresjonstester. Neste avsnitt ser pรฅ situasjonene der automatiseringstesting passer inn og hvordan hver enkelt passer inn i agil testing.
Automatiseringstesting Concepts Nรฅr det brukes pรฅ agile
Tabellen nedenfor tar de syv klassiske betingelsene som rettferdiggjรธr automatisering av en test og gir det agile svaret for hver av dem. Bare tre oversettes tydelig til en agil sprint, og alle tre er regresjonsformede:
| # | Konsept for automatiseringstesting | Svar pรฅ smidig metodologi |
|---|---|---|
| 1 | Testen mรฅ gjentas ofte. | Det er her konseptet med regresjonstesting kommer inn i bildet. |
| 2 | Testens arbeidsflyt og validering utvikler seg og endres sakte over tid. | Ikke nyttig for smidig testing, ettersom smidig testing betyr hyppige endringer i krav. |
| 3 | Testen validerer en forretningsprosess eller arbeidsflyt, snarere enn utseende og preg, farge eller tabelloppsett. | Dette scenariet kan betraktes som involvert i manuell testing. |
| 4 | Testen produserer resultater for et tilsynsorgan som krever at disse resultatene registreres elektronisk og arkiveres som formelt bevis pรฅ samsvar. | Ikke egnet for agil metodikk, ettersom et uttรธmmende dokumentasjonsnivรฅ ikke er en del av agil metodikk. |
| 5 | Testen er svรฆrt repetitiv eller har mange trinn som mรฅ utfรธres nรธyaktig likt hver gang, hvor manuell testtretthet mรฅ unngรฅs. | Ikke egnet for agil metodikk. |
| 6 | Testens bestรฅtt- eller ikke-bestรฅtt-resultat er rimelig enkelt รฅ bestemme og registrere med det valgte automatiseringsverktรธyet. | Passer for regresjonstester under smidig testing som krever repeterende og arbeidskrevende evner. |
| 7 | Testen mรฅ drive en betydelig mengde data inn i applikasjonen. | Kan innlemmes som regresjonstesting. |

.jpg)


