La différence entre un test fonctionnel manuel et automatisé


La différence entre un test fonctionnel manuel et automatisé

Afin de comprendre pourquoi automatiser les tests fonctionnels dans un projet web, il peut être intéressant de prendre le temps de détailler ce que sont les tests fonctionnels manuels et les tests fonctionnels automatisés. Cela peut permettre de bien appréhender leurs différences pour mieux les comparer.

 

Qu'est-ce qu'un test fonctionnel manuel ?

Un test fonctionnel est dit manuel lorsque son scénario est déroulé par un être humain. Celui-ci exploite ses 5 sens pour effectuer chaque action de la même manière que le fera un utilisateur final et contrôler que cette action entraîne bien les résultats attendus.

Il est important de distinguer deux types de scénarios possiblement réalisés dans ce cas.

Soit le scénario est écrit, on est alors dans le cas d’un test guidé. Les étapes et les vérifications ont donc préalablement été écrites et sont juste suivies à la lettre.

Soit le scénario n’est pas écrit, on est alors dans le cas d’un test exploratoire. Le testeur fait alors preuve de sérendipité en partant à la découverte du produit, comme peut le faire l’utilisateur final. Il effectue des actions réfléchies sur l’instant et analyse les résultats en les comparant à ceux il s’attend en tant qu’utilisateur réel.

 

Qu'est-ce qu'un test fonctionnel automatisé ?

Un test fonctionnel est dit automatisé lorsque son scénario est déroulé par un automate. Un automate est un outil programmé et configuré par un être humain pour proposer deux choses.

La première : exécuter des actions prédéfinies, de la même manière que le ferait un utilisateur final. Dans le cadre d’un projet web, cela revient à réaliser de manière automatique, avec efficacité, toutes les actions qu’un utilisateur peut réaliser dans un navigateur web (clic, défilement de page, saisie de formulaire, etc.).

La seconde : effectuer des vérifications précises, identifiées pour valider que le comportement du produit suite à l’action effectuée est bien celui attendu. Le but étant de détecter des bugs éventuels. Dans le cadre d’un projet web, cela revient à vérifier que la page affichée est bien celle attendue, que son contenu est bon, que l’apparence d’un élément est bonne, etc.

 

Quelle différence entre les deux ?

Comprendre la différence entre un testeur fonctionnel humain et un automate de test automatisé revient à intégrer toute la complexité pour un automate de faire “comme un être humain”.

Un exemple simple permet de toucher du doigt cette complexité. Quand on demande à un être humain de “vérifier que la page d’accueil s’affiche”, il va en réalité faire preuve de sens critique. En un autre mot, d’intelligence. Et il va traiter cette requête en commençant par aller chercher dans son esprit à quoi ressemble la page d’accueil (ou alors s’il ne l’a pas en tête, il commence par regarder la maquette attendue).

Ensuite il va décomposer inconsciemment et instantanément cette requête en nombre de sous-requêtes. La page est composée de nombreux éléments, il va vérifier visuellement que chacun est présent que son apparence est bonne. Et à l’inverse, il va aussi vérifier qu’aucun élément qui n’est pas attendu s’affiche.

La dynamique d’affichage est également spontanément vérifiée. Par exemple, si une image apparaît en pleine écran pour est rétrécie à sa taille d’affichage, l’œil humain le détecte instantanément parce qu’il est capable de s’adapter à une situation à laquelle il ne s’attendait pas. Il effectue alors des choses qu’il n’avait pas anticipées. Son comportement est logique et spontané.

Une fois qu’on a cela en tête, si l’on essaye de se questionner pour comprendre comment l’automate va réaliser cette “simple” vérification, alors on réalise que l’automatisation est une tâche extrêmement complexe, dès lors qu’elle a pour but d’imiter le comportement d’un être humain exploitant son sens critique.

Heureusement, ce n’est pas parce que c’est complexe que c’est impossible. Un automate bien configuré a tout de même de beaux atouts qui peuvent faire de lui un partenaire doué d’autonomie, fort utile au quotidien et convenant pour un projet en méthode Agile comme pour un projet en méthode traditionnelle de Cycle en V.

Par ailleurs, si l’automate de tests n’est pas (encore) capable de se comporter comme un être humain et d’exploiter un sens critique, il peut évoluer ! Le temps ne s’écoule-t-il pas pour servir l’évolution ?

S’adapter à une situation inconnue et détenir un pouvoir de décision, voilà d’ailleurs le propre de l’intelligence artificielle (IA). Et voilà encore un domaine, la qualité logicielle, où cette révolution technologique peut faire des merveilles au service de l’Homme.

To be continued…

 
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

Commentaires


Laisser un commentaire