Comment améliorer la rentabilité des tests logiciels ?

La tendance est à la réduction des coûts et de la durée des tests applicatifs, en vue de restreindre le coût et la durée des développements logiciels.

Tests et réduction des coûts en question

Les tests identifient des défauts introduits lors de la conception, mais peu d'actions sont entreprises pour éviter ou limiter cette introduction de défauts, que ce soit dans les exigences (ambigües ou contradictoires) ou au cours du développement.

L'amélioration de la rentabilité des tests peut être appréhendée de deux manières : l'amélioration de leur propre rentabilité, ou l'extension à l'amélioration des processus de l'entreprise (processus de conception et de réalisation).

Il est aisé de démontrer que les tests réduisent les coûts pour l'entreprise si l'on envisage la suppression des tests : la non qualité (les défauts) engendre des coûts élevés, alors que la qualité améliore la satisfaction des clients.

 

La réduction des tests entraine à court terme une réduction des coûts et des délais, mais ces avantages sont perdus si l'on prend une vision à plus long terme : corrections, retests et tests de non régression, sans compter les impacts des défaillances, s'accumulent pour démontrer l'erreur de cette équation. 

 

Une manière habituelle de concevoir la rentabilité des tests est de se focaliser sur la réduction des coûts des tests et l'amélioration de leur efficacité.

 

Une telle équation pâtit cependant de la complexité croissante des logiciels à tester et du niveau de qualité recherché, croissant lui aussi.

Il est nécessaire de chercher à améliorer l'efficacité des tests, mais les gains potentiels seront limités. C'est une vision des tests en tant que commodité, au même titre que le chauffage, l'électricité ou le téléphone.

 

Comment les tests peuvent optimiser la rentabilité d'une entreprise

Les tests sont cependant capables de fournir des bénéfices nettement plus important à l'entreprise que de petites économies de bouts de chandelles, voyons comment ils peuvent augmenter la rentabilité de l'entreprise.

Pour correctement calculer une rentabilité, nous avons besoin de données, de mesures des coûts au sein de l'entreprise.  Or les entreprises - et les équipes de tests - mettent rarement en oeuvre des moyens de mesure suffisamment détaillés qui leur permettraient d'identifier des axes d'amélioration ou de prouver l'apport des tests en termes de rentabilité.  Pour remédier à cela, il est nécessaire de mettre en place des métriques adaptées.

 

Cela permettra de démontrer l'impact négatif sur la rentabilité - à court et à long terme - qu'ont des processus de développement inadaptés et non optimisés, des exigences ambigües ou une absence de revues et d'inspections efficaces.  L'absence de tels programmes de mesure permet de se complaire dans des préjugés ou une ignorance coupable.

 

La responsabilité des DSI et des responsables de qualité envers les actionnaires, les clients et les utilisateurs, implique la mise en place de processus d'amélioration continue, comprenant l'instauration de solutions à base de métriques (pertinentes et fournies en temps utile).

 

La présence de tels systèmes de mesure permet d'éviter les pièges de valeurs habituels que sont :

- Le piège de la visibilité, démontré par des phrases telles que "La performance des tests parle d'elle-même, nous  avons trouvé xx défauts, exécuté yy tests" et "c'est un coût et une étape obligatoire".

- Le piège des rôles, qui considère les services de l'entreprise comme des "clients" des tests, et induit une passivité des équipes de tests car "le client à toujours raison".

- Le piège des excuses, qui déporte sur les tests l'absence de qualité des processus de conception et de développement.

 

L'augmentation de la rentabilité des tests passe par la fourniture de services et des informations adéquats, à un prix compétitif.

Cela implique d'avoir mesuré les coûts et les avantages fournis par les tests, et aussi de rendre publique au sein de l'entreprise la liaison entre les coûts et leurs causes racine (coût par exigence ou par fonction, coût par version ou par composant, coût par anomalies, etc.).  Ces aspects et mesures doivent être publiés de façon à démontrer une amélioration continue de l'efficacité des tests.  Ces informations de coût et d'efficacité (de rentabilité en fait) permettront de démontrer une valorisation efficace des euros investis dans les tests.

 

