Comment améliorer la qualité de la relation entre métier et informatique grâce aux nouvelles pratiques du test
Bruno LEGEARD Co-fondateur et Consultant scientifique à Smartesting, Professeur de Génie Logiciel à l'Université de Franche-Comté Institut FEMTO-ST / CNRS.
Bruno a une expérience de plus de 15 ans sur les questions d'ingénierie des exigences, de génération de tests et de pratiques agiles de développement. Il est co-auteur des ouvrages «Practical Model-Based Testing» (Morgan & Kauffmann 2007) et «Industrialiser le test fonctionnel» (DUNOD – 2e édition 2011). Il est membre du CFTL – Centre Français des Tests Logiciels, certifié ISTQB et pilote l'observatoire CFTL des pratiques du test logiciel.
La dernière édition de l'Observatoire du CFTL1 a montré qu'en 2013 l'alignement de l'IT avec les besoins Métier fait partie des préoccupations majeures et des axes de progrès recherchés par les responsables des systèmes d'Information. Comment améliorer la relation entre Métier et DSI pour plus d'efficacité collective ? Comment faciliter le passage de l'IT à plus d'agilité et de sécurité ?
Les nouvelles pratiques du test, qu'elles soient celles du Model-Based Testing (MBT) ou de l'Acceptance Test Driven Developement (ATDD), placent aujourd'hui le test au cœur des enjeux de la transformation de l'IT. Dans ces deux pratiques, l'expression de besoins est capitalisée pour la production de tests d'acceptation et pour guider les développements. Ces approches permettent d'accélérer le cycle des itérations de développement et de maintenance du logiciel tout en sécurisant la mise en production.
Model-Based Testing – Générer les tests à partir des processus et règles métier
L'analyse des besoins (cas d'utilisation, processus et règles métier) et les tests d'acceptation sont deux faces d'une même monnaie que le MBT réconcilie : les tests sont créés et maintenus à jour de façon automatique à partir de la formalisation des exigences au travers de processus métier, de règles métier ou de scénarios d'utilisation. Ces éléments deviennent un patrimoine commun, vecteur d'échange entre les analystes métier et les analystes de test.
Cette modélisation est souvent portée par l'équipe de test, qui objective ainsi et enrichit son dialogue avec les analystes de test. Comme expliqué par Jean-Paul Boursier, Responsable validation du SI Opérateur et du SI Décisionnel de SFR, lors de la Journée Française des Tests Logiciels2, cette approche crée un véritable cercle vertueux pour articuler les expressions des exigences, les tests fonctionnels et les tests d'acceptation. Il constate que les 170 modèles métier à jour et maintenus par la TRA en relation avec les métiers ont permis un gain de 10% sur le pilotage de son projet.
Comme le montre la conférence UCAAT, qui cette année met le MBT à l'honneur, ces techniques se diffusent rapidement dans tous les secteurs de l'IT, pour les grands systèmes d'entreprise, permettant de produire et maintenir les tests d'acceptation, fonctionnels et de bout en bout, ou chez les éditeurs des applications web grand public et les éditeurs de progiciels pour sécuriser le passage en production. L'approche MBT est utilisée pour produire des tests d'exécution manuelle ou des tests automatisés, en fonction du système ciblé.
Acceptance Test Driven Development – Piloter les développements par les scénarios de test d'acceptation
L'objectif est le même que précédemment : fonder la coopération entre les métiers et l'IT sur les scénarios d'acceptation. La différence est sur le degré d'automatisation, plus de génération de tests dans la mise en pratique de l'ATDD, mais une implication des métiers dans la définition et la mise à jour des scénarios d'acceptation. Cette pratique s'appuie sur des plateformes qui permettent l'expression des scénarios d'acceptation dans un langage orienté métier (un DSL – Domain Specific Language), traduisant les besoins et constituant le juge de paix des développements réalisés. Ces scénarios s'appuient sur une bibliothèque d'action métier, qui permet de structurer le patrimoine de test et de faciliter son automatisation.
La plateforme ATDD devient le vecteur commun entre les métiers et l'IT pour assurer que le logiciel produit correspond aux besoins exprimés. Car en effet, quelle est la pertinence d'une exigence métier si elle n'est pas testable, pas testée ou qu'elle ne fait pas l'objet d'un scénario ad-hoc pour en vérifier la bonne implémentation ?
Le test au cœur des enjeux de la transformation de l'IT
L'IT connaît actuellement une profonde phase de transformation, portée par les mutations technologiques fortes de l'arrivée du Cloud, de la multiplication des terminaux mobiles, de la complexité grandissante des systèmes
Le test d'acceptation, fonctionnel, de bout en bout se situe au cœur de la sécurisation d'une mise en production que l'on souhaite de plus en plus rapide, itérative et incrémentale. L'évolution des pratiques, apportée par le Model-Based Testing et l'Acceptance Test Driven Development, permet aujourd'hui de supporter une démarche collaborative entre Métier et DSI pour se doter d'artefacts communs pour la production et la maintenance de ce patrimoine de tests.