Quand les tests vous sauvent

Par @jbnahan69
Source : https://www.pxfuel.com/en/free-photo-ogmwi

Quand on parle de développement logiciel, nous pensons à du code, à des choses incompréhensibles, abstraites, à un homme barbu qui reste toute la journée devant son ordinateur.

Loin des clichés, qu'est-il possible de comprendre quand on n'a pas les connaissances ?

En un mot : les tests.

Quels sont les tests qu'un chef de produit peut comprendre sans entrer dans la technique ?

Il existe plusieurs façons de réaliser des tests. La méthode que vous connaissez sûrement et que vous pratiquez, c'est l'utilisation du produit.

Réaliser des tests manuels sera toujours nécessaire. Ils ne doivent pas être sous-évalués.

Mais vous est-il arrivé de retomber sur un bug déjà corrigé quelque temps plus tôt ? Vous est-il déjà arrivé d'être lassé de réaliser toujours les mêmes tests ?

Sûrement ! Et c'est normal ! L'être humain n'est pas une machine. Il a même inventé des machines pour se débarrasser des tâches répétitives.

C'est la même chose avec les projets informatiques. Il est possible d'automatiser la réalisation des tests tout en vous permettant de comprendre.

Écrire des tests en langage naturel

Oui, il est possible d'écrire des tests en langage naturel moyennant un certain formalisme.

Ainsi le scénario suivant est correct:

Étant donné que je suis sur la page d'accueil du blog de Jean-Baptiste Nahan
Lorsque je clique sur "PHP 8" dans le menu
Alors je suis sur la liste des articles disposant du tag "PHP 8"

Comprenez-vous ce qui se passe lors de l'exécution de ce scénario ?

Il est possible de formaliser tous vos tests ainsi !

Anatomie du test

L'exemple est très court, mais est composé des éléments clés :

La phrase commençant par "Étant donné que" indique un prérequis, une situation préétablie. Elle ne se trouve en général qu'au début d'un scénario de test. Dans l'exemple, le prérequis est que le navigateur soit ouvert sur la page d’accueil de mon site.

La phrase commençant par "Lorsque", indique l'action que vous réalisez. Le résultat de cette action sera vérifié plus tard. Dans l'exemple, le testeur clique sur le lien nommé "PHP 8" situé dans le menu du site.

Enfin la phrase commençant par "Alors" indique ce que l'on attend, ce qui est vérifié. Dans l'exemple, tous les tags des articles présents sur la page seront récupérés, puis la présence du tag "PHP 8" sera vérifiée sur chacun d'eux. Si un article n'a pas le tag, alors une erreur sera levée et le test échouera.

Transcription

Bien que vous écriviez en langage naturel et en français (oui, ça fonctionne dans toutes les langues), il n'y a rien de magique.

Un développeur devra écrire du code pour chaque phrase permettant la réalisation des actions, et la vérification des attendus.

Ils vous sauveront

La mise en place de ces tests prend du temps, ce serait une erreur de le négliger. Mais ils vous sauveront !

Après la phase de mise en place et d'écriture des scénarii, vous pourrez demander à votre équipe de développeurs d'exécuter les tests périodiquement. Avant une mise en production par exemple, ou avant chaque modification (c'est utile pour certains projets). Quand vous le souhaitez.

À plusieurs reprises les tests m'ont épargné de très grosses galères, et je trouve dommage que vous ne puissiez pas en profiter pour vous économiser du temps et de nombreuses galères, et surtout gagner en qualité.

Intéressé par le sujet ?

Contactez-moi pour en discuter et restez connecté !

Author avatar
Jean-Baptiste Nahan

Consultant Expert Web, j'aide les entreprises ayant des difficultés avec leur projet Web (PHP, Symfony, Sylius).

@jbnahan69 | Macintoshplus | Linkedin | JB Dev Labs