Hvis man overvejer at automatisere test i sin virksomhed, skal man først gøre sig klart hvorfor. Derefter skal man afsætte rigeligt med tid, ressourcer og knofedt, hvis man vil have noget ud af investeringen. Det fortæller Mads Loose Winkler, en af Danmarks bedste indenfor automatiseret test.
”Grunden til at man skal gøre sig klart, hvorfor man ønsker at automatisere, er simpel. Man kan nemlig ikke bare gå ud fra, at man kan spare tid eller penge på den manuelle regressionstest ved at automatisere.
Man skal op i en vis størrelse, for det er et tungt maskineri, man sætter i gang, og det koster noget, næsten ligegyldig om man bruger det eller ej, for de automatiserede scripts skal vedligeholdes for at kunne fungere. Desuden kræver en besparelse af den manuelle regressionstest, at man har afsat tid til at udføre den, og den ikke allerede er ’sparet’ væk.”
Det er voldsomt svært at gøre op i tid. Men man får noget andet ud af det. Man får en meget bredere dækning og hurtigere test, hvilket igen betyder større sandsynlighed for at køre test, som man ikke ville køre i en standard-release, fordi den bliver sparet væk, eller udviklerne ikke kan nå det.
”I en releaseproces er der et vindue til test. Det vindue kan skrumpe ind, hvis releasen udskydes, eller ting ikke lige virker. Ved at have hurtigere test er der større chance for, at man får testet i det hele taget – hvilket sandsynligvis giver et produkt med færre fejl.”
Når en virksomhed kaster sig over automatisering af test, bør ledelsen være klar over, at man går i gang med en grundlæggende ændring af processer i virksomheden. Og sådan en procesændring vil altid kræve fokus og tid. Der skal samtidig være vilje i ledelsen og nogen til at drive processen – gerne en ildsjæl – for den kræver også, at man finder de profiler, der kan løse opgaven.
Mads Loose Winkler fortæller: ”Det er ikke nok bare at købe et automatiseringsværktøj og sætte en manuel tester til at gå ind og automatisere virksomhedens test. Man skal have nogen, der har specialistviden, ellers tror jeg, at man bliver skuffet over resultaterne – eller manglen på samme.”
Derudover er det vigtigt at testere, test managere, udviklere og projektledere er klar over, at automatisering eksisterer, og hvordan de bedst udnytter denne funktion i virksomheden.
Det er en form for procesændring, der kræver tilvænning på samme måde, som hvis man indfører en ny mødekultur.
Mads Loose Winkler siger: ”Det er ikke nok at sende mail ud med information om ændringerne – det er en modningsproces, der kræver en vedhold-ende indsats.”
TEST er en modningsproces
I ATP er modningsprocessen stadig i gang. En proces, der startede, før Mads Loose Winkler kom ind i organisationen for fem år siden. Organisationen har haft glæde af automatiseringen, og Mads Loose Winkler mener, at den har kunnet betale sig for ATP, men han mener også, at der altid er plads til forbedringer.
”Det arbejder man på, og meget er allerede automatiseret i ATP. I en stor organisation med mange forskellige områder, der skal spille sammen, er det ikke altid let at indføre procesændringer,” siger Mads Loose Winkler.
Han mener, at der kan være mange forklaringer på, at automatisering af test er svær at få 100 % forankret. Årsagerne kan variere fra manglende informering af resten af organisationen og for lidt fokus på driften, til politiske overvejelser om, hvorvidt der skal automatiseres, og hvilke ressourcer der skal afsættes til det.
Central eller decentral automatisering
Om styringen af automatiseret test skal være central eller decentral afhænger i nogen grad af de ressourcer, man har i virksomheden. I Mads Loose Winklers optik er der flest fordele ved at centralisere automatiseringen. På den måde samler man viden på et par medarbejdere, der kan holde styr på scripts på tværs af organisationen.
Derudover er det en fordel, hvis automatiseringsteamet primært har fokus på udvikling, og at al testviden ligger hos de manuelle testere. Mads Loose Winkler siger: ”Det er svært at finde gode udviklere, som også er gode til manuel test, og automatiseringsrollen bliver hurtigt meget versatil: Ud over udvikling af scripts ligger der en del fokus på afvikling og drift af scripts, heri opfølgning på fejl i applikationen, tilretning af testdata, estimering af opgaver og generel rådgivning vedrørende automatisering af test.”
Der er andre fordele ved at køre automatiseringen af test centralt. Løsninger og dokumenter bliver mere ensartede, og man har få eksperter i stedet for at sprede viden meget ud. Ved en decentral løs ning får man hurtigt mange nøglepersoner, der ikke nødvendigvis kan overtage hinandens arbejde, fordi de udfører det på hver deres måde.
Bliver hurtigt nedprioriteret
Ordet fokus er lidt af et mantra for Mads Loose Winkler, for han oplever gang på gang, at automatiseret test i en travl hverdag ryger nederst i prioriteringsbunken. Det er noget, man laver til næste release, ude i fremtiden, så ofte ender de ressourcer, der skulle have lavet scripts, med at få uddelegeret andre opgaver, der haster mere.
”Generelt er en af de store udfordringer at få test, som er beskrevet, så man kan automatisere dem. Mange af de testcases, jeg har set, er mere lavet som stikord til en med specialistviden inden for applikationen, og man kan ikke som udenforstående følge en vejledning, hvor der står: Find en kunde, og opret en kundeaftale,” siger Mads Loose Winkler.
Man skal vide i detaljer, hvad der skal gøres, så man kan gå ind og gennemføre testen.
Driftsomkostninger overrasker mange
Det kan komme bag på nogle virksomheder, at det kræver tid og ressourcer at drifte og vedligeholde automatiseringssuiten, efter at udviklingen af automatiseringsscripts har fundet sted. Alle scripts bør jævnligt afvikles for at sikre, at de stadig virker og er klar til test, når det gælder.
Ændringer i miljø, testmaskiner, testdata, automatiseringssoftwaren og selve applikationen kan nemt få et script til at fejle. At være på forkant er essentielt for at have en brugbar automatiseringssuite.
Mads Loose Winkler uddyber: ”F.eks. overvejede vi i ATP på et tidspunkt, om vi skulle afvikle alle vores scripts hver dag. Men det kræver, at nogen kigger på dem hver dag, finder fejlene og får dem rettet eller tager de forældede scripts ud. Det er en tung proces. Nogle af fejlene er ikke nødvendigvis fejl i script eller applikation det kan være et problem med testmiljøet, og så kræver det, at man finder frem til den rigtige mand i organisationen, der kan hjælpe med at fikse problemet. Det er en stor driftsopgave.”
Fordele ved automatisering
• Spar manuelle timer ved afvikling af regressionstest
• Undgå manuelle fejltagelser ved repetitionstest
• Mindre behov for ressourcer med specifik viden
• Mulighed for større testdækning
• Hurtigere svar ved afvikling af regressionstest