I et digitalisert samfunn, der vi alle i økende grad er avhengig av ulike typer dataprogrammer, er det avgjørende at de fungerer som de skal. Enkelte feil skaper først og fremst irritasjon hos brukeren av programmet, men oppstår det for eksempel feil i et styringssystem til et tog eller fly, kan det få fatale konsekvenser, ja i verste fall med tap av liv. Å teste programvaren grundig før den tas i bruk, er følgelig helt avgjørende. For å sikre objektive vurderinger, brukes det ofte uavhengige testere som ikke selv har deltatt i utviklingen av programmet. Dette fratar imidlertid ikke programmereren ansvaret for kodens kvalitet.
På samme måte som vi har lett for å gjøre skrivefeil når vi skriver vanlig tekst, er det ikke til å unngå at vi gjør programmeringsfeil når vi programmerer. De syntaktiske feilene hjelper kompilatoren oss med. Verre er det med de logiske feilene. Oppdages ikke de i tide, vil ikke programmet fungere som det skal, noe som igjen kan få alvorlige konsekvenser. Ideelt sett bør programmereren teste koden fortløpende, det vil si for hver metode som programmeres bør det programmeres en tilhørende enhetstest (unit-test) som sjekker at metoden utfører det den skal. Enhetstestene utgjør grunnlaget for automatisk testing, som igjen gjør det mulig å effektivisere og øke omfanget av testingen. Etter hvert som dataprogrammene øker i kompleksitet og størrelse, øker også behovet for automatisert testing som en integrert del av utviklingsprosessen.
Testing av programvare, software testing, er et eget fagfelt som tar for seg hvordan testingen kan integreres gjennom hele programvarens livssyklus, fra planleggingsfasen, der vi sikrer oss at fundamentet programmet skal bygges på ikke inneholder feil og mangler, gjennom implementasjonsfasen, frem til ferdig produkt. Målet er å forebygge feil, og ikke minst luke dem ut så tidlig som mulig i utviklingsprosessen. Hvis en feil først har forplantet seg inn i koden, vil det koste det mangedobbelte å fjerne den i forhold til hva det ville kostet å luke den ut i en tidligere fase. Å starte testing tidlig i utviklingsprosessen er derfor en meget kostnadseffektiv teststrategi.
Kommentarer
Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.
Du må være logget inn for å kommentere.