
Une traduction de l'article a été préparée spécialement pour les étudiants du cours Python QA Engineer.
Les tests inter-navigateurs sont exactement le type de test qui nécessite beaucoup d'efforts et de temps. Tester une application Web dans différents navigateurs, sur différents systèmes d'exploitation, appareils, résolutions d'écran afin d'évaluer le rendu de votre contenu réseau auprès d'un large public est une tâche sérieuse. Surtout si vous le faites manuellement. Les tests automatisés sur plusieurs navigateurs avec Selenium permettront de gagner du temps sur les activités de routine et de réduire le temps des tests de régression. Cependant, les gens n'aiment pas le changement. Si les tests manuels sont populaires dans votre organisation, la direction se posera probablement des questions lorsque vous proposerez d'implémenter l'automatisation des tests.
L'automatisation des tests, bien que très rentable, est potentiellement coûteuse. Le jeu en vaut-il la chandelle? C'est l'un des problèmes que vous pouvez rencontrer pour convaincre la direction. Au fur et à mesure que vous développez votre application Web, vous devrez fournir un retour sur investissement (ROI) efficace en testant l'automatisation avec Selenium, en soulignant les avantages d'une telle automatisation pour les tests inter-navigateurs des applications Web, à savoir un travail plus rapide et moins de travail manuel.

Dans cet article, nous discuterons de diverses mesures pour évaluer le retour sur investissement à partir de l'automatisation des tests avec Selenium, ainsi que des méthodes de calcul du retour sur investissement, en commençant par les bases et en terminant par des méthodes avancées.
Mesures pour évaluer le retour sur investissement de l'automatisation des tests à l'aide de Selenium
Vous, ainsi que les membres de votre équipe, pouvez sélectionner des indicateurs et des mesures spécifiques qui vous aideront à analyser le retour sur investissement à partir de l'automatisation des tests avec Selenium, alors que vous prévoyez de commencer les tests automatisés de votre application Web à partir de zéro. Les performances peuvent varier selon l'organisation. Pourquoi? C'est une question de priorité, car il existe différents indicateurs, tels que le nombre de défauts détectés (erreurs), le temps passé et la couverture des tests, qui affectent directement les risques, le coût, la qualité et le calendrier de livraison de votre produit. Certaines organisations peuvent donner la priorité au nombre de défauts constatés car elles estiment que la quantité est synonyme de qualité. Certains pensent différemment, car la qualité est fondamentale pour eux. Que choisissez-vous? Selon vous, qu'est-ce qui est le plus important: la qualité ou la quantité? Vous pouvez écrire vos pensées dans les commentaires.
Eh bien, définir les paramètres clés pour calculer le retour sur investissement à partir de l'automatisation des tests à l'aide de Selenium sera crucial pour vous, car vous devez les identifier avant d'engager une discussion avec la direction.

Zone d'automatisation des tests avec Selenium
Il est bien connu que les tests ne peuvent pas être entièrement automatisés. Combien vous pouvez automatiser les tests inter-navigateurs est une question difficile. Si vous décidez de mettre en œuvre des tests croisés automatisés pour votre application Web, vous devrez décider des priorités, c'est-à-dire quels navigateurs et systèmes d'exploitation devraient couvrir les tests. Dans tous les cas, vous ne pouvez pas couvrir tous les scénarios. Le nombre total de scénarios possibles peut être de plusieurs centaines ou milliers de tests. Si votre script d'automatisation prend du temps, cela affectera inévitablement le pire pour le temps total que vous passez chaque jour à tester votre application Web ou votre site Web.
En bref, vous devez comparer le nombre total de cas de test automatisés et le nombre de cas de test dans lesquels vous pouvez appliquer l'automatisation.
Si vous souhaitez réduire le temps d'exécution des suites de tests complexes, vous pouvez utiliser des tests parallèles avec la grille Selenium . De cette façon, vous pouvez exécuter plusieurs scripts de test à la fois. Cependant, ici, vous devez penser au nombre de sessions simultanées ou parallèles suffisantes pour répondre aux exigences données. Vous pouvez calculer cela avec une calculatrice simultanée .
L'amélioration de cet indicateur signifie que les équipes peuvent rapidement trouver une erreur et la corriger, ce qui réduit les risques et le retour sur investissement en testant l'automatisation avec Selenium.
Combien de temps économiserez-vous?
Agile se caractérise par des sprints hebdomadaires et de deux semaines et des changements fréquents des exigences. Dans de telles circonstances, l'importance des tests de régression augmente. L'introduction de tests de régression automatisés réduira le temps requis pour effectuer ces tests. Cela augmentera le temps pour développer ou développer un autre sprint. Gagner du temps est une priorité pour chaque organisation, en particulier pour les startups qui ont besoin de faire évoluer rapidement leur application Web. Le temps est-il l'un de vos intérêts dans l'évaluation du retour sur investissement de l'automatisation des tests?
La bande passante de vos ressources
Nous savons que tester l'automatisation avec Selenium vous aidera à lancer rapidement votre application Web sur le marché. Cependant, aucune organisation ne préférerait que ses employés restent inactifs la plupart du temps, en attendant que le script fonctionne. Le calcul du retour sur investissement nécessite une analyse approfondie des efforts déployés par chaque testeur de votre équipe.
Budget d'investissement des ressources et des outils
L'automatisation des tests permet d'économiser du temps et des efforts. Cependant, cela implique un compromis avec les prix. Vous devez penser au budget que vous pouvez consacrer à la maintenance des outils pour effectuer des tests automatisés.
Nombre total de défauts
Le nombre total de défauts découverts après chaque cycle de test de régression donne une idée de la qualité du produit et de l'efficacité des tests automatisés pour ce produit particulier.
Trouver le bon retour sur investissement pour les tests automatisés
Selon le nombre de cycles de régression qui doivent être effectués pendant le cycle de vie du projet, le retour sur investissement peut prendre une valeur positive. En règle générale, le retour sur investissement est calculé à l'aide de la formule suivante:
ROI = ( – ) /
Cependant, avec l'avènement d'Agile et de DevOps, la méthode classique ne fonctionne plus. De plus, une telle mesure n'est pas réaliste, car le nombre de tests manuels ne peut pas être le même que le nombre de tests automatisés. Le calcul du bon retour sur investissement à partir de l'automatisation des tests dans le cas du sélénium en fonction de la quantité n'est pas préférable, mais il est toujours utilisé.
Qualité des défauts
À mon avis, c'est un indicateur très important pour calculer le retour sur investissement des tests d'automatisation avec Selenium. Je crois que l'intérêt de tester l'automatisation n'est pas de supprimer le besoin de testeurs manuels dans le projet. Le sens de l'automatisation est de réduire le temps passé par le testeur à effectuer des tests, dans les conditions de son calendrier serré, afin que le testeur puisse proposer des cas de test plus prêts à l'emploi. L'amélioration de la qualité des cas de test contribuera certainement à améliorer votre application Web.
Erreurs courantes lors du calcul du retour sur investissement à partir de tests automatisés
Bien que le calcul du retour sur investissement implique un calcul de base utilisant une formule simple, des erreurs peuvent se produire si vous manquez certains paramètres importants. Voyons quelques erreurs courantes que les gens font lors du calcul du retour sur investissement.

