Testautomatisering handler om kodekvalitet
Hvis det føles som klikk og lek, gjør vi noe feil.
Testautomatisering blir av og til omtalt som «klikk og lek». Det er en beskrivelse som er lett å forstå, for dårlig testautomatisering ser ofte nettopp slik ut: skjøre tester som klikker seg gjennom et brukergrensesnitt, feiler ofte og krever mye vedlikehold. Samtidig er det viktig å være tydelig på én ting: Det er ikke dette vi ønsker oss.
Målet med testautomatisering er ikke å automatisere flest mulig klikk, men å bygge testkode med god kvalitet som gir reell verdi. Automatiserte tester er kode, og bør behandles som det. De skal være lesbare, strukturerte og vedlikeholdbare, og de skal følge gode prinsipper på linje med annen kode i løsningen. Når vi ikke stiller disse kravene, er det fare for at automatiseringen kan oppleves som lite nyttig og at man ikke har tillitt til den.
Testere sitter på avgjørende kompetanse for å lykkes med testautomatisering. De kjenner brukerflytene, forstår forretningsreglene og vet hvor risikoen ligger. De vet hva som faktisk bør dekkes i regresjon. Samtidig er mange testere ikke tekniske, og det betyr at de ikke kan – og ikke bør – stå alene med ansvaret for den tekniske kvaliteten i testkoden.
Skal automatiserte tester holde høy kvalitet over tid, trengs utviklernes kompetanse. Det handler om struktur, abstraksjon, gjenbruk og valg av riktige tekniske angrepspunkter. Når utviklere er med, er det større sannsynlighet for at koden blir mer robust mot endringer og lettere å vedlikeholde. Testkoden blir også enklere å forstå, noe som gjør at vi i større grad stoler på testene og faktisk bruker dem.
Dette handler ikke om at utviklere skal «hjelpe litt til» med testautomatisering. Det handler om eierskap. Når automatiserte tester utvikles i samarbeid mellom testere og utviklere, slutter de å være «testernes greie» og blir en naturlig del av løsningen. Da deler man både ansvaret og målet: god kvalitet.
Hvis kvalitet virkelig er et felles mål, kan ikke automatiserte tester plasseres på siden som et separat ansvar. De må utvikles med felles standarder, felles forståelse og felles eierskap. Først da beveger vi oss bort fra «klikk og lek» og over til testautomatisering som faktisk gir verdi.
Vi ønsker oss ikke klikk og lek. Vi ønsker oss testkode av høy kvalitet. Og den bygger vi best når utviklere og testere gjør det sammen.