Skip to main content

Les tests d’automatisation sont devenus si essentiels à certaines routines que certains testeurs se demandent s’ils remplaceront complètement les tests manuels. 

Pas dans un avenir proche. 

Lorsque l’équipe de Tesla a conçu la Model 3, l’un des moyens envisagés pour augmenter le rythme de production consistait à mettre en place une chaîne d’assemblage entièrement automatisée. L’IA assemblerait la voiture avec presque aucune supervision humaine. 

Continue Reading for Free

Create a free account to finish this article, plus get ongoing access to timely insights and practical resources.

Le plan a échoué de façon catastrophique.

Les voitures se sont percutées, des portes ont été percées dans les vitres et les pneus ne se montaient pas correctement sur leurs jantes. 

Que s’est-il passé ? Eh bien, il s’est avéré que les robots ne voient pas très bien. L’IA chargée d’assembler la Model 3 était incapable de s’adapter aux complications imprévues ou aux légers défauts d’alignement. Si tout n’était pas parfaitement aligné, elle commettait des erreurs catastrophiques. 

Il en va de même pour les tests d’automatisation dans l’assurance qualité. Certaines formes de tests comportent trop de variables et exigent que le testeur manuel puisse corriger le tir et résoudre les problèmes au fur et à mesure. 

Qu’est-ce que les tests d’automatisation ?

Les tests d’automatisation consistent, pour un testeur chargé de l’assurance qualité, à utiliser un outil pour exécuter un cas de test. Au cours du cycle de développement, le même cas de test sera testé plusieurs fois.

Certains cas de test qui demanderaient des heures de travail manuel à une équipe de testeurs chargés de l’assurance qualité peuvent être exécutés par un outil d’automatisation en quelques minutes. Plusieurs outils de tests d’automatisation sont devenus des références dans le secteur. 

Le côté obscur des tests d’automatisation

D’autres secteurs, métiers et professions ont dû faire face à l’introduction de l’automatisation dans leur domaine. Chaque fois que cela s’est produit, que ce soit dans l’aviation avec le pilote automatique, le tissage de tapis ou les tests, les travailleurs de ce domaine perdent leur compréhension du « pourquoi » qui sous-tend leur travail.

Il s’agit d’un phénomène que le professionnel de l’assurance qualité Jan Jaap Cannegieter a remarqué chez les testeurs. Sa crainte ultime est que la facilité des tests d’automatisation et la volonté croissante d’automatiser une grande partie du processus de test conduisent à une génération de testeurs qui savent quelles actions effectuer, mais qui ne comprennent pas pourquoi. 

De nombreux testeurs connaissent tout de certains outils ou langages de programmation, mais ils ne peuvent pas me dire ce qu’ils testent ni pourquoi ils le testent. Et c’est une mauvaise chose.

Améliorez votre boîte de réception avec plus de conseils en leadership technologique pour livrer de meilleurs logiciels et systèmes.

Exemples de mauvais tests d’automatisation

De nombreux testeurs chargés de l’assurance qualité perçoivent le même potentiel dans les tests d’automatisation. En général, cela signifie qu’il existe des tendances observables et des erreurs courantes qu’un testeur chargé de l’assurance qualité peut commettre. Voici quelques exemples courants de mauvais tests d’automatisation. 

Imbrication des tests d’automatisation

L’imbrication des tests d’automatisation consiste à exécuter plusieurs tests d’automatisation les uns sur les autres.  Lorsque cela se produit, il devient difficile de déterminer ce qui n’a pas fonctionné lorsqu’une erreur apparaît. 

À court terme, la plupart des cas de tests d’automatisation sont positifs. Le testeur chargé de l’assurance qualité utilise le bon outil et l’exécute correctement. 

De nombreux exemples de mauvais tests d’automatisation ne deviennent problématiques que six mois plus tard, lorsque des tests automatisés ont été imbriqués dans d’autres tests automatisés, eux-mêmes imbriqués dans d’autres tests automatisés. 

Tests d’automatisation de l’interface utilisateur sans supervision

