2009-12-21 12 views
0

Nous envisageons d'utiliser le concombre pour tester les applications web (pas dans les rails, la plupart d'entre eux sont en fait asp.net).Tests de concombres et captcha: comment gérer ça?

Les applications sont en production, notre objectif principal est de tester si tout va bien avec les services, de temps en temps, infra les gens l'exécuteraient.

Nous avons deux questions:

1) Est-ce un bon usage pour le concombre? Les gens de la communauté encouragent-ils l'utilisation des définitions de caractéristiques du concombre?

2) Nous avons quelques captchas dans nos applications. Existe-t-il une solution largement adoptée pour ce problème commun?

Répondre

1

Le concombre semble relativement nouveau. Je suis une personne Java et j'ai utilisé Selenium, HtmlUnit, JWebUnit, etc. Selenium fonctionne avec .net, ruby, java et d'autres langages de script.

Le sélénium existe depuis un certain temps (2004 alors que le concombre est relativement nouveau, 2007). Selenium a un IDE pour que vous puissiez facilement enregistrer des tests dans firefox, les enregistrer, puis les exécuter dans vos tests d'intégration.

Je suis partial envers Selenium, mais il fait du bon travail et vous permet de tester vos applications dans plusieurs navigateurs (firefox, safari, IE). Il prend également en charge la distribution de tests sur plusieurs serveurs (si votre environnement est si vaste, il le prend en charge).

Idéalement, vous auriez des développeurs ou des personnes chargées de l'infrastructure qui écrivent les tests. Ensuite, si vous avez un serveur CI, vous pouvez exécuter automatiquement les tests que vous avez enregistrés/écrits, puis vérifier en continu que votre application fonctionne toujours dans son ensemble. Cela fonctionne vraiment bien pour détecter les erreurs dès qu'elles se produisent, donc si le développeur fait un changement et casse quelque chose hors de sa portée, il sera frais dans sa tête.

En ce qui concerne CAPTCHA, il existe différentes bibliothèques. Je suis malheureusement plus familier avec l'équivalent Java et pas tellement avec le .Net. N'écrivez pas le vôtre, il devrait y avoir une bibliothèque que vous pouvez utiliser.

Walter

+1

Le concombre est soutenu par Webrat. Webrat est capable de piloter de nombreux outils de test de navigateur, y compris Selenium et Watir. – Rodreegez

+0

Le concombre et le sélénium sont très différents dans leur approche du développement piloté par les tests. Le concombre exécute un DSL axé sur les affaires et fait abstraction de la mise en œuvre dans les définitions d'étapes qui sont probablement écrites dans Ruby, mais peuvent fonctionner dans d'autres langages tels que PHP. Bien que le sélénium soit un produit plus mature, ce n'est probablement pas la différence la plus importante. J'utilise le concombre depuis un moment et le sélénium pour un peu. Je suis un homme de concombre moi-même :) – Rimian

1

ad 1. dans mon concombre opinion est grande, aussi nous avons pu convaincre nos clients de comprendre réellement et vérifier les tests que nous écrivions dans le concombre. Nous avons utilisé concombre + watir pour le webtesting

ad 2. en ce qui concerne captcha, voulez-vous dire comment ignorer le captcha pour le test? nous ne montrons pas captcha pour nos propres adresses IP, vous pouvez également toujours accepter une valeur spécifique pour le captcha si la demande provient de vos environnements de développement ou de test ip

+0

ad 1. Je suis d'accord, le concombre est un outil fantastique pour communiquer les fonctionnalités de votre application à votre client. Si, cependant, vous ne faites pas cela, alors j'ai trouvé que c'était un surcoût inutile. – Rodreegez

+1

Je ne suis pas d'accord pour dire que c'est une surcharge, parce que, de cette façon, vous avez une documentation durable (exécutable) de votre système, ce qui est très utile à long terme. Les développeurs semblent avoir de très courts souvenirs;) parfois même après quelques mois, ils ne se souviennent pas de la manière dont certaines fonctionnalités étaient supposées fonctionner (en particulier lorsque la façon de les modifier a été modifiée plusieurs fois) –

+0

@Rodreegez J'ai trouvé qu'il est très difficile de mesurer sa valeur. Si le concombre fait gagner du temps en empêchant une erreur de régression (par exemple), comment le mesureriez-vous? Quand cesseriez-vous d'évaluer les avantages de l'utilisation du concombre par rapport aux frais généraux de mise en œuvre et de maintien (cycle de vie du projet)? Le concombre n'est pas seulement un excellent outil pour communiquer des fonctionnalités à votre client, mais c'est également un excellent outil de conception pour les développeurs (sachant quand s'arrêter). – Rimian

0

Je peux recommander le concombre. J'ai formé une équipe de développeurs et de managers pour l'utiliser sur mon dernier projet (une application PHP). Cela a très bien fonctionné dans la plupart des cas.

Je pense que vos deux questions s'excluent mutuellement. Captcha est conçu pour empêcher quelque chose d'automatisé, donc vous allez devoir résoudre ce problème pour quel coureur de test automatisé que vous utilisez. Vous pouvez probablement vous moquer de quelque chose ou trouver comment le désactiver dans votre environnement de test. J'opterais pour ce dernier. Je ne pense pas qu'il serait essentiel de couvrir votre captcha dans votre suite de tests.