La recherche continue d'améliorations de rentabilité permettra de focaliser les activités de tests (revues, vérification et validation, etc.) sur la fourniture de services adaptés aux besoins (revues d'exigences, de spécifications, d'architecture, de code) qui permettront d'éviter l'introduction de défauts dans les logiciels, d'évaluer le niveau de qualité requis et les investissements qu'il est nécessaire de consentir pour les atteindre, tout en continuant à mesurer les coûts. 


Il sera ainsi possible de clarifier la stratégie de réalisation et de tests des applications, de se focaliser sur l'adaptation des processus métier et d'identifier les métriques opérationnelles clé.  Les services de tests et le niveau de qualité seront ainsi adaptés aux réels besoins, et les coûts seront maîtrisés tout en étant directement liés à un niveau de satisfaction.

 

Comment générer plus de valeurs à partir des test logiciels

Il est cependant possible de générer encore plus de valeur à partir des tests : les informations recueillies peuvent aussi être utilisées pour fournir de l'aide à la décision (mise en production - ou non - d'un logiciel), améliorer les processus (de réalisation et de test) internes à l'entreprise, voire même d'informer en interne et/ou en externe afin d'optimiser ou de remodeler les interactions entre l'entreprise et ses clients ou partenaires.

 

La mise en oeuvre d'une telle politique d'améliorations continues n'implique pas un changement drastique des habitudes, mais la focalisation des acteurs vers les métiers de l'entreprise (pour démontrer en quoi les tests apportent une valeur réelle à l'entreprise), la mise en place de moyens de mesure répondant aux préoccupations métier (avec des métriques pertinentes, exactes, adaptées aux besoins et fournies à temps), des informations de coûts, délais, d'efficacité et de rentabilité des tests basées sur des critères compréhensibles par toutes les parties prenantes (management, direction, clients, utilisateurs, marketing, etc.).

 

Le test obtiendra ainsi ses lettres de noblesse au même titre que tous les services orientés vers l'amélioration du chiffre d'affaire de l'entreprise.


Bernard Homès bénéficie d'une expérience de plus de 30 ans dans le domaine de la Qualité et des Tests de logiciels. Au cours de sa carrière, il a occupé différents postes clefs à dimension internationale, notamment en tant que Directeur de Centre de Tests rattaché à la direction générale de SMC International. Depuis 1999, il exerce en qualité de Consultant Senior "Environnement International Qualité et Tests de Logiciels" pour le compte d'entreprises renommées : Eurocopter, Alcatel Space, TESSCO Ltd, Orange France ou encore CRIM. Après des études en informatique à l'ISIB Bruxelles et un Master of Sciences in Computer Information Systems, obtenu en Angleterre, Bernard possède les certifications Certified Tester Advanced Level (Full), ISEB/ISTQB, iSQI et Certified REQB Professional - Ingénierie des Exigences, GASQ (Allemagne).  Il exerce également en tant qu'intervenant en dernière année du Mastère, au sein de l'Ecole des Mines de Paris et de HEC, et a exercé aux Ecole des Mines de Douai, Nantes et Alès, et à l'ENST-B à Brest. 

Il dispense parallèlement de nombreuses conférences chaque année. Bernard Homès est impliqué au sein de différentes organisations professionnelles : membre du jury de l'Académie d'experts de France Télécom R&D, Président du groupe de travail et auteur du Syllabus Avancé de l'ITQSB, membre honoraire du bureau exécutif de l'IEEE France et membre fondateur de l'Association for Software Testing (USA), et du Global Association for Software Quality (GASQ). Bernard Homes est également l'auteur d'un ouvrage intitulé "Les Tests Logiciels - Fondamentaux" , publié en janvier 2011 par Hermès-Sciences et distribué par Lavoisier.