Slik får du en bedre og sikrere kode med automatisk testing

Kodefeil kan føre til hodepine for både utviklere, kunder og sluttbrukere. Men det finnes effektive måter å gardere seg mot dem. Vi forklarer hva automatisk testing er, og hvorfor prosjektet ditt fortjener det.

Marcin Zajadło
Utvikling

Manuell testing og automatisk testing

Det finnes to typer tester: manuelle og automatiske. Manuell testing er noe alle utviklere gjør med jevne mellomrom. Funket det jeg nettopp gjorde? Vi tweaker litt og tester igjen: Virker det fremdeles?

– Automatisk testing er de samme testene, bare at det er maskinen selv som utfører dem. Disse testene trigges når vi gjør endringer. Det betyr at vi får testet koden ikke bare når vi legger til eller fjerner noe, men ved hver eneste lille justering, sier Marcin Zajadło, utvikler i Increo.

Et sikkerhetsnett

La oss si at vi jobber med en nettside. Når vi gjør en endring i koden, pusher vi denne til serveren, som igjen kjører testen. Virker alt som det skal, pushes koden videre til nettsiden. Hvis ikke stopper den prosessen og gir oss beskjed om at noe er galt.

Det betyr til syvende og sist at koden vi pusher, er sikrere. I større prosjekter kan vi ha over 100 tester kjørende. Det er umulig å gjøre manuelt. Skulle vi bomme på noe fundamentalt i et slikt prosjekt, risikerer vi allikevel ikke å dytte feil kode. Du kan si at det er et sikkerhetsnett.

Så er det selvsagt ikke sånn at det er nødvendig med automatisk testing i alle prosjekter.

– Det kommer helt an på størrelsen. I mindre prosjekter er det kanskje ikke budsjett eller tid, og som regel heller ikke nødvendig. Men i prosjekter av en viss størrelse er dette en investering som lønner seg, forklarer Marcin.

Sikrer kontinuitet

Automatisk testing er også en kvalitetssikring for prosjekter som går over lang tid. Om et prosjekt strekker seg over flere år, kan det skje at noen blir syke eller slutter – og andre må steppe inn.

– Utviklere kan ikke vite alt som har foregått i alle prosjektene. Går de over tid, blir det vanskelig å huske selv om du har vært med fra start. Det er rett og slett umulig å holde styr på alt som kan gå galt. Automatisk testing holder menneskelig feilbarlighet i sjakk, i tillegg til at det sparer utvikleren både stress og tid.

Marcin legger også til at testene også fungerer som dokumentasjon. Skulle en lead developer slutte, kan andre utviklere hoppe inn og sjekke testscriptet.

– Da ser de med en gang hvilke funksjoner som krever hvilke parametre, og det sikrer kontinuiteten i utviklingen. En manuell testing ville vært mer tidkrevende, og derfor også dyrere på sikt. Så hvis du vet at prosjektet skal kjøre en stund, så vil automatisk testing lønne seg, sier han og avslutter:

– Disse testene er litt som SEO. Det er vanskelig å selge fordi du ikke kan «se» dem. Men det betyr ikke at det er uviktig. Ville du kjøpt en utestet bil?

Hva kan vi hjelpe deg med?

Morten M Wikstrøm
Morten M Wikstrøm
Daglig leder, Rådgivning
Trondheim
morten@increo.no
/
976 90 017
Sebastian Krohn
Sebastian Krohn
Byråleder, Rådgivning
Oslo
sebastian@increo.no
/
988 00 306

Se også:

Hold deg oppdatert med vårt nyhetsbrev