Blog

Varför och hur du utvärderar mognaden i din testautomatisering

JUN 25, 2019

Testautomatisering är ryggraden i DevOps. Ta del av vår checklista över vad du bör titta efter när du gör en mognadsbedömning av testautomatisering.

Tatu Kairi

Principal Consultant

Tatu enjoys piña coladas, getting caught in the rain, is not into yoga and has half a brain.

Som namnet antyder analyserar artikeln, som publicerades i april 2019 i Evaluation and Assessment in Software Engineering (EASE ‘19), luckor i befintliga ramverk för självbedömning av testautomatiseringens mognad och föreslår en bättre väg framåt.

Jag tänkte att det kunde vara värdefullt att lyfta fram artikelns viktigaste resultat och att du kan bedöma mognaden i din testautomatisering med hjälp av enkäten. I grund och botten är den här bloggen en checklista över vad du bör titta efter när du gör en mognadsbedömning av testautomatisering.

Låt mig understryka det: studien pågår fortfarande! Du kan fortfarande göra en självbedömning av mognaden i din testautomatisering och samtidigt bidra till den samlade kunskapen inom området. Fyll i EASE-enkäten för att självbedöma företagets mognad inom testautomatisering.

Varför är testautomatisering viktigt?

Jag är partisk, men testautomatisering är ryggraden i DevOps eftersom den möjliggör kvalitet i hög hastighet. Gör du det rätt behöver du bara sätta upp testautomatiseringen en gång, den är inte särskilt svår att underhålla och testningen kräver sedan betydligt mindre arbete.

Självbedömning av testautomatiseringens mognad: varför göra den?

Att testautomatisering är viktigt för DevOps-prestanda är knappast någon nyhet.

Det som däremot är relativt nytt inom området är insikten att det är väl värt att känna till mognadsgraden i er testautomatiseringsförmåga.

Vi talar inte om DevOps-mognad, utan specifikt om testautomatiseringens mognad.

Syftet med självbedömningen är enkelt: den sänker kostnaderna för testautomatisering och minskar risken för att du gör misstag som får konsekvenser längre fram.

Vilka faktorer avgör testautomatiseringens mognad?

Ett bra verktyg för självbedömning av testautomatisering täcker många tidigare blinda fläckar för företag som inför testautomatisering. Här är en översikt över områden du bör granska. Den är inte heltäckande – för det behöver du gå direkt till källan.

Strategi för testautomatisering

Tyvärr räcker det inte riktigt att säga ”vi behöver testautomatisering” när det gäller strategi. En gedigen strategi för testautomatisering omfattar följande.

● Mål för testautomatisering har satts upp

● Ett business case för testautomatisering har tagits fram

● Risker har analyserats

● Omfattningen har fastställts: i vilken grad ska automatisering användas?

● Överlappningen mellan testautomatisering och manuell testning har beaktats

● Luckor och överlappningar mellan testtyper och abstraktionsnivåer har beaktats

● Resurser för testautomatisering har identifierats

● Feedback på strategin har samlats in från intressenter

Resurser

Vem, vad och räcker det? Kontrollera om:

● Det finns tillräckligt många personer för att genomföra testautomatisering. Det kan inkludera erfarna testare, chefer, konsulter, automatiseringsexperter med flera.

● Det finns testverktyg som stödjer testaktiviteterna

● Testmiljön är konfigurerad med nödvändig mjukvara, hårdvara och testdata

Testorganisation

Vem ansvarar, och har alla det de behöver?

● Roller och ansvarsområden är tydligt definierade

● Det finns mekanismer för kommunikation och problemlösning

● Testteamet har tillräcklig kompetens för att utföra automatisering på bästa sätt, inklusive programmering, domänkunskap och testdesigntekniker

● Insikt i kostnads-/nyttoförhållandet för testautomatisering

● Testorganisationen har förmågan att underhålla sina valda testverktyg

Kunskapsutveckling

Utvecklar din organisation sin expertis inom testautomatisering?

● God expertis inom testautomatisering, testverktyg och arbetssätt delas

● Utbildning och inlärningskurvor får den tid de behöver

Val av testverktyg

Det här är viktigt.

● Rätt verktyg väljs (begränsningar, datadriven testning, språk för testkod, testmiljö)

● Användningen av befintliga testverktyg maximeras

Testmiljö

Det här är också viktigt.

● Kraven är förstådda

● Testmiljön testas

● Support för testmiljön tillhandahålls

Testkrav

Även här behövs en process.

● Processer för krav på testautomatisering är definierade

Testdesign

Här behöver du inte uppfinna hjulet på nytt.

● Specifika testdesigntekniker används för att skapa testfall med olika typer av testning

● Designmönster återanvänds

● Statiska och dynamiska mätningar utförs på testkoden

Testkörning

Det handlar inte bara om att trycka på ”start”.

● Testfall prioriteras för automatisering för att uppfylla tidsplanen för testkörningen

● Förberedande uppgifter slutförs före körningen

● Efterbearbetningsuppgifter utförs automatiskt efter körningen

Bedömningar, dvs. resultat

Testdata måste utnyttjas till fullo.

● Stabila testorakel avgör om ett test godkänns eller underkänns

● Testningens status och framsteg kan övervakas

● Olika testresultat integreras för att skapa en helhetsbild av testdata

● Användbara testresultat kommuniceras till intressenter

● Instrumentpanelen anpassas för varje intressent

Process för testautomatisering

Utvecklingscykeln är nyckelordet här.

● Processen är stabil och kontrollerbar

● Testautomatiseringen körs parallellt med den relevanta utvecklingscykeln

● Processen för testautomatisering stödjer andra processer

Mjukvaran som testas

Testautomatisering är inte en självklarhet.

● Mjukvaran är tillräckligt mogen för att testautomatisering ska kunna genomföras – är den testbar?

● Mjukvaran har tillräcklig prestanda, det vill säga att exekveringshastigheten räcker för att genomföra testautomatisering.

Mätetal för testautomatisering

Mer om data. 

● Rätt mätetal används för att mäta testautomatiseringen

● Viktiga egenskaper har identifierats: effektivitet, noggrannhet, tillförlitlighet och underhållbarhet

● Förbättringsområden identifieras genom mätningar

● Medlemmarna i testteamet får återkoppling på sina prestationer

Kännetecken för riktigt bra testautomatisering

Jag kan inte påstå att den här artikeln blir kortare, men innan jag rundar av följer här några generella punkter om vad du bör sikta på med ditt program för testautomatisering, utöver de specifika punkterna ovan. Precis som allt annat innehåll i den här bloggen kommer även detta från den aktuella akademiska artikeln.

Portabilitet: Hur enkelt är det att köra automatiserade tester i en ny miljö med annan hårdvara?

Underhållbarhet: Är din testautomatisering enkel att underhålla, särskilt när det gäller att hantera och uppdatera testmiljön?

Tillförlitlighet: Är testerna tillförlitliga och korrekta? Klarar testerna mindre förändringar?

Användbarhet: Är testerna lätta att förstå för många olika personer, inklusive chefer och ledning?

Effektivitet: Används rätt mängd resurser i form av kostnader och mänsklig arbetsinsats?

Funktionalitet: Förbättrar dina tester ROI, det vill säga produktkvaliteten?

Gör självskattningen av testautomatiseringens mognad

Nu när du har tagit dig till slutet av den här artikeln, du imponerande människa, ta gärna en titt på enkäten för självskattning av testautomatiseringens mognad. Den ger dig åtminstone lite insikt i hur ni arbetar med testautomatisering.

  • DevOps

Subscribe to our newsletter