Vad är ett automatiserat testverktyg?

Precis som en fysisk produkt testas för att kontrollera om den uppfyller önskat beteende och specifikationer, så testas även mjukvara. Programvarutestning kan göras manuellt av människor eller med hjälp av verktyg. Ett automatiserat testverktyg är en mjukvara som används för att testa målmjukvaran, det vill säga programvaran i fråga. Ett sådant verktyg exekverar olika tester på målmjukvaran och avgör om testerna har godkänts.

Mjukvaran måste testas för att säkerställa att korrekta resultat genereras, giltiga indata accepteras och bearbetas korrekt och att ogiltiga indata avvisas. Testning är nödvändig för att avgöra om resultat genereras snabbt, programvaran fungerar bra även om ett stort antal personer kommer åt den samtidigt, och så vidare. Manuella tester används ofta, men de är beroende av noggrannheten hos de personer som testar. Att testa programvara manuellt tar tid och kräver ett betydande antal personer för de flesta icke-triviala applikationer vilket ökar kostnaden. Dessutom kan testning för tusentals samtidiga användare eller stora datamängder inte enkelt utföras på ett manuellt sätt.

Testautomatisering är användningen av verktyg för att testa programvara. Ett automatiserat testverktyg är i sig programvara som kan utvecklas, köpas eller förvärvas. Verktyget börjar vanligtvis exekvera målmjukvaran och skickar olika indata till målmjukvaran för att testa olika förhållanden. Den utvärderar motsvarande utdata från målmjukvaran och håller reda på resultatet för godkänt/underkänt för varje test. I slutet av en serie tester ger verktyget vanligtvis ett sammanfattande resultat så att man snabbt kan fastställa antalet och svårighetsgraden av defekterna.

Ett automatiserat testverktyg kan fungera på två sätt. För det första kan det vara koddrivet, det vill säga verktyget kan relateras hårt till den skrivna koden så att det kontrollerar att resultaten för olika inmatningar är korrekta. För det andra kan det vara användargränssnittsbaserat där aktiviteter från användare såsom musrörelser, tangentbordsinmatningar, röstinmatningar, etc. efterliknas, och de utdata som tillhandahålls till användarna undersöks för korrekthet. I det senare fallet kan en persons faktiska aktiviteter registreras och sedan spelas upp av verktyget, eller så kan sådana aktiviteter genereras från ett skript med kommandon som matas till verktyget.

Automatiska testverktyg för allmänna ändamål finns tillgängliga på marknaden. De flesta är ganska dyra, men vissa verktyg är tillgängliga gratis. Om målmjukvaran är mycket specifik eller unik, måste ett testverktyg troligen anpassas av det mjukvaruteamet själv. Som med all programvara har själva verktygen begränsningar och fungerar endast korrekt när de ges bra indata. Om man inte matar en relativt komplett uppsättning tester hjälper verktyget inte att bestämma kvaliteten på målprogramvaran.

Ett automatiserat testverktyg har många fördelar. När en serie tester har skapats kan testerna utföras snabbare än en person kan utföra dem. Testerna kan köras över natten eller vid udda tider och lämnar människor fria att fokusera på det de är bäst på. Testerna kan köras om och om igen för att avgöra om fel har smugit sig in i målmjukvaran när den modifieras med tiden.