Hvad er et automatiseret testværktøj?
Ligesom et fysisk produkt testes for at kontrollere, om det opfylder den ønskede adfærd og specifikationer, så testes også software. Softwaretest kan udføres manuelt af mennesker eller ved hjælp af værktøjer. Et automatiseret testværktøj er et stykke software, der bruges til at teste målsoftwaren, det vil sige den undersøgte software. Et sådant værktøj udfører forskellige test på målsoftwaren og bestemmer, om testene er bestået.
Software skal testes for at sikre, at korrekte resultater genereres, gyldige input accepteres og korrekt behandles, og at ugyldige input afvises. Testning er nødvendig for at bestemme, om resultaterne genereres hurtigt, softwaren fungerer godt, selvom et stort antal mennesker får adgang til det samtidig, og så videre. Manuelle tests bruges ofte, men de er afhængige af grundigheden af de mennesker, der udfører testen. Test af software manuelt tager tid og kræver et betydeligt antal mennesker til de fleste ikke-trivielle applikationer, hvilket øger omkostningerne. Derudover kan test for tusinder af samtidige brugere eller store datamængder ikke let udføres på en manuel måde.
Testautomation er brugen af værktøjer til test af software. Et automatiseret testværktøj er i sig selv software, der kunne udvikles, købes eller erhverves. Værktøjet starter typisk med at udføre målsoftwaren og videregiver forskellige input til målsoftwaren til test af forskellige betingelser. Den evaluerer de tilsvarende output af målsoftwaren og holder styr på resultatet af bestået / mislykket af hver test. Ved afslutningen af en række tests giver værktøjet typisk et resumé af resultater, så man hurtigt kan bestemme antallet og sværhedsgraden af manglerne.
Et automatiseret testværktøj kan arbejde på to måder. For det første kan det være kodedrevet, det vil sige at værktøjet kan være tæt knyttet til den skrevne kode, så det kontrollerer, at resultaterne for forskellige input er korrekte. For det andet kan det være brugergrænsefladebaseret, hvor aktiviteter fra brugere, såsom musebevægelser, tastaturindgange, stemmesignaler osv. Er efterlignet, og outputene, der leveres til brugerne, undersøges for korrekthed. I sidstnævnte tilfælde kunne en persons faktiske aktiviteter optages og derefter afspilles igen med værktøjet, eller sådanne aktiviteter kunne genereres fra et script med kommandoer, der blev fodret til værktøjet.
Automatiske testværktøjer til generelle formål er tilgængelige på markedet. De fleste er ret dyre, men nogle værktøjer er gratis tilgængelige. Hvis målsoftwaren er meget specifik eller unik, skal et testværktøj sandsynligvis tilpasses af det softwareteam selv. Som med al software har værktøjerne selv begrænsninger og fungerer kun korrekt, når de får gode inputdata. Hvis man ikke fodrer et relativt komplet sæt tests, hjælper værktøjet ikke med at bestemme målsoftwarens kvalitet.
Et automatiseret testværktøj har mange fordele. Når en række tests er oprettet, kan testene udføres hurtigere, end en person kan udføre dem. Testene kan køres natten over eller på ulige timer, så folk kan frit fokusere på, hvad de gør bedst. Testene kan køres igen og igen for at bestemme, om der er sneget fejl ind i målsoftwaren, efterhånden som den ændres over tid.