Hva er enhetstesting?
Enhetstesting i databehandling refererer til en utviklingsprosess som vurderer både funksjonen og ytelsen til den minste diskrete programvaremodulen som kan fungere på egen hånd, også kjent som en enhet. Siden måling er kjernen i alle programvarekvalitetsprogrammer, bekrefter hver enhetstest at en enhet overholder designintensjonen som er angitt i utviklingsplanen. Testen bekrefter også at enhetens atferd og ytelse er som forventet.
Generelt er enhetstester i seg selv små programmer der en utvikler spesifiserer akseptable innganger, atferd og utganger for enheten og deretter logger resultatene for senere gjennomgang og evaluering. En programvareutvikler kan utføre enhetstesting på ad hoc-basis, eller hvis hovedprogrammet er stort eller komplekst, kan han eller hun legge til enhetstester for inkludering i et større testsele som utøver flere integrerte enheter samtidig. Uansett er enhetstesting en kontinuerlig innsats fra utvikleren for å bekrefte at hans eller hennes kode utfører som forventet, og som sådan anses som en integrert del av den generelle utviklingsprosessen.
Enhver programvareutviklingsprosess begynner normalt med en designfase der hele teamet bruker tiden på å skrive ned planene for å designe, utvikle, integrere, systemtesting, akseptere og vedlikeholde ny programvare. Enhetstesting er en nødvendig komponent i alle faser. Utviklere må ha en enkel måte å sjekke at kodeendringene i moduler gir forventede resultater før de integreres i hovedprogrammet.
Enhetstester blir vanligvis skrevet av den samme utvikleren hvis kode vil bli brukt. Årsaken til dette er at enhetens programmerer har en grundig forståelse av modulens design og forventede ytelse. Vanligvis setter utviklerens testtilfelle parametrene for alle enhetens innganger, behandlingsmetoder og utganger, og definerer de akseptable ytelseskriteriene for senere integrering og akseptasjonstesting.
En sentral fordel med enhetstesting er at det oppmuntrer til å oppdage problemer tidlig i utviklingsprosessen. Når kodingsproblemer oppdages tidlig, kan korrigerende handlinger og fikser vanligvis finne sted før buggy-kode har noen negativ effekt på den integrerte applikasjonen og dets brukere. Selv om enhetstester ikke kan fange opp alle mulige programfeil, reduserer de feil betydelig i senere faser av utviklingsprosessen, og sparer tid, penger og ressurser som vil være nødvendige for å feilsøke et program gjennom ytterligere validerings- og bekreftelsessykluser før utgivelse.