Comment tester une application web?

Si j’ai java-webapp (servlets), quel est le meilleur moyen de créer des tests automatisés pour cette application?

Devrais-je démarrer un serveur? Mais c’est très fragile. Dois-je appeler les servlets directement? Mais comment cela peut-il se faire? Je ne sais pas comment créer un ServletResponse / ServletRequest.

Et quel est le meilleur moyen de tester les fonctionnalités de la webapp? Devrais-je vérifier le texte HTML généré? Mais si je change les modèles (typo), le test est cassé.

Quelles sont vos meilleures pratiques et expériences en matière de test des applications Web?

Regardez selenium . C’est un très bel outil, qui devrait au moins vous orienter dans la bonne direction pour les tests intégrés. Au-delà de cela, utilisez des tests unitaires de vos servlets et autres classes de support utilisant JUnit.

Consultez Selenium pour les tests d’applications Web et Abbott pour les tests d’applets Java. Nous avons réussi à mélanger les deux pour que Selenium appelle le test Abbott via javascript. Ce sont deux outils qui vous permettent d’enregistrer des actions lorsque vous affichez la page, puis de générer automatiquement le code de test. Vous pouvez le modifier et le modifier une fois que vous avez enregistré le test de base. Vous obtenez de beaux tests avec un minimum d’effort. Ils vous nommeront un verre.

Même problème. Sur ma liste TODO, j’ai jetée et httpunit .

En outre, si vous utilisez une sorte de structure (Spring, Struts, etc.), vous pouvez souvent tester les pièces séparément sans avoir à déployer tout le matériel.

J’utilise presque exclusivement htmlunit et je n’ai aucune plainte à formuler . Une fois que nous avons mis au point un ensemble décent de méthodes utilitaires de test, il était assez facile de tester même des applications Web complexes. Cela fonctionne aussi avec javascript. Nous l’avons même utilisé sans problèmes avec les applications AJAX.

Je teste des applications Web toute la journée et j’utilise Watir .