Automatisation des tests – Retour d’expérience avec Selenium
Par Cyril Drouin le 27 mai 2009Selenium c’est quoi ?
Selenium IDE est un environnement de développement intégré pour les tests Selenium[Quoi ?]. Elle est mise en œuvre comme une extension pour Firefox, et permet d’enregistrer, d’éditer et déboguer des tests.
Selenium IDE n’est pas seulement un outil d’enregistrement : il s’agit d’un environnement de développement intégré (IDE). Vous pouvez choisir d’utiliser sa capacité d’enregistrement, ou vous pouvez modifier vos scripts à la main.
Pourquoi Selenium ?
- Selenium se caractérise par une facilité d’accès : l’utilisation de l’IDE sous Firefox permet en quelques clics de se rendre compte des capacité et possibilités de ses solution.
- Selenium peut être utilisé pour plusieurs navigateurs, et le passage d’un navigateur à l’autre ne requiert est très aisé (un seul paramètre à changer pour une seule fonction, et c’est bon)
- Selenium est décliné en plusieurs langages de programmations courant. Bysoft utilise principalement du PHP, pas besoin de se former à un nouveau langage pour utiliser Selenium
- Selenium simule le comportement d’un utilisateur humain, par clics et écriture au clavier. C’est ce qui se rapproche le plus du comportement de nos clients
Une utilisation classique chez Bysoft
La mise en place des tests d’intégration continue suit plusieurs étapes :
- L’analyse des besoins du client : le chef de projet se penche sur le site avec le client, et choisi une série de fonctionnalités critiques pour le client
- La formalisation des tests : le chef de projets, partant de ses fonctionnalités, définie une série précise de tests à mettre en œuvre et la fait valider par le client
- L’ingénieur QA met en œuvre le développement de scripts effectuant successivement tous les tests requis
- Les tests son enfin mis en place pour être effectués sur le serveur de préproduction, automatiquement, à chaque mise à jour du code
Ainsi, à chaque fois que le site est modifié, l’équipe de développement est au courant de tous les problèmes ou régressions apparues sur des fonctionnalités critiques, avant la livraison des changements en environnement de production. Ces régressions ne peuvent donc pas apparaître sur le site en ligne, et les fonctionnalités critiques sont préservées.
Son domaine de prédilection et ses limitations ?
Selenium est un outil pensé pour les tests de sites web HTML, et utilise pour ce faire du JavaScript. Cela implique quelques limitations
- Selenium teste très mal le Flash et le Flex
- Quoique possible, il est un peu laborieux de tester certaines fonctionnalités Ajax
- Selenium ne peut pas repérer les changements visuels des pages, juste les fonctionnalités
- Selenium doit supporter les mêmes limitations que le JavaScript des navigateurs (pas d’accès au système de fichier des ordinateurs, single origin policy, etc.)
Les perspectives de gain sur les projets sur lesquels on utilise ce produit
Un projet ou Selenium est mis en place très tôt pourra clairement gagner en qualité et en temps de développement : l’équipe de développement pourra être averti des effets de bord dus aux changements dans le code, et l’équipe de contrôle qualité pourra effectuer plus rapidement une vérification complète d’un site.
Pour les projets ou Selenium est mis en place une fois le site en ligne (site repris en main pour de la maintenance évolutive, par exemple), Selenium permettra à une équipe connaissant peu le projet d’en assurer les fonctionnements critiques pour le client.




