Testautomatisering – Kort vei til suksess?

Testautomatisering er i vinden som aldri før. De fleste prosjekter har som mål å innføre automatiserte tester. Helst i alle ledd.

Dette blir forsøkt gjennomført med mer eller mindre suksess.

 

Det er flere ting som er viktig å tenke på når man har satt seg et mål om å implementere automatiserte tester i sitt prosjekt:

Langsiktig kostnad og nytte

Det er viktig å tenke på at de automatiserte testene er noe som skal leve med prosjektet i lik grad med koden den skal teste. Koden forandrer seg i et langt livsløp, og dette må også testene.

Tidsbruken på implementasjonen av automatiserte tester er heller ikke triviell. Det kan ta prosjektet lang tid å lære seg hvordan man best skal ta i bruke testene, og hvordan implementere på en hensiktsmessig måte. En automatisert test er mer tidkrevende å implementere og sette i verk enn å kjøre en manuell test.

Det kan altså i enkelte tilfeller være best å IKKE automatisere tester.

 

Risiko ved automatisering

Ofte så er det eldre tester som skal automatiseres. Husk at det kan finnes feil i manuelle tester på lik linje som i kode. Dette vil da forplante seg i de automatiserte testene. Hvis du har tester som er antatt å være dekkende, men ikke er det, så vil også denne manglende dekningsgraden forplante seg til de automatiserte testene.

 

Valg av implementasjon

Som delvis nevnt over, så er det ikke gitt at enkelte tester er mulige, eller hensiktsmessige, å automatisere. Det kan faktisk blir for tidkrevende og kostbart. Det er heller ikke sikkert at koden eller grensesnittet blir benyttet hyppig nok til at det er hensiktsmessig å automatisere. Eller i andre enden av skalaen; koden er ikke moden nok, er planlagt revidert eller skrevet helt om, og blir dermed for dyr å vedlikeholde.

 

Så et par tips til de som etter punktene over fortsatt føler at testautomatisering er veien å gå. Se på dette som et hvilket som helst annet prosjekt: Gjør grundig planlegging i forkant, spesifiser hva du ønsker å oppnå, og hvordan man skal komme seg dit. Kjør utviklingsløp, og «test» de automatiserte testene.

Er testautomasjon nytt for organisasjonen din, så gi personene som skal utvikle, kjøre og drifte testene tid til å gjøre seg kjent med teknologien, og eventuelle verktøy som skal benyttes. Ha en pragmatisk tilnærming; ikke bare automatiser alt ukritisk.

 

Det høres ut som jeg svartmaler litt, men en må ikke glemme at testautomasjon er til for å gjøre hverdagen lettere for testere (og utviklere) – ikke gjøre den tyngre. Fordelene med et gjennomtenkt. og vedlikeholdbart, automatisert testsett kan være enorme. Det kan også være et viktig virkemiddel hvis man satser på redusert tid fra utvikling til produksjon. Det øker kvaliten på den koden som leveres, og frigjør tid fra manuell regresjonstest til andre oppgaver. Tenker man langsiktig så vil man sannsynligvis se en kostnadsbesparelse over tid, hvis man investerer i test automatisering.

 

Geir Josten Lien jobber som teknisk tester og testleder i Visma Consulting. Geir er fagmanager for teknisk test, og innovasjonsleder for teamet hos Skatteetaten. Han har jobbet i Visma siden 2012, og har bakgrunn fra High-Performance Computing ved NTNU.
Kontakt Geir: