De nos jours, nous avons tendance à préconiser l'automatisation des tests. Mais, est-ce vraiment une bonne chose de tout automatiser ? Quels sont les avantages de l'automatisation des tests ? Comment choisir les tests à automatiser ?
Retranscription de l'infographie
Temps de test
L'exécution manuelle des tests prend du temps, car il est nécessaire de mettre en place un protocole de test méticuleux et récurrent. Les testeurs sont limités par le temps dont ils disposent pour travailler. Lorsqu'il s'agit de tests automatisés, le temps d'exécution est optimisé. Le protocole de test automatisé prend plus de temps à mettre en place, mais prend moins de temps pour chaque exécution. Cela permet à l'automatisation d'être compétitive lorsque le nombre de livraisons/répétitions de campagnes augmente. De plus, l'automatisation fonctionne 24h/24, 7j/7.
Précision des tests
Pour la précision des tests, les tests manuels sont pertinents sur le plan humain. En effet, cela permet plus de flexibilité d'un point de vue humain dans la viabilité des tests. Les éléments qui n'étaient pas initialement prévus dans les tâches peuvent être jugés manuellement. D'autre part, les tests automatisés reposent sur des outils d'automatisation et des scripts. En fait, les scripts ne peuvent pas trouver les anomalies si elles sont en dehors de son programme de test. Cependant, les tests automatisés montrent une plus grande efficacité, car l'automatisation est exécutée par une machine, alors qu'un processus manuel augmente un risque d'omission d'erreurs dû au facteur humain.
Tests exploratoires
Lorsqu'elle est bien réalisée et sans lourdeur de maintenance, l'automatisation des tests donne plus de temps aux testeurs pour explorer les scénarios réels de bout en bout de l'interface et de l'UX de l'utilisateur. Cependant, les tests exploratoires et les tests UX sont difficiles à engager en raison de la lourde charge de travail des tests manuels.
Types de tâches
Avec les tests automatisés, les tests de couverture et les tests fonctionnels peuvent être automatisés, y compris les simulations d'utilisateurs réels.
Interface utilisateur
Pour l'interface utilisateur, les deux types de tests sont valables. Avec les tests manuels, le testeur peut donner son avis sur la convivialité de l'application pour donner des idées. Avec les tests automatisés, l'automatisation ne permet pas d'obtenir des avis objectifs, mais donne plus de temps aux testeurs pour fournir des commentaires.
Test du parcours utilisateur
L'automatisation ne peut pas analyser ou percevoir les comportements du système qui ne sont pas implémentés dans sa programmation, alors que les humains peuvent percevoir des comportements particuliers du système. Pour cette raison, les tests manuels ont tendance à être plus efficaces que l'automatisation.
Tests UX
L'automatisation ne peut pas juger de l'expérience utilisateur. Cette tâche nécessite un cerveau pour vérifier l'affichage correct du texte, des liens, des images...
Test de couverture
Avec les tests automatisés, il est facile d'assurer une plus grande couverture de test avec des tests de régression automatisés. Il produit des tests d'automatisation des régressions futures sur les nouveaux codes. Les tests automatisés doivent être effectués au moment le plus opportun pour la livraison des nouveaux produits. L'exhaustivité de la couverture peut être déléguée aux outils d'empreinte de code ou aux outils de traçabilité des exigences.
Avec les tests manuels, l'exhaustivité de la couverture nécessite une analyse des plans de tests ou une traçabilité des exigences. De plus, il y a une perte de temps à tester les anciens codes en plus des nouveaux codes de chaque nouvelle version.
Investissement
L'automatisation suit son programme, quel que soit le contexte, et elle s'adapte à tout type de système. En revanche, un testeur peut rencontrer des difficultés s'il sort de sa zone de confort. L'automatisation accélère le processus de vérification et laisse plus de temps pour corriger les anomalies. En outre, les tests manuels peuvent entraîner un dépassement des délais si trop d'erreurs se produisent.
Impact du processus
En raison de la lourdeur de la charge de travail, les tests manuels doivent être effectués à la toute fin du processus de production du logiciel, brisant ainsi le processus de production. Les processus peuvent être allégés par l'automatisation en permettant un flux de travail plus souple.
État d'esprit des équipes
Les équipes de validation sont sous pression pour chaque phase de test de livraison. Les développeurs sont également contraints de travailler sur deux versions en même temps. Les tests d'automatisation fournissent un travail plus régulier, ce qui permet aux testeurs d'avoir plus de temps pour travailler avec les autres équipes (3 amigos) ; ce qui garantit un meilleur état d'esprit.