2008-11-07 9 views
8

Wenn ich Java-Webapp (Servlets) habe, was ist der beste Weg, um automatisierte Tests für diese Anwendung zu erstellen?Wie testet man eine Webapplikation?

Sollte ich einen Server starten? Aber das ist sehr fragil. Soll ich die Servlets direkt anrufen? Aber wie kann das gemacht werden? Ich weiß nicht, wie man eine ServletResponse/ServletRequest erstellt.

Und was ist der beste Weg, um die Funktionalität der Webapp zu testen? Soll ich den generierten HTML-Text prüfen? Aber wenn ich die Vorlagen ändere (Tippfehler) ist der Test kaputt.

Was sind Ihre Best Practices und Erfahrungen beim Testen von Webapps?

Antwort

1

Gleiches Problem. Auf meiner TODO-Liste habe ich jetty und httpunit.

Wenn Sie ein Framework (Spring, Struts, etc.) verwenden, können Sie die Teile oft separat testen, ohne dass Sie das ganze Zeug einsetzen müssen.

6

Werfen Sie einen Blick auf Selenium. Es ist ein sehr nettes Werkzeug und sollte Ihnen zumindest in die richtige Richtung für die integrierten Tests zeigen. Verwenden Sie darüber hinaus Unit-Tests Ihrer Servlets und anderer Support-Klassen mit JUnit.

2

Betrachten Sie Selenium für Webapp-Tests und Abbott für Java-Applet-Tests. Wir haben es geschafft, die beiden zu mischen, so dass Selenium den Abbott-Test über Javascript aufruft. Sie sind beides Werkzeuge, mit denen Sie beim Anzeigen der Seite Aktionen aufzeichnen und dann Testcode automatisch generieren können. Sie können sie ändern und optimieren, sobald Sie den Basistest aufgezeichnet haben. Sie erhalten schöne Tests mit minimalem Aufwand. Sie werden ein Getränk nach dir benennen.

1

Ich benutze htmlunit fast ausschließlich und habe keine Beschwerden. Nachdem wir eine Reihe von Testmethoden entwickelt hatten, war es ziemlich einfach, auch komplexe Webanwendungen zu testen. Es funktioniert auch mit Javascript. Wir haben es sogar ohne Probleme mit AJAX-Anwendungen verwendet.

0

Ich teste Webanwendungen den ganzen Tag, und ich verwende Watir.