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
Related blogs