13. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 12 II. Les outils de recettage Afin de réaliser la phase de recette, il faut bien évidemment s’appuyer sur des outils de tests. Il est possible – et c’est ce qui est pratiqué dans mon service – d’utiliser simplement le logiciel Excel pour réaliser les cahiers de recette. Cela permet d’effectuer les tests à la main. Cependant, il existe des outils adaptés à la réalisation de tests automatisés. A. Les logiciels de tests sur PC Il existe des logiciels pour effectuer des tests fonctionnels automatisés ; Ceux-ci se choisissent principalement en fonction du langage de programmation utilisé par l’application à tester, ainsi que par sa complexité, l’objectif à atteindre et le coût. 1) Sélénium Sélénium est un outil très utilisé pour automatiser les tests fonctionnels. [Annexe 4] Même s’il semble un peu compliqué d’apparence il est en réalité logique d’utilisation. Sélénium se décompose comme suit :  Selenium IDE : c'est une extension de Firefox, qui permet d'enregistrer une suite d'actions, qu'il sera possible de rejouer à volonté ;  Selenium Web Driver : il s'agit cette fois d'une API, disponible pour plusieurs langages, permettant de programmer des actions sur l'interface, et à vérifier les réponses. Les actions à réaliser peuvent être exportées depuis Selenium IDE. 2) Quicktest Professional QTPro, de HP, représente ce jour l’offre phare dans le monde professionnel. Le référentiel d’objets est particulièrement bien conçu, celui-ci pouvant notamment être généré lors de l’enregistrement, enrichi manuellement ou encore importé à partir d’un autre scénario. Paradoxalement, le produit souffre principalement de sa complétude, difficile à prendre en main pour un débutant. De plus, le coût de la licence est assez élevé par rapport aux autres offres du marché.
Afin de garantir, à chaque itération, la livraison d’une version conforme en terme de qualité aux exigences du client, l’intégration des tests dans le processus de construction du logiciel doit se faire dès le démarrage du projet, et tout au long de sa réalisation: c’est le principe du test continu, qui s’appuie sur l’automatisation des tests, rendue indispensable par la nécessité de répéter un nombre de tests important à chaque nouvelle itération du logiciel.
Actionaz est actuellement l'un des seuls logiciels d'automatisation libre et gratuit fonctionnant sur Windows et GNU/Linux vous permettant de créer des actions sans avoir à apprendre un langage de programmation. On peut considérer AutoIt ou AutoHotkey comme des équivalents, bien qu'il faille apprendre à programmer dans un langage propriétaire pour pouvoir les utiliser, au contraire d'Actionaz.
PhantomJS va nous servir de "Web-Driver" et cela sera là son unique utilité. De quoi s'agit-il ? Afin que Python puisse interagir avec le navigateur Web (Chrome, Firefox ou autres), de la même manière que la communication avec une base de données, il nous faut un driver (pilote). C'est là qu'intervient le Web Driver, il permet la communication entre le navigateur Web et notre script Python. De base, Selenium peut utiliser différents drivers pour différents navigateurs (Chrome, Firefox, Opéra) mais ce qui nous intéresse, ce n'est pas d'ouvrir un navigateur mais d'avoir un navigateur headless (sans interface graphique, uniquement en ligne de commandes). C'est là qu'intervient PhantomJS, qui fournit lui-même son Web Driver. L'utilité c'est donc la rapidité d'exécution par rapport aux navigateurs classiques.
×