Synopsis

Cet article documente l'évaluation de différents outils pour tester une application AJAX basée sur ExtJS. L'évaluation a commencé en raison de problèmes importants avec l'outil de test actuellement utilisé, appelé "Sahi". Les candidats pour le remplacement de Sahi sont :

  • Windmill Testing Framework
  • Selenium web application testing system
  • QF-Test

Cette évaluation se concentre principalement sur la capture et la relecture, car c'est la manière habituelle dont les nouveaux testeurs commencent à écrire des tests. Le remaniement des tests pour une meilleure maintenabilité est abordé dans de brèves notes annexes.

Objectif

Le but de cette évaluation est de trouver un outil de test commun pour tous les tests d'applications web chez CoreMedia. De cette façon, la connaissance de l'utilisation de cet outil de test devrait pouvoir être partagée entre les différents projets. Exigences Les principales exigences pour le nouvel outil de test proviennent de GUI Testing - Tool Requirements and Test Guidelines :

1. Temps d'apprentissage court

Temps d'apprentissage réduitLes nouveaux testeurs devraient rapidement être capables de comprendre et de déboguer des tests existants. L'écriture des premiers tests de base devrait être simple.

2. Prise en charge de plusieurs navigateurs

Les navigateurs qui devraient (au moins) être pris en charge :

  • Internet Explorer 7 et 8
  • Firefox 3

3. Débogage facile

Cela inclut le fait que les tests automatiques fournissent des captures d'écran en cas d'erreur, afin que l'erreur éventuelle puisse être facilement détectée. Il faut également que les tests puissent être débogués étape par étape et qu'ils puissent être exécutés indépendamment. Ce dernier point constitue bien entendu une exigence pour les tests écrits, et pas seulement pour l'outil.

4. Clipboard Interaction

Une partie importante de nos tests est l'interaction avec le presse-papiers. Les outils doivent donc être capables d'enregistrer les événements d'interaction avec le presse-papiers. La comparaison des captures d'écran (prévues et réelles) est facultative et n'a pas été testée au cours de cette évaluation. Bien qu'importante pour les tests, car les problèmes de mise en page sont une menace majeure avec le support multi-navigateur, les tests sont compliqués à développer pour qu'ils restent robustes non seulement sur plusieurs navigateurs mais aussi sur plusieurs plateformes. Il est connu que QF-Test offre une telle comparaison de captures d'écran qui peut être facilement enregistrée.

Conclusion

Les applications Web sont peut-être la tâche la plus difficile pour l'automatisation des tests d'interface graphique. En effet, elles s'affichent différemment dans les différents navigateurs afin de contourner les bizarreries de ces derniers : De plus, la structure des éléments est plus complexe que celle d'une application Java Swing, par exemple. Il est donc encore plus important de trouver un outil qui vous aide à contourner ces obstacles. Parmi les outils gratuits existants, Selenium semble être un bon choix. Surtout parce que les développeurs ExtJS le connaissent. L'enregistrement est facile et le fait que les cas de test enregistrés puissent être exportés vers n'importe quel langage (comme Java par exemple) est un plus. Cela garantit que vos développeurs peuvent l'exporter vers le langage qu'ils préfèrent le plus. Bien sûr, cela signifie également que le développement et le débogage principaux seront effectués en dehors de l'IDE. Si vous êtes prêt à payer pour un outil de test, je recommande QF-Test. Pour CoreMedia, il présente un avantage supplémentaire car nous développons également des applications Swing et pouvons donc utiliser un seul outil pour tous. Le support est excellent et rapide et QF-Test a fait de grandes améliorations au cours des dernières années, ce qui rend l'avenir très prometteur.

 

Mark Michaelis, Software Engineer Quality Assurance, ISTQB Certified Tester

A propos de l'auteur

Mark Michaelis est ingénieur logiciel en assurance qualité chez CoreMedia depuis 2005. Il a accumulé beaucoup d'expériences dans la réalisation de tests, le débogage et le développement de tests GUI automatisés.
Ces expériences incluent :

  • la difficulté de déboguer des tests GUI mal écrits,
  • le travail avec des outils de test GUI qui produisent des résultats aléatoires lorsque les tests sont rejoués et
  • l'avantage et le bon retour d'information d'un cadre de test bien écrit pour les tests GUI.

Mark Michaelis a une grande connaissance de l'outil QF-Test et une connaissance mineure des autres Web-TestTools.

Le rapport d'évaluation complet peut être consulté ici (PDF en anglais).

Rapport d'évaluation: Web-Test-Automation: Selenium vs. Windmill vs. QF-Test, juillet 2009 - Mark Michaelis, CoreMedia, Allemagne.