source
Vous n'ignorez pas complètement les tests manuels, n'est-ce pas?
L'une des erreurs les plus courantes consiste à utiliser uniquement des mesures de test automatisées. Les tests manuels seront toujours d'une importance particulière. Lorsque nous parlons de tests multi-navigateurs, nous comprenons que certains scénarios peuvent être automatisés, mais il y a des moments où vous devez interagir avec une application Web en temps réel, en effectuant manuellement des tests multi-navigateurs. Parce que les défauts visuels, par exemple, sont plus faciles à détecter manuellement que l'exécution d'un script automatisé. Des éléments tels que l'attrait de l'apparence du site lorsqu'il est affiché dans différents navigateurs ou le bon fonctionnement du menu de navigation sont toujours vérifiés manuellement. Si vous essayez d'automatiser des tests de ce type, ils n'entraîneront pas d'augmentation du retour sur investissement. Même si vous ne comptez pas sur le «travail manuel», vous devez quand même prendre en compte le temps et l'argent alloués pour cela.
Imaginez la grande image
Lorsque vous mesurez le retour sur investissement de l'automatisation des tests avec Selenium, vous devez considérer une période de temps plus longue. Tester comment une méthodologie de test particulière profite à l'organisation en peu de temps ne fournit pas toujours une image complète. Vous devez savoir comment cela affectera l'organisation et l'équipe à long terme. Au lieu de prendre des mois, réfléchissez à la façon dont le retour sur investissement évoluera dans 3 à 5 ans. Par exemple, le test de décalage vers la gauche vaut -il la peine d'être utilisé dans votre pratique? Le test vers la gauche est une méthodologie qui se concentre sur les tests dès que possible, en commençant par la phase de collecte des exigences. L'idée est de réfléchir aux erreurs à l'avance et de les trouver le plus tôt possible, car on pense que l'erreur trouvée à un stade ultérieur du cycle de vie du développement du système sera plus coûteuse que l'erreur qui a été trouvée aux étapes initiales.
Avez-vous apprécié les capacités de votre organisation?
Vous devez faire correspondre les capacités de votre organisation avec une pile d'outils d'automatisation des tests. La mise en œuvre réussie d'une stratégie de test automatisée nécessite à la fois une connaissance du produit et une connaissance de l'automatisation. Votre équipe doit comprendre clairement comment utiliser l'outil d'automatisation prévu, ainsi que le fonctionnement de l'application.
Le soutien aux tests est important
La prise en charge des tests est un autre facteur que les gens ont tendance à négliger lors de la mesure du retour sur investissement de l'automatisation des tests. Si vous utilisez Selenium pour des tests croisés automatiques, après la mise en œuvre réussie de votre stratégie, vous devrez régulièrement mettre à jour et maintenir des cas de test. Le jeu de régression et les cas de test commenceront à augmenter à mesure que vous ajoutez de nouvelles pages, développez ou mettez à jour les fonctions de l'application Web. Garder ces suites de tests utilisables pendant une plus longue période nécessitera une assistance régulière.
Manque de documentation de qualité appropriée
Il s'agit d'une erreur assez courante, non seulement en termes d'automatisation, mais également en termes de gestion. La documentation doit refléter les normes de l’organisation. Lorsque le testeur écrit un script de test, il doit préparer un document expliquant le but du script et son fonctionnement. Une base de connaissances commune doit être accessible à tous au sein de l'organisation et inclure une documentation pour chaque scénario d'automatisation utilisé dans votre organisation. Une telle base de connaissances servira de support fiable pour tout nouveau venu dans votre équipe. Il contribuera également à éliminer les problèmes qui surviennent inévitablement en l'absence d'un chef de projet «senior» ou lorsqu'un testeur précieux part pour une autre entreprise. Par conséquent, la prochaine fois que vous calculez le retour sur investissement à partir de l'automatisation des tests, assurez-vous de prendre en compte la quantité d'efforts requis pour maintenir une telle base de connaissances pour les employés internes.
Que faire pour augmenter le retour sur investissement de l'automatisation des tests avec Selenium
Pour le moment, nous sommes conscients des erreurs courantes et connaissons les indicateurs de calcul du retour sur investissement à partir de l'automatisation des tests. Et ensuite? Accomplissement. Comment trouver le meilleur moyen d'obtenir le retour sur investissement maximal de l'automatisation des tests avec Selenium? Eh bien, voici quelques pratiques remarquables pour vous aider à tirer le meilleur parti de l'automatisation des tests.

