Améliorer l’efficacité de l’automatisation des tests logiciels

Résumé

Des tests logiciels efficaces peuvent permettre d’économiser de l’argent et des efforts en attrapant les problèmes avant qu’ils n’arrivent très loin dans le processus de développement du logiciel. Il est connu que plus longtemps un défaut reste non détecté, plus il est coûteux à réparer. Les tests constituent donc une partie essentielle du processus de développement. Ils peuvent également être coûteux et exiger beaucoup de travail, en particulier lorsqu’ils sont effectués à la main. On estime que l’effort total de test d’un logiciel consomme au moins la moitié de la main-d’œuvre globale d’un projet. L’automatisation peut rendre la plupart des tests effectués par une organisation plus précis et moins coûteux que si l’on se contentait de mettre plusieurs personnes dans une pièce et de leur faire exécuter des tests à partir d’un script papier. Elle permet également au personnel chargé des tests d’effectuer des tests plus spécifiques et plus approfondis que ce qui serait possible autrement. Cet article se concentre principalement sur les techniques d’automatisation des tests logiciels et sur la manière dont l’automatisation peut améliorer l’efficacité d’une équipe logicielle ainsi que la qualité du produit final.

Conclusions

Bien que l’automatisation de certains types de tests logiciels puisse augmenter considérablement la productivité et l’efficacité des projets de développement logiciel, il est rare que 100% des exigences puissent être couvertes par des tests automatisés. Certains tests sont encore mieux réalisés à la main car les testeurs humains sont bien plus flexibles et créatifs que n’importe quel programme informatique. L’automatisation permet aux testeurs humains d’approfondir le système en les dispensant d’effectuer des tâches répétitives pour lesquelles l’utilisation de l’automatisation est plus appropriée.

Avec un peu de coopération entre les développeurs et les testeurs, le code logiciel peut être rendu plus testable. Le codage pour la testabilité est une considération clé pour les programmeurs travaillant dans un environnement de développement Agile. Par exemple, dans mon exercice pratique avec le programme Recipe Box, j’ai démontré comment les composants de l’interface graphique qui sont déclarés comme étant des membres de classe privés peuvent quand même être testés avec un script de test maison sans violer les principes clés de la programmation orientée objet ou recourir à des solutions de rechange douteuses.

Le test automatisé de logiciels est un projet de développement de logiciels à part entière, et devrait être traité comme tel, afin d’inclure tous les processus habituels de développement de logiciels, tels que le contrôle de version, les revues de code, les normes de codage, et ainsi de suite. Des suggestions ont également été faites dans ce document sur la façon dont les coûts associés aux efforts d’automatisation peuvent être minimisés.

Il existe de nombreux outils préemballés pour aider les testeurs à créer des scripts de test. Certains d’entre eux, proposés par des vendeurs commerciaux, peuvent être coûteux, tandis que d’autres outils sont à code source ouvert et donc gratuits. En fait, la communauté des logiciels libres est à peu près aussi capable que les vendeurs commerciaux de produire des outils de test de logiciels de haute qualité.


L’intégralité de la thèse de maîtrise peut être consultée ici (PDF en anglais).

Thèse de maîtrise : Améliorer l’efficacité de l’automatisation des tests logiciels, décembre 2015 – David Wayne Jansing, Department of Computer and Information Sciences, State University of New York Polytechnic Institute, Utica, New York, Etats-Unis.

Nous utilisons des cookies "Matomo" pour l'évaluation anonyme de votre visite à note page web. Pour cela nous avons besoin de votre consentement qui est valable pour douze mois.

Configuration de cookies

Cookies fonctionnels

Nous utilisons des cookies fonctionnels pour garantir la fonctionnalité de base du site web.

Cookies de performance et de statistique

Nous utilisons Matomo pour analyser et améliorer notre site web. Des cookies permettent une collection anonyme des informations qui nous aident à vous offrir un visite clair et facile à utiliser de nos pages web.

Détails des cookies
Description Fournisseur Durée de vie Type But
_pk_id Matomo 13 Mois HTTP Contient un identifiant de visiteur unique et pseudonymisé interne à Matomo pour reconnaître les visiteurs qui reviennent.
_pk_ref Matomo 6 Mois HTTP Utilisé pour suivre à partir de quel site Web l'utilisateur anonymisé est arrivé sur notre site Web.
_pk_ses Matomo 1 Jour HTTP Le cookie de session Matomo est utilisé pour suivre les demandes de page du visiteur pendant la session.
_pk_testcookie Matomo Session HTTP Utilisé pour vérifier si le navigateur du visiteur prend en charge les cookies.
_pk_cvar Matomo 30 Minutes HTTP Stocker temporairement les données relatives à la visite.
_pk_hsr Matomo 30 Minutes HTTP Stocker temporairement les données relatives à la visite.