Les tests de l’interface utilisateur permettent de s’assurer qu’aucune action effectuée par un utilisateur sur l’interface ne provoquera une interruption du programme ou un dysfonctionnement. Lorsqu’ils sont réalisés manuellement, ils peuvent nécessiter beaucoup de testeurs et de main-d’œuvre. Pour être tout à fait honnête, cette méthode est inefficace, surtout lorsque le programme prend de l’ampleur et que davantage de fonctions doivent être testées. 

Avec les tests d’automatisation, le processus devient plus rapide, mais peut toujours mobiliser toute la puissance de l’ordinateur d’un testeur chargé de l’assurance qualité pendant une journée entière. Pour y remédier, les testeurs chargés de l’assurance qualité lancent le test en fin de journée, le laissent fonctionner pendant la nuit et reviennent travailler le lendemain matin avec les résultats qui les attendent. Cela semble logique, n’est-ce pas ? 

À première vue, cela semble être la bonne décision. Le testeur chargé de l’assurance qualité utilise son ordinateur pour tester d’autres programmes pendant la journée, puis lance la nuit les tests d’automatisation de l’interface utilisateur.

C’est précisément parce que cela semble intuitivement logique qu’il s’agit d’une erreur courante. Beaucoup de choses peuvent mal tourner lorsque les tests d’automatisation sont effectués sans supervision.

Si quelque chose tourne mal dès le début, le reste des résultats sera erroné. Une journée entière de tests n’a fourni aucune information utile à cause d’une erreur qui aurait pu être facilement détectée et corrigée si quelqu’un avait été présent pour vérifier que le test d’automatisation s’exécutait correctement.

Bien que les tests automatisés puissent parfois produire des faux positifs, choisir les bons outils d’automatisation de l’AQ peut réduire considérablement ce type de situation. 

Automatiser les mauvaises choses

La mise en place des tests automatisés prend du temps. L’AQ doit s’assurer que les outils d’automatisation conviennent au projet et que les testeurs AQ savent les utiliser correctement. 

Tout cela demande énormément de temps et d’organisation et, si le résultat final est qu’un test généralement exécuté une fois par mois est automatisé, l’effort n’en vaut pas la peine. Avant de commencer les tests automatisés, assurez-vous que ce que vous allez automatiser permettra aux testeurs AQ de gagner un temps mesurable.

Non seulement vous pouvez automatiser des tâches trop rares pour que l’effort en vaille la peine, mais certaines tâches ne peuvent tout simplement pas être automatisées facilement.

Remplacer les tests manuels

Les tests automatisés ne peuvent détecter que ce qu’on leur demande de rechercher. Si les polices d’une page web s’affichent de manière étrange, mais que le test vérifiait uniquement que tous les liens du site fonctionnent, il résoudra un problème (les liens), sans savoir que quelque chose ne va pas avec l’autre (les polices). 

Les tests manuels peuvent détecter des problèmes qui sortent du périmètre initial du test. La méthode des tests exploratoires a été conçue pour donner au testeur AQ la possibilité de découvrir les bogues inattendus au fur et à mesure qu’ils apparaissent, même si ce n’est pas ce qu’il recherchait au départ. Concentrés sur une tâche unique, les tests automatisés peuvent être minutieux. En revanche, ils ne peuvent pas être exhaustifs. 

Exemples de bons tests automatisés

L’automatisation des tests est réalisée afin de minimiser les risques. Lorsqu’un testeur AQ peut minimiser les risques et maximiser l’efficacité, les tests automatisés doivent absolument être effectués.  Il n’y a aucune raison pour qu’un testeur AQ passe des heures à vérifier manuellement les liens d’un site web lorsqu’un robot d’exploration web peut effectuer la même tâche en moins de temps et avec peu de risques de commettre une erreur.

Pour déterminer quand utiliser les tests automatisés plutôt que les tests manuels, une bonne règle générale consiste à se demander si le test sera rapide ou continu. Si le test doit être exécuté en continu, l’automatisation des tests est la solution à privilégier. 

