Et af de helt store danske gennembrud inden for cloud-løsninger hedder e-conomic. Over 100.000 kunder i Norden anvender online-regnskabsprogrammet, der henvender sig til små og mellemstore virksomheder – et marked, der er interessant i en sådan grad, at virksomheden i 2015 blev opkøbt af norske Visma for halvanden milliard danske kroner. Hovedparten af de omkring 185 medarbejdere sidder på hovedkontoret i København tæt på Langebro i det, der engang var pakhusbygning for De Danske Sukkerfabrikker.
Testere sparrer med udviklere
I udviklingsafdelingen, der tæller cirka 50 medarbejdere, har man i flere år arbejdet efter de agile principper og metoder. Man har også været tidligt ude med at implementere både processer og den tekniske infrastruktur til at understøtte Continuous Integration og Continuous Delivery. Metoderne sigter mod hyppige deployments og en høj grad af automatisering og har betydet en grundlæggende ændring i definitionen af test og testernes rolle. I den verden giver det ingen mening at have en testfunktion, som kommer på bagkant i forhold til selve kodningen.
– Testerne har i mange år været en del af de enkelte udviklingsteams, men hvor de tidligere først kom ind til sidst i processen, er de nu involveret fra starten, fortæller Signe Julius, Head of Application Engineering. Indtil januar 2016 var hun leder af en egentlig Quality Assurance-enhed, men som en konsekvens af, at test nu er defineret som en integreret del af udviklingsprocessen, er enheden nedlagt.
– I dag forventes testerne på lige fod med de andre i teamet løbende at sparre med udviklerne i udviklingsfasen. Samtidig har de også fået opgaver med at implementere automatiserede test i JAutomate og Selenium, fortæller Signe Julius.
Man anvender også Cucumber, som der er lidt blandede erfaringer med - ifølge Rasmus Beck, som er Head of Platform Engineering:
– For at kunne skrive gode features og scenarier skal man forstå, hvor man bør bruge det, og hvor det ikke passer. Det giver for eksempel ikke mening at skrive features for at teste ting, der kunne dækkes af unit test. Det kræver også ret stor disciplin at kunne forfatte et scenario tilpas abstrakt til, at det rent faktisk ikke er bundet hårdt op til den grænseflade, man tester.
Viktor Yarovyy, der har en baggrund som elektronikingeniør og har arbejdet med softwaretest i mere end 10 år, er en af de testere, der har mærket forandringerne i sit daglige arbejde.
– I dag er vi som testere meget mere en del af teamet og føler, at vi endnu bedre kan være med til at bidrage til, at vi får succes med det produkt, vi arbejder med, siger han og fortsætter:
– Vi er nu tættere på arbejdet med funktionalitetskravene og har rent praktisk også meget tidligere adgang til de nye features i udviklingsmiljøet.
Viktor Yarovyy arbejder en del i JAutomate, som han mener, er et meget stærkt værktøj til at skabe automatiserede test med.
Ændret profil
For udviklerne har forandringerne betydet, at test ikke længere er noget, der nødvendigvis bliver udført af en anden rolle i organisationen – det er en helt integreret del af udviklingsarbejdet.
– Det er udviklernes ansvar at skrive testscripts i forbindelse med kodningen. I første omgang har det været unit test, men efterhånden dækker det også UI-test og integrationstest, som spænder over et større stykke kode og tester egentlige workflowscenarier, fortæller Jesper Vehn Munk, Team Lead på et af e-conomics feature teams.
Et eksempel fra hans team illustrerer tydeligt, i hvor høj grad testrollen er under stor forandring. Ved udgangen af februar 2016 mistede teamet en testmedarbejder, der i den seneste tid reelt ikke udførte traditionelt testarbejde, men derimod implementerede automatiske test. Det er nu implementeret, så testen udføres ved et ”tryk på en knap”. Der er dog stadig brug for at videreudvikle testplatformen, så nu er teamet ude med et stillingsopslag på en ”automation engineer”.
Rasmus Beck forklarer baggrunden for den ændrede profil:
– Tidligere har vi haft folk med kompetencer inden for test og specifikke testteknikker, men det er nogle andre kompetencer, vi har brug for i dag. Vi har product owners og supportere i organisationen med dybt domænekendskab, som udformer use cases og definerer de acceptance criteria, der skal testes på. Så vi har brug for en mere teknisk profil, der kan lave de automatiserede test.
Hele teamet skal omstille sig
Udviklerne har været meget positive over for den tidligere feedback fra testerne, men ifølge Signe Julius har nogle testere været lidt tøvende over for at skulle gå ind i den tidlige dialog med udviklerne. Nogle af dem har måske også følt, at de blev fastholdt i deres tidligere rolle af de faste mønstre og forventninger, som udviklerne havde til en tester. For at implementere den nye måde at samarbejde på i teamet har man derfor gennemført workshops med afsæt i Kanban, der er en metode til at understøtte agil udvikling.
– Det er vigtigt, at man ikke blot fokuserer på, at testerne skal omstille sig og lære nyt. Det drejer sig om, at hele teamet skal lære at samarbejde på en ny måde, og det har Kanban-øvelserne været rigtigt gode til at understøtte, siger Signe Julius.
Alle testere hos e-conomic har en ISTQB-certificering, men ifølge Signe Julius er det primært nogle af de mere generelle elementer fra ISTQB, man kan gøre brug af i e-conomics tilfælde.
– Jeg prioriterer kurser og certificeringer inden for agile test- og udviklingsmetoder, da det passer til den retning, vi vil udvikle vores forretning i. Jeg tror, at udbyttet af ISTQB er meget domæneafhængigt, så hvis vi eksempelvis lavede udvikling baseret på kontrakter med strenge krav til dokumentation eller produkter til for eksempel medicinalindustrien, ville de specifikke ISTQB-teknikker givet være mere relevante, siger hun.
Infrastrukturen skal på plads
Ligesom det er hele teamet, der skal indstille sig på en ny måde at arbejde på, er der ifølge Rasmus Beck også nogle tekniske forudsætninger, som skal være på plads.
– Det er ikke kun et spørgsmål om testernes rolle. Grundlæggende handler det om at fjerne sommerfuglene i maven på alle, der er involveret i at udvikle og frigive softwaren. Derfor skal man virkelig prioritere at få implementeret hele infrastrukturen til understøttelse af en automatiseret deployment-proces. Hvis man har styr på instrumenteringen af den proces, er det meget nemmere at få alle de andre ting til at falde på plads.