Implémenter l'automatisation pour les nouveaux tests
C'est un facteur très important, surtout si vous passez des tests manuels aux tests automatisés. Supposons que vous introduisiez l'utilisation de Selenium WebDriver dans votre organisation pour les tests croisés automatiques.
- Calculer le nombre de cas de test qui doivent être automatisés;
- Vérifiez maintenant lesquels doivent vraiment être automatisés et lesquels doivent être effectués manuellement;
- Ne modifiez pas les cas de test de manière à ce qu'ils puissent être automatisés! Il y a certaines choses qui doivent être vérifiées manuellement; - Calculer le coût horaire d'un testeur effectuant des cas de test;
- Si certains testeurs n'ont pas d'expérience en automatisation, calculez le coût de la formation.
Priorité du processus d'automatisation pour les nouveaux cas de test
Nous savons tous que les tests de régression sont toujours une priorité, en particulier lorsqu'il s'agit de tests de régression visuelle d'une application Web dans divers navigateurs pour vérifier la compatibilité entre les navigateurs .
Les tests de régression consistent principalement à réexécuter d'anciens cas de test pour s'assurer que les nouvelles fonctions ajoutées n'ont pas affecté le fonctionnement de l'ancienne fonctionnalité et n'ont pas provoqué de nouvelles erreurs. Au fil du temps, à mesure que vos applications Web se développent sur le plan architectural et fonctionnel, le suivi manuel de la progression des tests de régression s'avérera coûteux. La mise en œuvre de tests de régression visuelle automatisée est logique si vous souhaitez enregistrer.
- Lors du calcul du retour sur investissement, supposez que chaque nouveau scénario de test fera bientôt partie des tests de régression. Traitez-les dans le cadre de votre stratégie de test de régression.
- Triez les cas de test par complexité et voyez lesquels peuvent être automatisés.
- Comme indiqué précédemment, considérez le coût de maintenance des anciens tests.
Couverture de test de près de 100% dans diverses configurations de test pour les navigateurs et les systèmes d'exploitation
L'objectif principal de l'automatisation des tests est d'améliorer la qualité de votre application. Lors du calcul du retour sur investissement, vous devez également tenir compte du fait que le nombre de façons d'afficher un site Web augmente chaque jour. Il existe des centaines de navigateurs et d'appareils sur le marché où les gens peuvent voir votre application Web, et leur nombre ne cesse de croître. Définissez vous-même une matrice de compatibilité de navigateur .
Recommandations de taux de couverture
Vous pouvez augmenter la couverture des tests en effectuant des tests de fumée, des tests unitaires et des tests de régression qui pointent vers la source des erreurs.
Tests unitaires. Les tests unitaires constituent le plus grand pourcentage de tests lors du test de votre application Web. Il est toujours judicieux d'utiliser un mécanisme d'exécution parallèle pour gagner du temps.
Tests de fumée L'exécution de tests de fumée en parallèle est le meilleur moyen de couvrir les cas de test lors de l'envoi de correctifs à une application. Les tests de fumée automatisés sont un bon moyen de tester quotidiennement votre application Web.
Tests de régression. À l'ère Agile, le développement rapide nécessite de plus en plus de tests de régression, notamment pour le contrôle de version. La réalisation de tests de régression parallèles garantit que chaque assemblage suivant fonctionnera exactement de la même manière que le précédent, ce qui permettra d'adapter les tests dans un laps de temps nettement plus court.
N'oubliez pas les fuites de défauts - le nombre d'erreurs qui se produisent pendant le cycle de production, car elles n'ont pas été détectées lors des étapes précédentes des tests. Cela peut se produire en raison d'une mauvaise couverture des tests fonctionnels ou d'un environnement de tests médiocre.
Essayez d'utiliser la méthodologie de test shift-left . Cela implique l'implication des testeurs dans le développement. Les développeurs y participent également, effectuant des tests unitaires après le développement d'un module spécifique. L'idée principale est de trouver une erreur avant qu'elle ne se manifeste et finalement de réduire son coût.
Découvrez le nombre de cas de test en double et redondants
La duplication des cas de test est un facteur important qui peut entraîner une augmentation du budget de test. Il est inutile de développer à nouveau les cas de test que vous avez déjà utilisés précédemment pour un autre module. La réutilisation des cas de test accélère les tests.
Le calcul des coûts comprend:
- nombre de tests répétés;
- cas de test avec composants répétitifs;
- le temps nécessaire pour détecter et créer tous ces cas de test redondants;
- calcul du coût d'utilisation de l'outil de gestion des cas de test.
Recommandations pour réduire la redondance:
- Utilisez l'outil de gestion des cas de test pour trouver des scénarios en double. Vous pouvez utiliser ces outils pour stocker des tests avec des champs variables, qui peuvent ensuite être modifiés selon vos besoins. L'utilisation d'un tel outil aidera à détecter rapidement la redondance.
- Vous pouvez également développer des cas de test modulaires que vous pourrez réutiliser ultérieurement. Mettez en surbrillance les tests qui s'exécutent le plus souvent. Par exemple, la fonctionnalité de connexion et de déconnexion. Pour vérifier le bon fonctionnement de ces fonctions, vous devez effectuer une certaine gamme de tests. Concevez un scénario de test modulaire qui peut être utilisé pour chacune des nombreuses variantes de connexion et de déconnexion.
Effectuez des tests multi-navigateurs automatisés avec Selenium Grid On-Cloud sans problème
Le domaine impératif du calcul du retour sur investissement de l'automatisation des tests avec Selenium se situe autour de la méthode d'exécution. Selenium est connu pour être un cadre d'automatisation de test ouvert conçu pour faciliter le test des applications Web. Vous pouvez effectuer des tests automatisés avec Selenium soit localement, soit en utilisant l'un des outils cloud proposés par Selenium Grid.
Lorsque vous effectuez des tests automatisés avec Selenium dans votre propre infrastructure, vous devez considérer le budget pour faire évoluer votre suite de tests. Comment introduirez-vous de nouveaux appareils? Versions de navigateur plus récentes? Pour prendre en charge l'exécution parallèle, votre ordinateur aura besoin d'une puissance importante. Cependant, si vous testez avec la grille de sélénium dans le cloud , vous pouvez l'adapter à vos besoins de projet.
Le sélénium seul ne fournit pas d'outil de rapport. Les rapports de test peuvent être obtenus à l'aide de cadres d'automatisation de test basés sur le langage utilisé. Si vous utilisez la grille de sélénium de LambdaTest, vous pouvez obtenir des rapports via notre API sélénium ouverte .
Une autre différence clé entre les deux méthodes est le test parallèle. En utilisant Selenium Grid sur votre machine locale, vous pouvez exécuter des cas de test uniquement dans les navigateurs installés sur cette machine. Cependant, si vous utilisez une grille de sélénium basée sur le cloud, telle que LambdaTest, vous pouvez tester sur plus de 2000 navigateurs réels et leurs versions.
N'oubliez pas que si les tests parallèles ne sont pas effectués correctement, il existe un risque de fuite de défaut. Plus tôt vous trouvez une erreur, plus il est facile de la corriger.
Méthodes avancées de calcul du ROI
Maintenant que nous avons appris les bases, il est temps de parler des méthodes avancées utilisées pour calculer le retour sur investissement.
ROI efficace

