Hva er et automatisert testverktøy?
Akkurat som et fysisk produkt er testet for å sjekke om det oppfyller ønsket oppførsel og spesifikasjoner, så testes også programvare. Testing av programvare kan utføres manuelt av mennesker, eller ved å bruke verktøy. Et automatisert testverktøy er et programvare som brukes til å teste målprogramvaren, det vil si programvaren som vurderes. Et slikt verktøy utfører forskjellige tester på målprogramvaren, og avgjør om testene er vellykket.
Programvare må testes for å sikre at riktige resultater blir generert, gyldige innganger blir akseptert og korrekt behandlet, og at ugyldige innganger blir avvist. Testing er nødvendig for å avgjøre om resultatene genereres raskt, programvaren fungerer bra selv om et stort antall mennesker får tilgang til den samtidig, og så videre. Manuelle tester brukes ofte, men de er avhengige av grundigheten til personene som utfører testingen. Testing av programvare manuelt tar tid og krever et betydelig antall mennesker for de fleste ikke-trivielle applikasjoner og dermed øke kostnadene. I tillegg kan testing for tusenvis av samtidige brukere eller store datamengder ikke lett utføres på en manuell måte.
Testautomatisering er bruk av verktøy for å teste programvare. Et automatisert testverktøy er i seg selv programvare som kan utvikles, kjøpes eller anskaffes. Verktøyet starter vanligvis å utføre målprogramvaren, og gir forskjellige innganger til målprogramvaren for testing av forskjellige forhold. Den evaluerer de tilsvarende utgangene til målprogramvaren og holder oversikt over bestått / mislykket utfall av hver test. På slutten av en serie tester gir verktøyet vanligvis et sammendrag av resultater slik at man raskt kan bestemme antallet og alvorlighetsgraden av manglene.
Et automatisert testverktøy kan fungere på to måter. For det første kan det være kodedrevet, det vil si at verktøyet kan være tett relatert til den skrevne koden, slik at den sjekker at resultatene for forskjellige innganger er riktige. For det andre kan det være brukergrensesnittbasert der aktiviteter fra brukere som musebevegelser, tastaturinnganger, taleinnganger osv. Blir etterlignet, og utgangene gitt til brukerne blir undersøkt for korrekthet. I sistnevnte tilfelle kan en persons faktiske aktiviteter bli spilt inn og deretter spilt på nytt av verktøyet, eller slike aktiviteter kan genereres fra et skript med kommandoer matet til verktøyet.
Automatiske testverktøy til generell bruk er tilgjengelig på markedet. De fleste er ganske dyre, men noen verktøy er tilgjengelige gratis. Hvis målprogramvaren er svært spesifikk eller unik, må antagelig et testverktøy tilpasses av det programvareteamet selv. Som med all programvare har verktøyene i seg selv begrensninger, og fungerer bare ordentlig når de får gode inndata. Hvis man ikke mater et relativt komplett test, vil ikke verktøyet hjelpe til med å bestemme kvaliteten på målprogramvaren.
Et automatisert testverktøy har mange fordeler. Når en serie tester er opprettet, kan testene utføres raskere enn en person kan utføre dem. Testene kan kjøres over natten eller på forskjellige timer, slik at folk kan fokusere på det de gjør best. Testene kan kjøres om og om igjen for å avgjøre om feil har sneket seg inn i målprogramvaren når den blir endret over tid.