Wat is een geautomatiseerde testtool?
Net zoals een fysiek product wordt getest om te controleren of het voldoet aan het gewenste gedrag en de specificaties, wordt ook software getest. Softwaretesten kunnen handmatig worden uitgevoerd door mensen of door tools te gebruiken. Een geautomatiseerde testtool is een stukje software dat wordt gebruikt om de doelsoftware te testen, dat wil zeggen de software die wordt overwogen. Een dergelijke tool voert verschillende tests uit op de doelsoftware en bepaalt of de tests met succes worden doorgegeven.
Software moet worden getest om ervoor te zorgen dat de juiste resultaten worden gegenereerd, geldige ingangen worden geaccepteerd en correct worden verwerkt en dat ongeldige ingangen worden afgewezen. Testen is nodig om te bepalen of de resultaten snel worden gegenereerd, de software werkt goed, zelfs als een groot aantal mensen er tegelijkertijd toegang toe heeft, enzovoort. Handmatige tests worden vaak gebruikt, maar ze zijn afhankelijk van de grondigheid van de mensen die het testen doen. Het testen van software kost handmatig tijd en vereist een aanzienlijk aantal mensen voor de meeste niet-triviale applications die dus bijdraagt aan de kosten. Bovendien kan testen voor duizenden gelijktijdige gebruikers of grote hoeveelheden gegevens niet eenvoudig op een handmatige manier worden uitgevoerd.
Testautomatisering is het gebruik van tools om software te testen. Een geautomatiseerde testtool is zelf software die kan worden ontwikkeld, gekocht of overgenomen. De tool begint meestal met het uitvoeren van de doelsoftware en geeft verschillende ingangen door aan de doelsoftware voor het testen van verschillende voorwaarden. Het evalueert de bijbehorende uitgangen van de doelsoftware en houdt de uitkomst van PASS/FAIL van elke test bij. Aan het einde van een reeks tests geeft de tool meestal een samenvattende resultaten zodat men snel het aantal en de ernst van de defecten kan bepalen.
Een geautomatiseerde testtool kan op twee manieren werken. Ten eerste kan het codegestuurd zijn, dat wil zeggen dat de tool strak gerelateerd kan zijn aan de schriftelijke code, zodat het controleert dat de resultaten voor VarioAmerikaanse ingangen zijn correct. Ten tweede kan het een gebruikersinterface zijn gebaseerd, waarbij activiteiten van gebruikers zoals muisbewegingen, toetsenbordinvoer, spraakinvoer, enz. Worden nagebootst en de uitgangen die aan de gebruikers worden verstrekt, worden onderzocht voor correctheid. In het laatste geval konden de werkelijke activiteiten van een persoon worden vastgelegd en vervolgens worden afgespeeld door de tool, of dergelijke activiteiten kunnen worden gegenereerd uit een script van opdrachten die aan de tool zijn gevoerd.
Automated testtools voor algemene doeleinden zijn beschikbaar op de markt. De meeste zijn vrij duur, maar sommige tools zijn gratis beschikbaar. Als de doelsoftware zeer specifiek of uniek is, moet een testtool waarschijnlijk op maat worden ontwikkeld door dat softwareteam zelf. Zoals bij alle software, hebben de tools zelf beperkingen en werken ze alleen correct wanneer ze goede invoergegevens krijgen. Als men geen relatief complete set tests uitvoert, helpt de tool niet bij het bepalen van de kwaliteit van de doelsoftware.
Een geautomatiseerde testtool heeft veel voordelen. EenmaalEr wordt een reeks tests gemaakt, de tests kunnen sneller worden uitgevoerd dan een persoon kan ze uitvoeren. De tests kunnen 's nachts worden uitgevoerd of op vreemde uren kunnen mensen vrij maken om zich te concentreren op wat ze het beste doen. De tests kunnen steeds opnieuw worden uitgevoerd om te bepalen of fouten in de doelsoftware zijn geslopen, omdat deze in de loop van de tijd wordt gewijzigd.