Testing ou Tests structurés du Système d'Information

Ce n'est pas le seul résultat des tests qui prouve la qualité, mais la qualité des tests qui garantit les bons résultats

Situation actuelle

La qualité des logiciels génère un paradoxe. On sait que l’impact global sur le métier d’une anomalie détectée en production est deux fois supérieur au coût d’une anomalie détectée en recette, et quinze fois supérieur à celui d’une anomalie détectée en conception. Mais ces chiffres ne sont rien, comparés au coût de non-fonctionnement pour l’utilisateur et, globalement, pour l’activité de l’entreprise.

Pourtant, dans la majorité des projets, les 30 à 40 % du budget attribués aux tests diminuent au fur et à mesure de l’avancement du projet quand celui-ci prend du retard, car il est impossible de changer la date de mise en production.

Mais face à l’essor du nombre des projets et des utilisateurs, mettre en place une politique de test s’avère de plus en plus nécessaire. Un certain nombre de points restent toutefois à améliorer en termes d’évaluation des risques, de stratégie, de préparation et de coordination des tests. La nécessité de tester les logiciels de manière plus professionnelle nous conduit à mettre en œuvre de nouvelles méthodes.

La maturité actuelle des sociétés autorise la mise en place de structures dédiées à la gestion des risques via des organisations, de type « centres de qualification ». Ceux-ci visent à maintenir le référentiel du SI, à en vérifier chaque changement avant la mise en production, et à préparer l’exploitation.

Un projet à part entière, critique et complexe

La mise en place d’un processus de test défini par des objectifs permet le respect des budgets et des délais dans 75% des cas, la suppression de 95% des défauts lors des tests et enfin d’avoir une disponibilité des applications supérieure à 99%.

Tester n’est plus rechercher tous les défauts du logiciel en regard de ses spécifications, mais plutôt réduire le risque de défaillance du logiciel et accroître durablement sa qualité. Ce n’est plus le seul résultat des tests qui prouve la qualité mais la qualité des tests qui garantit les bons résultats.

Le test des applications est une activité critique et complexe. C'est un processus à la fois continu, tout au long du cycle de vie du logiciel, et répétitif lorsque celui-ci évolue. La complexité croissante des logiciels, des méthodes et outils de développement rendent toujours plus difficile la garantie d’une couverture exhaustive des tests. Pour toutes ces raisons, le test est devenu un métier à part entière, disposant de ses normes et méthodes (ISTQB® - International Software Testing Qualifications Board / TMAP® -Test Management Approach / TPI® - Test Process Improvement / TMMi / IEE829 / ISO-CEI 9126), de ses outils et d’une expertise spécifique.

L’approche originale consiste à ne pas mettre l'accent sur les notions techniques de couverture et d’exhaustivité des tests, pour se concentrer sur l’optimisation des risques au plus près du métier de l'entreprise. Aujourd’hui, cette activité demande de grandes capacités relationnelles, de conseil et d’expertise méthodologique. La qualification d’un logiciel est souvent l’occasion d’un rapprochement entre l’équipe de développement, la Maîtrise d’Ouvrage et l’équipe d’exploitation. Le « testeur » s'appuie sur une bonne culture générale, une bonne compréhension des risques métier, de la méthode lui permettant de faire de l’estimation de charge, de faire de la qualité et de tester. Il est également un manager pour l’organisation d’équipe, le pilotage et le sens de l’engagement. Il a le goût du conseil, il est a la recherche du consensus.

Côté technique, il n’est pas en reste puisqu'il connaît les principes généraux d’architecture, la cartographie applicative, de l’urbanisation et d’une manière plus générale la rationalisation du système d’information. Des formations à ce métier sont mises en place, et permettent de créer des profils et des compétences que sont, les « consultants testing » qui conduisent et coordonnent les opérations entre l’assistance à maîtrise d’ouvrage, la maîtrise d’œuvre et l’exploitation. Ils forment aux méthodologies de test et définissent des stratégies de test prenant en compte les risques métier. Les testeurs conçoivent les référentiels, les scénarios et les environnements de tests avec des compétences de développement, d’intégration et des connaissances sur les outils et dans le respect de la stratégie de test définie.