Les êtres humains sont moins performants que les machines lorsqu’il s’agit d’effectuer constamment des tâches répétitives à un niveau élevé. Nous recherchons la nouveauté et nous nous désengageons mentalement lorsque nous faisons la même chose trop longtemps. Cela permet aux erreurs de passer inaperçues. 

C’est ainsi qu’un testeur AQ se rendra compte qu’il a : a) consacré plus de temps que s’il avait effectué des tests automatisés et b) fourni un travail de moindre qualité, créant davantage de problèmes par la suite. 

Jason Huggins, fondateur de l’outil d’automatisation populaire Selenium, a développé le programme parce qu’il s’est rendu compte qu’il passait une grande partie de ses journées de testeur à exécuter les mêmes tâches — des tâches qu’il jugeait suffisamment simples et directes pour qu’un robot puisse même les effectuer. Il a donc développé un script qui testait automatiquement le fonctionnement des navigateurs à sa place. Ce fut un succès immédiat et le programme est rapidement devenu la norme du secteur. 

Même les professionnels de l’AQ sceptiques à l’égard des tests automatisés savent que ceux-ci sont utiles dans de nombreux cas. 

Pourquoi les tests manuels ne disparaîtront jamais

Nous avons examiné les aspects positifs, négatifs et très négatifs de l’AT. Nous savons dans quelles situations elle fonctionne bien et dans lesquelles elle pousse les chaînes de montage à faire circuler des pneus de voiture dans toute l’usine. Examinons maintenant les tests manuels et les raisons pour lesquelles ils restent si importants pour les testeurs AQ. 

Les tests automatisés nécessitent une supervision

Comme cela a été mentionné plus haut à propos du problème du Model 3 de Musk et des risques liés à l’exécution de tests automatisés pendant la nuit, les choses peuvent très mal tourner lorsque vous laissez les outils d’automatisation sans surveillance. 

GIF sur la nécessité de superviser les tests automatisés

Les principaux avantages des tests automatisés apparaissent lorsqu’ils sont réalisés en complément de tests manuels ou sous la supervision d’un testeur AQ. Pour cette seule raison, les testeurs AQ peuvent rester tranquilles : l’AT ne prendra pas le dessus sur leur rôle dans un avenir prévisible. 

Les tests manuels utilisent les tests exploratoires

Lorsqu’un testeur effectue un test exploratoire, il explore le logiciel sans plan prédéfini. Il s’agit de l’une des formes de test les plus populaires en assurance qualité.

Les tests exploratoires ne peuvent être effectués que par le biais de tests manuels. 

L’avantage des tests exploratoires est qu’ils permettent au testeur de s’adapter immédiatement à ses découvertes, sans avoir besoin d’écrire un autre scénario de test. 

Les tests exploratoires permettent également la collaboration, l’élaboration de théories et la collaboration, le tout à la volée. 

À mesure que la théorie agile du développement est devenue plus répandue, les tests exploratoires le sont également. 

Les tests automatisés manquent de la flexibilité et de la créativité nécessaires pour être suffisamment agiles pour les tests exploratoires. Ils fonctionnent mieux dans un environnement rigide où ils savent exactement quoi rechercher. Les tests exploratoires sont exactement l’inverse : ils demandent au testeur chargé de l’assurance qualité d’aller où bon lui semble. 

Qu’en pensez-vous ?

Certains ne jurent que par les tests automatisés, tandis que d’autres pensent encore que les tests manuels sont la meilleure solution. Selon vous, comment les équipes d’assurance qualité peuvent-elles tirer le meilleur parti des tests automatisés ? Pensez-vous que nous soyons prêts pour l’IA appliquée aux tests ?

Abonnez-vous à la lettre d’information de The CTO Club pour recevoir les derniers articles et les actualités d’experts du secteur.

Jason Boog

Au cours de sa carrière de 15 ans, Jason Boog a travaillé comme testeur QA, analyste QA et analyste QA senior sur des jeux vidéo, des sites commerciaux et des applications web interactives. Il a passé plus de dix ans à développer l'équipe et le processus d'assurance qualité en tant que Directeur Qualité & Support Client dans une agence digitale à service complet.