Was ist ein Testautomations -Framework?
Ein Testautomations -Framework ist ein Satz von Tools, die zur Durchführung automatisierter Softwaretests verwendet werden. Testautomatisierungsframeworks bieten erhebliche Vorteile gegenüber manuellen Tests und werden üblicherweise in der schnellen Softwareentwicklung verwendet. Mit diesen Frameworks können Softwareentwickler Tests erstellen, Tests ausführen und die Testergebnisse analysieren. Ein Testautomations -Framework kann nach Code, Daten, einer grafischen Benutzeroberfläche (GUI) oder einer Kombination von diesen gesteuert werden. Im Lebenszyklus des klassischen Lebens Softwareentwicklungszyklus war Softwaretests eine diskrete Phase, die nach der Implementierung oder Codierung durchgeführt wurde. Als solches waren typische Tests durch Menschen durch Menschen.
Viele Entwicklungsteams haben das Wasserfallmodell durch verschiedene agile Softwareentwicklungsmethoden ersetzt, die normalerweise eine schnelle, iterative Entwicklung erfordern. Die schnelle Entwicklung hat einen Bedarf an schnellen Tests erstellt. Ein Testautomations -Framework ermöglicht einen Software -Teem zur Durchführung häufiger, automatisierter Tests auf einer Codebasis. Anstatt beispielsweise eine separate Testphase nach der Entwicklung zu benötigen, kann ein Team, das ein Testautomation -Framework verwendet, möglicherweise eine vollständige Reihe von Tests über Nacht sowie kleinere Teile automatisierter Tests im Laufe des Tages, wenn Änderungen am Quellcode vorgenommen werden.
Die am häufigsten verwendete Art des Frameworks ist das codegesteuerte Framework, mit dem White-Box-Tests durchgeführt werden. Mit codegesteuerten Frameworks müssen Entwickler kleine Codeausschnitte in Form von Unit-Tests schreiben, um Softwarefunktionen oder -leistung zu testen. Entwickler, die codegesteuerte Frameworks verwenden, müssen darauf achten, ihre Software so zu schreiben-dh der Code muss so modularisiert werden, dass ein Unit-Test einen Snippet mit Code aufrufen und das Ergebnis überprüfen kann. Diese Frameworks enthalten typischerweise eine Implementierung von Xunit, wobei "x" variiertBasierend auf der getesteten Programmiersprache.
GUI-gesteuerte Test-Frameworks werden verwendet, um Black-Box-Tests durch ein Softwaretool als Benutzer durch Maus- und Tastatureingänge durchzuführen. Sie könnten aus Skripten bestehen, die von Entwicklern geschrieben wurden, um eine Reihe von Funktionen auszuüben, oder sie können aus Tool generierten Skripten wie Rekord- und Spiel-Back-Skripten bestehen. Ein potenzieller Nachteil in diesen Frameworks ist, dass das Skript immer dann brechen wird, wenn sich die GUI ändert. Einige Gui-Automation-Frameworks erzeugen möglicherweise ein Skript, das von einem Entwickler bei GUI-Änderungen bearbeitet werden kann, und andere müssen möglicherweise eine neue Sitzung für Aufzeichnungen und Play-Back erstellen.
datengesteuerte Test-Frameworks führen Softwaretests mithilfe von Daten durch, und diese Tests funktionieren normalerweise mit Datentabellen, die sowohl Eingaben als auch Ausgänge angeben. Die Daten können an verschiedenen Stellen aufbewahrt werden, z. B. Datenbanken, Tabellenkalkulationen oder Textdateien. Skripte können geschrieben werden, um Softwaremethoden auszuführen, die die Eingaben alsParameter und den Rückgabewert der Softwaremethode gegen die Ausgabe validieren. Alles andere, was variiert werden kann, z. B. die Umgebung, in der der Test ausgeführt wird, kann auch mit den Daten gespeichert und vom Testskript getrennt werden. Ein Vorteil dieser Frameworks ist die Trennung von Daten und Logik, die häufig zu einer geringeren Langzeitwartung führt.