source
Étant donné que les scénarios de test automatisés peuvent être exécutés toute la journée, le retour sur investissement est calculé en jours. En revanche, avec les tests manuels, seul le temps de travail du testeur est pris en compte, soit en moyenne 8 heures par jour. La formule qui sert de base au calcul du ROI:
- (a) Temps pour développer un cas de test pour l'automatisation = (Temps pour automatiser un test en heures
*
Nombre de cas de test pour l'automatisation *
Période de retour sur investissement) / 8 - (b) Délai d'exécution du scénario de test automatisé = (Délai d'exécution du test automatisé par test
*
Nombre de scénarios de test pour l'automatisation *
Période de retour sur investissement) / 18 - ( c ) Temps d'analyse de test automatisé = (Temps d'analyse de test
*
période de retour sur investissement) / 8 - (d) Temps de service pour test automatisé = (Temps de service
*
période de retour sur investissement) / 8 - (e) Temps d'exécution manuelle = (Temps d'exécution du test manuel
*
Nombre de cas de test manuel *
Période de retour sur investissement) / 8
Remarque: La période de récupération des investissements (période de retour sur investissement) est le nombre de semaines pour lesquelles le retour sur investissement divisé par 8 doit être calculé, se produit partout où le travail manuel est pris en compte. La division par 18 se produit partout où l'automatisation est utilisée.
Dans le calcul de l'efficacité, l'accent est mis sur l'efficacité des tests automatisés pour l'organisation. Le facteur monétaire est considéré comme secondaire, par conséquent, il n'est pas nécessaire d'inclure le salaire horaire pour le travail du testeur.
ROI pour réduire les risques
Il est censé calculer indépendamment les avantages de l'automatisation. Nous prendrons à nouveau un exemple avec des tests inter-navigateurs et en utilisant WebDriver pour comprendre comment cela fonctionne. Lors des tests manuels, toute l'équipe a passé beaucoup de temps à faire les mêmes choses encore et encore dans plusieurs navigateurs. Après avoir implémenté l'automatisation, les testeurs disposent de beaucoup de temps supplémentaire pour effectuer un travail productif, tel que développer des cas de test, analyser une application, etc. En bref, le retour sur investissement pour réduire les risques résout des problèmes qui n'avaient même pas été soulevés auparavant.
Avec l'introduction de l'automatisation, la couverture des tests augmente. Une dépendance totale aux tests manuels entraînera des erreurs inutiles qui peuvent déjà apparaître lors de la production. Cela entraînera une diminution de la qualité des produits et de l'efficacité des tests. Une telle perte possible est considérée comme un risque. Il n'y a aucun changement dans la valeur de l'investissement. Seules les pertes monétaires qu'une organisation peut rencontrer sans implémenter d'automatisation sont calculées.
Ce n'est qu'un emballage! (orig. C'est une enveloppe!)
Merci d'avoir lu, j'espère que vous avez acquis les connaissances nécessaires et une stratégie utile pour convaincre la direction utilisant le retour sur investissement de tester l'automatisation avec Selenium. Ne vous trompez pas en pensant que le retour sur investissement n'est qu'une comparaison du temps et de l'argent dépensés pour tester manuellement une application Web et des tests automatisés. Il existe de nombreux facteurs à considérer, et chacun d'eux a ses propres avantages et inconvénients. De plus, le retour sur investissement ne peut pas être calculé avec une seule formule. Il existe plusieurs méthodes, et vous devrez choisir ce dont vous avez besoin en fonction des exigences de votre organisation et de votre projet. Bonne chance dans les tests!