Ich versuche, ein automatisiertes Test-Framework für einige unserer internen Web-Services (Java) bei der Arbeit zu erstellen. Jeder Dienst hat eine Reihe von APIs (3-5), obwohl dies relativ einfach zu erreichen ist, kommt das Problem mit einigen APIs, die sich nicht wie reine Funktionen verhalten, zB: etwas wie persistX, könnte dies etwas in einer Datenbank speichern und gibt eine Ausnahme zurück, falls ein Fehler auftritt. Es gibt keine einfache Möglichkeit zu validieren, da hier keine Ausgabe erfolgt.
Ich habe mich also gefragt, ob das ein bisschen verallgemeinert sein könnte, sagen wir beim Testen der API, dass der Benutzer ein einfaches Plugin oder Skript für das Framework bereitstellen könnte, das den Test validieren könnte. Dies ist nur eine Idee wäre toll, wenn jemand mir bessere oder irgendwelche Ressourcen über das gleiche sagen könnte.
Danke
Ich empfehle das Roboter-Framework . Es ist ein schlüsselwortgesteuertes Framework, das in Python geschrieben ist. Aus diesem Grund können Sie es in der JVM mit jython ausführen, was bedeutet, dass Sie es mit Java-Code (oder natürlich Python) erweitern können. Ich habe es erfolgreich zum Aufruf von APIs verwendet und dann das Ergebnis überprüft, indem ich in eine Datenbank geblickt oder das Dateisystem abgefragt habe.
Es funktioniert auch auf der .NET-Plattform, hat ein Selenium-Modul zum Testen des Frontends, ein jenkins-Plugin und mehrere andere Tools. Es ist sehr erweiterbar und flexibel.
Was Sie sehen, ist die Anwendung von Black-Box- und White-Box-Tests und die Tools, die beides unterstützen.
Für Webdienste, die eine ordnungsgemäße Antwort zurückgeben, können Sie Black-Box-Tests durchführen, indem Sie die Daten in zurückgegebenen Antworten überprüfen. SoapUI ist das beste Werkzeug dafür.
Für die APIs, die sich nicht wie reine Funktionen verhalten, führen Sie White-Box-Tests durch, indem Sie ihre Nebenwirkungen wie Persistenz, Ereignisgenerierung, Protokollierung usw. überprüfen. Sie mögen programmierbare Tools und SoapUI kann oder kann nicht die richtige Option sein.
Wir machen beides bei unserer Arbeit und nachdem ich mehrere Tools / Frameworks evaluiert habe (SoapUI, RSSPec, Robotframework), habe ich mich für Spock entschieden Spock . Warum Spock?
usw. ....
Tags und Links java testing frameworks automated-tests