En-tête-canalplus

Comment assurer et vérifier la qualité des tests ?

Marc Hage Chahine
Blog > L'automatisation des tests
Comment assurer et vérifier la qualité des tests ?

L'automatisation des tests peut échouer pour de nombreuses raisons. Aujourd'hui, nous allons examiner l'une des principales causes de ces échecs, à savoir les tests qui ne vérifient pas ce qui est requis.

Les tests sans règles de validation entraînent nécessairement l'échec de l'automatisation.

Tout d'abord, il est important de rappeler que le problème des tests qui vérifient ce qui est requis n'est pas exclusif à l'automatisation. Néanmoins, ce phénomène est plus visible avec l'automatisation car lors de l'exécution il n'y a pas d'humain derrière l'écran mais un robot qui exécute exactement ce qu'on lui dit. La vérification et la validation sont automatisées.

Il existe plusieurs raisons pour lesquelles un test ne permet pas de vérifier ce qui est souhaité :

  • Un contrôle automatique qui recherche un objet qui n'est pas toujours présent.
  • Vérification automatique d'un objet présent plusieurs fois sur la page
  • Un contrôle qui recherche un objet qui est bien présent et unique sur la page mais qui apparaît sur plusieurs pages
  • Un test mal conçu

Le premier sujet rend le test instable. Il fonctionnera à certains moments et à d'autres non. Par exemple, nous pouvons penser à une promotion qui apparaît tous les jeudis et qui supprimerait les prix habituels, par exemple pour les pizzas à 5€ au lieu de 10€. Si nous vérifions le prix de 10€ lorsque nous arrivons sur la page d'achat des pizzas alors ce prix ne sera pas présent le jeudi et donc le test échouera chaque jeudi.

Le deuxième sujet est plus compliqué à détecter, d'autant plus qu'il est peu probable qu'il se produise manuellement. Toujours sur l'exemple de la promotion, on peut penser à rechercher le terme "Promotion" sur la page avec le prix des pizzas le jeudi.

De même, rien n'empêche qu'un autre encart parle de promotion. Dans ce cas, le terme promotion apparaît deux fois. Si le jeudi promotion n'apparaît plus, l'automatisation ne le remarque pas.

Le troisième cas est généralement dû à l'omission d'un paramètre. Un contrôle qui semblait pertinent peut ne plus l'être. En gardant l'exemple de la promotion du jeudi, il est facile d'imaginer que le terme "promotion" avec le prix de 5€ apparaisse sur toutes les pages du site ou de l'application le jeudi.

Faire une recherche sur ce prix ou sur le terme "promotion" est alors inutile car cela ne prouve rien ! C'est la même chose que de vérifier que l'url contient "www" pour vérifier que je suis sur le site https://www.agilitest.com/.

Le dernier sujet est simplement dû à des tests mal conçus. Toujours sur la promotion de la pizza. Le test pourrait être fait sur quelque chose qui n'est pas forcément lié ou éphémère comme une publicité.

Les bons tests sont réalisés avec de bons contrôles. Les bons tests sont les matériaux nécessaires pour réaliser de bonnes campagnes de test. De bonnes campagnes de test sont obligatoires pour une automatisation des tests réussie. Il est donc essentiel de s'assurer de la qualité des contrôles de test, qu'ils font réellement ce que vous voulez démontrer.

Comment vérifier la qualité des audits de test ?

Même s'il est plus important avec l'automatisation, ce problème n'est pas nouveau. Certaines bonnes pratiques ne sont donc pas exclusives à l'automatisation, en voici quelques-unes :

Examens des tests

Cette bonne pratique est potentiellement la plus importante car elle permet de couvrir les 4 sujets précédents mais aussi d'améliorer de manière générale la qualité des tests. Un point de vue extérieur est toujours utile !

Il est surprenant que les revues de spécifications et les revues de code soient très développées mais pas encore les revues de tests. Les tests sont des livrables conçus et écrits par des humains. L'erreur est humaine, il semble donc évident de faire des revues de cas de test.

Garantir l'unicité d'un objet dans notre recherche

C'est essentiel ! L'objet que vous cherchez doit être unique dans l'espace que vous recherchez. Sinon, son absence ne serait pas remarquée.

Agilitest est un très bon outil pour assurer cette unicité grâce à son outil de capture. En effet, son outil de capture permet de :

  • Réduire la zone de recherche et donc les parasites potentiels ou les changements inattendus
  • Éviter les recherches avec des Xpaths peu robustes
  • Assurer l'unicité de notre objet dans notre champ de recherche en 1 clic comme nous pouvons le voir avec cette image :
Les plus agiles locator
Les plus agiles locator

Exécutez le test plusieurs fois dans des conditions différentes pour la vérification.

En procédant ainsi, vous pouvez vous assurer que l'article que vous recherchez est présent dans un grand nombre de conditions. Pour l'exemple de l'article, nous pouvons penser à un test tous les jours de la semaine, avec un compte utilisateur ou non, avec des réductions supplémentaires...

Là encore, Agilitest peut vous aider sur certains points. En effet, la modification et la gestion des données peut se faire facilement avec l'outil avec la création de fichiers csv ou json utilisés pour les données de test.

Vérifiez qu'en cas d'erreur, le test échoue.

Ce point pourrait être comparé à une pratique TDD qui vise à vérifier qu'un test échoue avant le développement et réussit après le développement.

Cette bonne pratique doit être un réflexe car elle tend à montrer que le test envoie les informations souhaitées. Cela permet d'éviter de nombreux problèmes de manière rapide et efficace.

Vous voulez essayer Agilitest ?

Découvrez Agilitest en action. Divisez par 5 le temps nécessaire à la sortie d'une nouvelle version.

Automatiser les tests fonctionnels pour des équipes heureuses.  

  • Des tests manuels aux tests automatisés
  • De l'automatisation des tests à l'automatisation intelligente des tests
  • Trouver les bons outils
ebook-scaling-test-automation-agilitest
Marc Hage Chahine

A propos de l'auteur

Marc Hage Chahine

Partenaire Agilitest - Passionné par les tests de logiciels chez Qestit - Certifié ISTQB (Foundation, Agile, Test Manager)

logo twitter
logo linkedin

Recevez les actualités du monde du test et d'Agilitest dans votre boîte mail

Rejoignez des milliers d'abonnés. Conforme RGPD et CCPA.