Succes med øget testindsats i Verticas teams

Igennem længere tid har vi i Vertica haft fokus på at øge testindsatsen i vores udviklingsprojekter. Det betyder, at vi blandt andet på projekter med stor kompleksitet har allokeret en professionel tester til at udføre dybdegående tests – og det har været en gevinst både for udviklingsteamet og kunderne.

I blogindlægget kan du læse, hvordan vi arbejder med test i Vertica, og hvordan udviklerne oplever at have en tester med på sidelinjen i udviklingsforløbet.

Hvor meget giver det mening at teste?

I alle projekter, hvor der udvikles software, er der behov for test. Omfanget af testen kan variere, og bør tilpasses den givne kontekst.

Er der tale om software med lav kompleksitet og lav vigtighed for kunden – kan man prioritere testindsatsen lavt og måske nøjes med at teste nogle få ’happy paths’. Dvs. at man blot tester, at en funktion grundlæggende fungerer, som man forventer.

Er kompleksiteten derimod høj, og vigtigheden for kunden kritisk – bør man altid prioritere en grundig test, og typisk giver det derfor mening at involvere professionelle testere.

Hvem udfører testen?

De fleste af Verticas kunder vælger selv at udføre grundig test i deres projekter – og det giver ofte rigtig god mening, hvis kunden selv har tid og kompetencer til at udføre en god test. Nogle af Verticas kunder har dedikerede inhouse testere, som varetager denne opgave. I disse tilfælde sørger Verticas udviklerteam for Unit Test, der som regel afvikles automatisk i en CI/CD proces, samt en grundlæggende test af den leverede funktionalitet på et aftalt test miljø.

Men i nogle projekter med øget risiko, og tilsvarende øget behov for en dybdegående, professionel test, har kunderne simpelthen ikke ressourcer (tid eller kompetencer) til at udføre de nødvendige tests. I de tilfælde kan Vertica skrue op for den interne test, der afvikles, inden kunden selv får den nye funktionalitet til test. Dette kan f.eks. gøres ved at sætte en tester på teamet.

På den måde findes og rettes væsentlig flere fejl tidligt i udviklingsforløbet – og i sidste ende giver det ofte mulighed for at levere mere værdi til kunderne for de samme penge.

Betyder mere test også dyrere projekter?

Vi oplever indimellem, at kunderne kan være bekymrede for, at en dedikeret tester i udviklerteamet betyder en forhøjet omkostning for projektet. Eller at testeren optager noget af den tid, der bør bruges på at udvikle de nye features.

Men det der reelt sker, er at en større andel af timerne, der er estimeret til bugfixing i projekterne – dvs. relativt dyre tilbageløb på opgaverne, når kunderne selv finder fejlene sent i forløbet – kan flyttes frem i projektet og mere omkostningseffektivt anvendes til tidlig test samtidig med selve udviklingsopgaven.

Hvordan oplever udviklerne at have en tester på projektet?

Vi har spurgt to af vores udviklere om, hvordan det er at have en professionel tester med på teamet. Til spørgsmålet om det reelt tager tid fra udviklingsarbejdet at have en tester på teamet, svarer Lars Bessermann Johansen:

Lars Bessermann Johansen

Det synes jeg ikke det gør. Samlet set er jeg sikker på at vi vinder tid. Så det er helt sikkert en gevinst, fordi vi så får nogle andre fordele”.

”Når kunden ikke selv har mulighed for at teste tilstrækkeligt, giver det en øget tryghed for det, vi leverer, at vi har en tester med ombord. Og ellers er det er en fordel, at vi finder fejlene tidligere, hvilket gør det billigere at rette dem. Hvis en ny feature først bliver testet en måned, efter den er udviklet, så er det alt andet lige sværere at rette eventuelle fejl”.

Af fordele nævner han:

Lars mener, at en tester kan noget andet end en udvikler:

Jeg er helt sikker på, at en professionel tester kan teste mere effektivt og også finde flere bugs. Jeg kan også godt bage en kage, selv om jeg ikke er bager, men det er nok bedre, hvis bageren gør det.

Anders Thomsen har også en positiv oplevelse af at have en tester i teamet:

Anders Thomsen

”For det første betyder det, at der kommer færre fejl ud. Det er åbenlyst. Så giver det lidt mere ro, omkring de ting, vi afleverer til kunden. De virker, så langt at vi ved, de skal virke, og så langt, at vi rent faktisk kan teste dem”.

På bundlinjen giver det et bedre produkt. Og et produkt, som man har mere ro i maven over at aflevere. Fordi man ved, at der har været en inde over, som faktisk har gjort sig nogle tanker om, hvordan man kunne få det til IKKE at virke, og hvad det er for nogle fejlscenarier, man ikke selv har set”.

Selvom en udvikler selv kan udføre den samme test, som en tester, så har testeren en fordel, ifølge Anders:

Testeren kan se det lidt større billede, end den lille ting, man selv har siddet med. Se den i samspil med andre dele af løsningen. En tester kan jo i det hele taget finde ud af at teste. Det er jo ikke rigtig noget, vi som udviklere er trænet i”.

Endeligt ser han det både som en fordel for udviklerteamet selv, og for kunden, at have en tester med:

Jeg synes egentlig ikke at det går ud over vores kadence i teamet. Og vores fremdrift. Det er jo billigst at sørge for at testen ligger så tæt på udviklingstiden som muligt. Slutbrugerne får tilmed et bedre produkt’.

Vil du vide mere om hvordan Vertica arbejder med test kan du kontakte Verticas testkonsulent, Marianne Øster på mos@vertica.dk