En-tête-canalplus

Introduction aux défaillances de l'automatisation des tests

Marc Hage Chahine
Blog > L'automatisation des tests
Introduction aux défaillances de l'automatisation des tests

Dans cet article, nous allons examiner les principales raisons des échecs de l'automatisation des tests.

Automatiser l'exécution des tests : une étape nécessaire

L'automatisation de l'exécution des tests est un sujet d'actualité qui est devenu presque incontournable avec le développement des méthodes incrémentales. La raison est simple : avec la démocratisation des méthodes incrémentales, et plus généralement des méthodes Agiles, les tests de régression deviennent de plus en plus nombreux et exécutés de plus en plus souvent. Le temps nécessaire à l'exécution manuelle des tests de régression devient rapidement insoutenable pour toute équipe travaillant sur un produit développé de cette manière.

Le diagramme ci-dessous donne une idée du nombre d'exécutions de tests requis pour les deux processus Waterfall / Agility :

La multiplication des exécutions et le temps qu'elles prennent poussent les équipes à automatiser leurs tests... et ce sans forcément avoir d'expérience en automatisation.

Ce manque d'expérience est à l'origine de nombreux échecs pour diverses raisons. Il y a par exemple :

Manque de maintenance

Concevoir, écrire des tests et les exécuter une fois n'est pas suffisant. Le produit grandit et évolue au cours des différents développements, qui génèrent des évolutions, des changements, des suppressions et de nouvelles fonctionnalités. Un test qui était valable pour la version N ne l'est pas forcément pour la version N+1, et il est encore plus probable qu'il ne le soit pas pour la version N+10. Les tests de régression doivent donc être maintenus afin de rester à jour.

Agilitest ne peut pas (pour le moment) maintenir les tests pour vous. Cependant, il vous propose de factoriser simplement vos tests pour limiter leur maintenance! L'outil a été spécifiquement développé pour faciliter cette opération : changement d'un identifiant, relecture et modification pas à pas, réutilisation des sous-scripts.

Absence d'analyse des tests après leur exécution

L'exécution de tests automatisés est souvent considérée comme gratuite. De nombreuses équipes en profitent pour tester aussi souvent que possible, ce qui est une très bonne pratique. Cependant, même si l'exécution est gratuite, l'analyse des cas d'échec ne l'est pas. La multiplication des exécutions peut rendre la charge d'analyse trop importante, ce qui entraîne l'abandon de cette activité et rend donc l'exécution inutile.

Agilitest facilite l'analyse des tests en proposant des vidéos ATSV et des rapports pdf pour analyser rapidement les causes lors de l'apparition de l'erreur.

Le manque de robustesse des tests

La robustesse des tests et leur fiabilité est obligatoire avec l'automatisation. En effet, lorsqu'un test échoue, il faut en être sûr (c'est aussi le cas lorsqu'il réussit, mais c'est plus difficile à détecter). Cette robustesse doit être proche de 100% car lorsque ce n'est pas le cas. En effet, avoir une campagne de 100 tests fiables à 95% et qui doivent tous réussir, comme dans une chaîne d'intégration, devient presque impossible.

Agilitest, avec son système de vérification et de ciblage des objets, vous aide à rendre vos tests plus robustes et vous permet de limiter fortement flaky tests.

Des tests qui ne vérifient pas ce qui est requis

Ce problème vient du fait que les contrôles automatiques ne sont pas des contrôles humains. Quelque chose qui fonctionne à l'œil humain ne fonctionne pas nécessairement de manière automatique. Par exemple, vous ne pouvez pas rechercher le mot "Bus" dans une page qui contient également le mot "Busy". Agilitest assure l'unicité de ce qui est recherché et évite donc de rechercher quelque chose qui se trouve plusieurs fois dans la page. L'utilisation d'expressions régulières vous permettra d'identifier formellement les éléments à vérifier. En dernier recours ou pour des besoins spécifiques, vous pouvez utiliser la reconnaissance graphique.

Le choix d'un outil inadapté

Certains outils sont adaptés à certaines technologies, certains outils permettent de faire certains types de tests (performance, interfaces utilisateurs, webservices...), certains outils permettent d'utiliser certains composants... Le choix de l'outil est crucial car commencer à automatiser avec un outil et se rendre compte ensuite qu'une action obligatoire ne peut pas être faite avec lui conduit à une grande perte de temps, d'énergie et d'argent.

Agilitest est multicanal sur de nombreuses technologies, avec la même façon de tester pour chaque technologie, et comme nous savons que tous nos clients ont des besoins spécifiques, nous nous assurons qu'ils réussiront à réaliser les tests qu'ils souhaitent en produisant régulièrement de nouvelles fonctions à leur demande.

Coût trop élevé de l'automatisation ou volonté de tout automatiser

L'automatisation est un investissement en temps et en argent. Dans certains cas, seul le temps est pris en compte. Dans la grande majorité des cas, l'objectif principal est de gagner de l'argent à moyen terme. Pour assurer ce retour sur investissement, il faut savoir ce qu'il est possible d'automatiser et maintenir à un coût acceptable. Cela implique de faire des choix et de ne pas tout automatiser afin de limiter le nombre de tests à maintenir mais aussi de limiter la complexité des tests automatisés.

Agilitest permet une grande productivité, et vous aidera à couvrir un maximum de scénarios sur votre application. Les livraisons seront encore plus faciles.

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.