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. Softwaretests kunnen handmatig door mensen worden uitgevoerd of met behulp van hulpmiddelen. Een geautomatiseerde testtool is een stuk software dat wordt gebruikt om de doelsoftware te testen, dat wil zeggen de software in kwestie. Een dergelijke tool voert verschillende tests op de doelsoftware uit en bepaalt of de tests met succes zijn doorstaan.
Software moet worden getest om ervoor te zorgen dat de juiste resultaten worden gegenereerd, geldige invoer wordt geaccepteerd en correct wordt verwerkt en dat ongeldige invoer wordt geweigerd. Testen is nodig om te bepalen of resultaten snel worden gegenereerd, de software werkt goed, zelfs als een groot aantal mensen tegelijkertijd toegang hebben, enzovoort. Handmatige tests worden vaak gebruikt, maar ze zijn afhankelijk van de grondigheid van de mensen die de tests uitvoeren. Het handmatig testen van software kost tijd en vereist een aanzienlijk aantal mensen voor de meeste niet-triviale toepassingen, waardoor de kosten toenemen. Bovendien kunnen tests voor duizenden gelijktijdige gebruikers of grote hoeveelheden gegevens niet eenvoudig handmatig worden uitgevoerd.
Testautomatisering is het gebruik van tools om software te testen. Een geautomatiseerde testtool is zelf software die kan worden ontwikkeld, gekocht of verkregen. De tool begint meestal met het uitvoeren van de doelsoftware en geeft verschillende ingangen door aan de doelsoftware voor het testen van verschillende condities. Het evalueert de overeenkomstige uitgangen van de doelsoftware en houdt het resultaat bij elke test bij. Aan het einde van een reeks tests geeft de tool meestal een samenvatting van de 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 codegedreven zijn, dat wil zeggen dat het hulpmiddel nauw kan worden gerelateerd aan de geschreven code, zodat het controleert of de resultaten voor verschillende invoer correct zijn. Ten tweede kan het op een gebruikersinterface zijn gebaseerd waarbij activiteiten van gebruikers zoals muisbewegingen, toetsenbordinvoer, spraakinvoer, enz. Worden nagebootst en de aan de gebruikers geleverde uitvoer op correctheid wordt onderzocht. In het laatste geval kunnen de werkelijke activiteiten van een persoon worden vastgelegd en vervolgens worden afgespeeld door het hulpprogramma, of dergelijke activiteiten kunnen worden gegenereerd op basis van een script met opdrachten die aan het hulpprogramma worden ingevoerd.
Geautomatiseerde algemene testtools 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 door dat softwareteam zelf worden ontwikkeld. Zoals met alle software, hebben de tools zelf beperkingen en werken ze alleen goed als ze goede invoergegevens krijgen. Als u geen relatief complete set tests invoert, helpt de tool niet om de kwaliteit van de doelsoftware te bepalen.
Een geautomatiseerde testtool heeft veel voordelen. Nadat een reeks tests is gemaakt, kunnen de tests sneller worden uitgevoerd dan een persoon ze kan uitvoeren. De tests kunnen 's nachts of op oneven uren worden uitgevoerd, waardoor mensen zich kunnen concentreren op wat ze het beste doen. De tests kunnen steeds opnieuw worden uitgevoerd om te bepalen of er fouten zijn geslopen in de doelsoftware wanneer deze na verloop van tijd wordt gewijzigd.