Automatiseret test

Hvad handler automatiseret test om?
Så du vil i gang med automatiseret test? Måske kender du til problemerne med at indføre ændringer undervejs i et softwareprojekt. Hver gang der skal laves en ændring, er der risiko for, at fejl slipper med ind i koden, uden det opdages.

Da det ikke er rentabelt at gennemføre omfattende manuelle tests af et stykke software, hver gang der laves ændringer, er vi nødt til at bruge automatiserede tests.

Hvis vi skærer ind til benet, handler automatiseret test om én ting. At skabe flow i sin udviklingsprocess.

Jo hurtigere udviklerne bliver bekendt med en fejl, desto hurtigere kan de rette den, og desto færre interessenter vil blive berørt af den. Automatiske tests er en forudsætning for at fange fejl meget hurtigt.

Et eksempel – “Please re-enter your password”
Har du nogensinde tænkt over, hvorfor du skal skrive dit password to gange, når du skal ændre det? Det er naturligvis en gardering mod at skrive forkert uden at opdage det (man ser jo blot en række stjerner – ‘*’). Man kan spørge sig selv: hvad ville konsekvensen være, hvis mit password var sat til noget andet, end det jeg troede, jeg havde tastet? Så ville jeg ikke være i stand til at logge ind længere, og jeg ville blive nødt til at indvolvere min systemadministrator for at få adgang til systemet igen.

Selvom jeg for det meste taster rigtigt, er prisen for at taste sit password to gange så ubetydelig, at jeg hellere vil gøre det, end at risikere at skulle betale den pris, der er forbundet med at ringe til systemadministratoren og bede om hjælp.

Konklusionen er altså, at det både er fornuftigt og rentabelt at skrive det, man mener, to gange — såfremt konsekvenserne ved at lave fejl er omfattende.

Kan vi så bruge denne konklusion til noget, når det kommer til at lave software? Ja. Ved både at udtrykke, hvad man mener, i sin applikationskode og i testkode, kan computeren hurtigt afgøre, om de to ting stemmer overens eller ej. Hvis der er uoverenstemmelser, får udvikleren det at vide, og kan rette sine fejl med det samme.

Hvad skal vi bruge det til?

Automatiserede tests skal bruges for at blive bedre til at levere fungerende software i omgivelser, der er under konstant forandring.

Automatiserede tests hjælper med flere aspekter, end man måske umiddelbart skulle tro. Nedenfor har vi listet de elementer, BestBrains ser som de vigtigste argumenter for at skrive tests.

  • Forbedret design
  • Højere stabilitet
  • Opretholde flow igennem hele projektet.
  • Minimere risici for fejl og splidtid.
  • Større gennemsigtighed i systemet.
  • Opdage fejl hurtigere.
  • Tests fungerer som dokumentation.
Hvem skal teste?

Hver gang en fejl slipper ind i koden, betyder det, at der er nogen i organisationen, som skal bruge tid på at rapportere og følge op på den. Derfor mener vi, at udviklerne har et stort medansvar, når det kommer til at teste produktet. Det er utroligt vigtigt, at udviklerne får fanget fejl, inden de påvirker andre.

Kan det svare sig?

Når man vil lave automatiserede tests, kræver det, at man er villig til at investere noget tid. Forudsætningen for, at man kan tjene investeringen hjem igen, er naturligvis, at man kører testen. Hver gang testen køres, får man en lille del af sin investering hjem i form af viden om 1) Produktets tilstand og 2) Korrektheden af en rettelse. Hvis udviklerne kan køre en række tests, hver gang de retter i systemet, dvs typisk flere gange om dagen, giver det de bedste muligheder for at fange fejlene tidligt.

BestBrains’ erfaring er, at det absolut kan svare sig at bruge tid på at skrive tests. Men når det er sagt, er det naturligvis fornuftigt at prioritere resourcerne til de tests, der giver størst afkast.

Næste skridt

Måske har i allerede prøvet at skrive automatiserede tests, men synes ikke i får tilstrækkeligt afkast af det. Her kan BestBrains vejlede jer til hvordan i bliver bedre.

Kontakt Sune Gynthersen, og hør nærmere om, hvordan BestBrains kan hjælpe med at løfte jeres kompetencer indenfor automatiseret test.