Le test automatisé : outil stratégique pour assurer la qualité d’un projet web


You are currently viewing Le test automatisé : outil stratégique pour assurer la qualité d’un projet web

Tout code est présumé coupable jusqu’à ce qu’il ait été déclaré innocent.

La qualité d’un projet web repose sur la capacité de l’équipe à s’assurer que le produit remplit bien la fonction pour laquelle il a été développé et qu’il la remplit sans erreurs et dans le temps, au fil des livraisons.

Cette mission collective est réalisée grâce à toute une panoplie adéquate de tests et notamment grâce aux tests fonctionnels.

Réalisée à la main, la recette fonctionnelle, lorsque l’on est en phase de tests de non régression, s’avère très vite fastidieuse et chronophage. Pour rendre plus pérenne cette phase essentielle, il existe une méthode qui permet de capitaliser l’effort de tests : l’automatisation.

L’automatisation d’un test consiste à configurer un automate pour qu’il réalise un scénario et effectue les vérifications utiles permettant de valider que les actions effectuées ont bien entraîné les résultats attendus.

Dans un projet développant un site ou application web, les tests fonctionnels automatisés sont réalisés par des robots qui exécutent, dans un navigateur internet soit en local, soit dans un environnement dédié, les mêmes actions que les utilisateurs finaux.

Tour d’horizon du monde du test fonctionnel web automatisé.

 

Pourquoi automatiser les tests fonctionnels dans un projet web

L’intérêt de réaliser des tests de manière automatique plutôt que manuelle est multiple pour le produit aussi bien que pour l’équipe. Voyons les deux raisons principales qui poussent à adopter cette solution.

Alors que l’humain est mono-tâche lorsqu’il teste, les tests automatisés peuvent être lancés en parallèle. Avantage évident : la réduction de la durée d’une campagne de tests, principalement en phase de non régression.

Libérés de cette tâche récurrente, les testeurs fonctionnels ont, de fait, plus de temps à consacrer à des tâches à plus forte valeur ajoutée, comme les tests exploratoires.

Par ailleurs, alors que la capacité de tests d’un humain n’est pas extensible, les tests automatisés permettent de maintenir dans le temps l’étendue de la couverture de tests alors que le produit s’enrichit fonctionnellement. Conséquence : sérénité et qualité !

D’autres éléments permettent d’expliquer dans le détail les raisons qui poussent à automatiser les tests fonctionnels dans un projet web, les avantages que l’on à en tirer et les points d’attention à garder à l’esprit.

 
 
 

Projet web : automatiser ou ne pas automatiser

Si les tests automatisés offrent une belle promesse, il est vital de les aborder avec réflexion et perspicacité en se posant les bonnes questions.

Est-ce que le produit s’y prête ? Faut-il automatiser l’intégralité des tests ? Selon quelle priorité réaliser l’automatisation ? Est-ce que l’effort de création et de maintenance que les tests automatisés engendrent seront rentabilisés ?

Bref, la stratégie doit être réfléchie en impliquant toutes les ressources humaines utiles : techniques, métier, projet.

 
 
 

Comment automatiser des tests fonctionnels web

Il existe différentes manières de créer des tests web automatisés. Elles offrent plus ou moins de liberté et visent différents publics.

Le plus connu des outils est open source et se nomme Selenium. Il se décline en deux versions. La première, Selenium IDE, une extension de navigateur qui permet d’enregistrer un scénario de référence exécuté dans le navigateur. Et la seconde, un framework de développement qui permet programmatiquement de prendre le contrôle d’un navigateur web.

Si le framework de développement s’adresse à un public technicien, Selenium IDE est plus accessible et est ouvert à un public plus large.

On trouve également des applications de type clients lourds à installer en local. D’autres services, en ligne, répondent également au besoin de créer des tests, avec l’avantage comme c’est le cas de HorusTest de ne nécessiter aucune compétence en développement.

Bref, le choix est étendu et il est intéressant de comparer et de chercher l’outil qui répondra le mieux aux besoins et aux compétences de l’équipe.

 

Construire une stratégie qualité web basée sur les tests automatisés

De la même manière que l’on architecture un logiciel avant de commencer son développement et qu’on pense les scénarios de tests avant de les réaliser, il est important de prendre le temps de construire la stratégie de tests automatisés que l’on va mettre en œuvre.

Pour nous y aider, plusieurs angles de réflexion peuvent être suivis.

On pourra tout d’abord penser la répartition de la responsabilité de la qualité entre les différents types de tests (tests unitaires, tests d’intégration et tests fonctionnels).

On pourra enrichir la réflexion en étudiant les compétences internes à l’équipe afin de répartir de manière optimale l’effort commun.

Ensuite, une fois les tests prêts à être exécutés de manière unitaire, automatisée ou manuelle, on pourra réfléchir à les intégrer dans le processus d’intégration continue.

Le tour d’horizon étant fait, nous n’avons même pas posé la question principale : tester consiste-t-il à rechercher les bugs ou à prouver leur absence ?..

 
Picture of Stéphanie Binet
Stéphanie Binet

Experte en qualité web, fondatrice de Gonogo Consultech : conseil en stratégie web et fournisseur de la solution HorusTest.
Optez pour une stratégie qualité pérenne ! HorusTest permet de créer et de gérer vos tests automatisés simplement, sans écrire une seule ligne de code et sans compétences techniques.

Découvrir Horus Test