• Francis Anthony Fernando

Comment allier les tests automatisés aux tests de performance ?


Qu’est-ce que les tests automatisés ?


Aujourd’hui l’automatisation se trouve au centre de tout, elle s’installe dans notre quotidien sans même le savoir. Lorsqu’on retire de l’argent au distributeur automatique, ou lorsqu’on paye avec la carte bleue, ou encore les appareils calculant automatiquement les calories brulées lors d’un effort physique. Ce n’est qu’une partie des exemples que l’on peut constater tout autour de nous.


L’automatisation est un processus qui utilise des logiciels ou outils permettant de créer des instructions dans le but de réduire au minimum les interactions entre humain et machine. Le but étant de délester les hommes et les femmes d’un travail répétitif et à faible valeur ajoutée. Cela démontre à quel point le domaine d’application de l’automatisation est vaste. On peut l’appliquer dans tous les secteurs d’activité. Ainsi, l’automatisation permet de réduire au maximum les erreurs humaines et d’augmenter la productivité. Bien évidemment, ce processus est limité par les instructions fournies préalablement.


WAPSI porte un intérêt particulier aux tests automatisés, qui vont permettre d’effectuer des tests de non-régression, ainsi que des tests fonctionnels. Ces tests permettent de vérifier que suite à une nouvelle version d’une application, les modifications n’ont pas généré des anomalies ou d’instabilité sur cette application. Il faut savoir que ces tests sont souvent négligés car chronophage, fastidieux et en bout de chaine des projets. L’intervention de l’automatisation offre une solution adaptée à ces problèmes.


Outil et langage utilisés : Selenium


Pour développer ces tests, il faut un outil de tests automatisés. Selenium est l’un des outils les plus populaires pour les tests automatisés. Il s’agit d’un outil open source qui permet de manipuler un navigateur, d’effectuer des vérifications et de simuler une interaction utilisateur avec un navigateur Web (Chrome, Firefox, Safari, etc…). Il est utilisable avec différents langages de programmation (Java, Python, C#, Ruby, JavaScript). De plus, il supporte de nombreux système d’exploitation (Windows, Linux, etc…). Ce qui va nous intéresser ici est d’utiliser Selenium avec le langage de programmation Java. Pourquoi Java ? Nous choisissons de développer en Java car l’outil permet de réaliser des tests de performance (Neoload) et nous donne la possibilité d’intégrer l’outil Selenium pour les clients Java.


Qu’est-ce que les tests de performance ?


Aujourd’hui, la performance est un sujet récurrent dans toute entreprise et un critère devenu important dans tous les projets dans un monde où chaque seconde compte, où « le temps est de l’argent ». Dans des projets où nous visons la perfection, la performance est cruciale. Des études ont démontré qu’une augmentation des temps de réponse d’une page web peut entrainer des pertes, que ce soit financier ou une dégradation du service client.


Les tests de performance ont pour objectif d’évaluer le comportement d’une application en fonction du nombre d’utilisateur, dans des conditions réelles. Ces tests permettent de garantir une qualité de service applicative à vos clients, vos utilisateurs.


L’outil utilisé : Neoload


WAPSI utilise différents outils de tests de performance, notamment Neoload. Il s’agit d’un outil développé par Neotys, programmé en Java, qui permet de réaliser des tests de performance sur des applications complexes.

Cette outil offre la possibilité de communiquer avec Selenium, grâce à l’adaptateur NLWebdriver fourni par Neotys pour les clients Java, d’où son intérêt.


Allier tests automatisés et tests de performance


L’intégration de Neoload avec Selenium apporte plusieurs avantages :

  • Un gain de temps pour l’équipe étant donné que l’on peut réutiliser des scripts fonctionnels, créés lors des tests automatisés, pour créer des scripts de performance

  • Une transparence en utilisant les mêmes user stories pour les tests automatisés et les tests de performance.

L’interaction entre Selenium et Neoload offre deux modes :

  • Design : Elle permet de convertir les scripts Selenium en scripts Neoload pour pouvoir faire des tests de performance.

  • EndUserExperience : Elle permet de collecter l’expérience utilisateur lors des tests automatisés et de transmettre à Neoload les métriques.

Pour pouvoir tirer profit de ces modes, un premier travail de configuration doit être réalisé sur les scripts des tests automatisés, à savoir l’ajout de la dépendance neotys-selenium qui va nous permettre d’utiliser des méthodes permettant de lier nos tests automatisés au projet Neoload et de transmettre les informations.


Ces méthodes sont aux nombres de trois :

  • NLWebDriver (Selenium webdriver, Nom du Parcours Utilisateur NeoLoad, chemin vers le projet Neoload) ;

  • Il s’agit du constructeur du webdriver Neoload, qui va nous permettre de lier les tests automatisés au projet Neoload où on va transmettre toutes les informations.

  • StartTransaction (Nom de la Transaction) ;

  • Cette méthode envoie tout le trafic Selenium HTTP/HTTPS dans un conteneur Neoload. Elle doit donc être appelée avant chaque action utilisateur.

  • StopTransaction () ;

  • Cette méthode arrête l’envoi du trafic Selenium HTTP/HTTPS.


Cette outil offre la possibilité de communiquer avec Selenium, grâce à l’adaptateur NLWebdriver fourni par Neotys pour les clients Java, d’où son intérêt.


Ainsi nous pouvons vérifier que l’application est opérationnelle puis réaliser les tests de performances avec le même scénario utilisateur, ce qui garantit des scripts à jour et fonctionnels.


Francis Anthony Fernando

Consultant performance chez WAPSI

88 vues

Posts récents

Voir tout