Comment mener une stratégie de test agile à grande échelle ?

Réaliser une stratégie de test dans le cadre d’une migration d’outil

Les grandes entreprises disposent d’un SI composé d’applications métier structurantes embarquant parfois des milliers d’utilisateurs différents, répartis dans plusieurs filiales, pays ou directions.

La montée de version ou la migration parfois imposée de ces dernières implique de réaliser une stratégie de test à grande échelle afin de réussir la mise en production tout en assurant une continuité de services auprès des équipes opérationnelles.

Le cabinet de conseil et d’intégration AssetValue Consulting est spécialiste des solutions eFront. Suite à de récentes annonces de l’éditeur, les entreprises utilisatrices doivent réaliser une montée en version de l’application Front Invest Alternative afin de s’aligner avec le nouveau standard.

Dans ce cas de figure, les équipes mobilisées doivent souvent réaliser une campagne de test de non-régression de grande ampleur, pouvant intégrer plus d’un millier de cas de test à programmer, rédiger et déployer.

Ce travail de taille peut être assuré directement par la DSI, ou confié à un partenaire de confiance dans le cas d’un manque de disponibilité. Il est alors pertinent de choisir un prestataire qui dispose d’une double compétence fonctionnelle et technique.

Les différents types de test

Plusieurs typologies de test peuvent être réalisés par les équipes dans le cadre d’une migration d’un outil. Deux types de test existent :

  • Les tests unitaires sont les plus simples à réaliser et doivent pouvoir s’exécuter rapidement. L’objectif est de vérifier si la montée de version a des impacts sur les fonctionnalités existantes de l’outil.
  • Les tests métiers de bout en bout impliquent de tester l’ensemble du processus métier afin d’identifier les points de blocage et les écarts entre l’interface, le développement et les spécifications.  Chaque équipe métier utilise des fonctionnalités et des modules qui répondent à des besoins spécifiques d’où l’importance de la bonne compréhension de leur processus métier (revue des guides utilisateurs des équipes Middle Office / Transfer Agent).

Les étapes clés pour réussir sa stratégie de test

Plusieurs étapes sont essentielles pour construire, programmer et exécuter une stratégie de test dans les meilleures conditions. Effectivement, le non-respect de ces phases peut entraîner des risques.

Les étapes d'une stratégie de test

Les étapes à suivre pour réussir sa stratégie de test :

  • Initialisation : la réunion de lancement du projet permet d’identifier les interlocuteurs clés, réaliser un macro-planning et estimer la charge de travail (durée, contraintes, ressources, etc). Certains aspects essentiels à la réussite du projet sont à aborder (disponibilité des métiers, outils à utiliser, documentations existantes, accès, etc).
  • Elaboration de la stratégie de test à travers la définition de :
    • Périmètre de la recette,
    • Prérequis de la recette,
    • Documents applicables et de références,
    • Acteurs de la recette,
    • Objectifs généraux,
    • Outils et environnements,
    • Planning de la recette,
    • Contraintes et risques,
    • Livrables attendus.

Il faut alors s’accorder ensemble sur la méthodologie à appliquer ainsi que les priorités (certains cas de test prioritaires sont essentiels à la montée de version, d’autres peuvent être classés en priorité 2 ou 3 selon leur criticité, etc). Cette feuille de route de test doit alors être validée par les équipes métiers et IT.

  • Rédaction des cas de test : cette étape fait suite à une série d’ateliers et une prise de connaissance de la documentation existante (spécifications, user guide…). Il n’est pas rare de multiplier les échanges pour bien appréhender le contexte, et éviter les écarts. Les scénarios de test sont alors rédigés et loggés dans un outil de Test Management, tel que ALM QC, Zephyr for JIRA ou Xray for JIRA.
  • Exécution des campagnes de test d’intégration : une fois la feuille de route validée, les tests peuvent alors être effectués sous forme de campagnes. Cette étape implique un suivi régulier des états d’avancement, des incidents, des anomalies, etc.
  • Recette métier : cette étape est critique dans le cadre d’une stratégie de test. Elle implique de mobiliser les équipes métiers en toute agilité afin de tester les scenarii qui leur ont été attribué en fonction de leur disponibilité.
  • Mise en production et déploiement: il s’agit de la phase finale du projet, à savoir la fin de la phase de recette et le déploiement officiel de la solution / nouvelle version de l’outil.

Les pièges à éviter pour réussir sa stratégie de test

Qualité de la documentation

La qualité de la documentation est un aspect essentiel à la réussite d’une stratégie de test. Certaines évolutions se retrouvent parfois non documentées, pendant plusieurs années, et complexifient le projet de migration. Il est donc important d’assurer que les équipes puissent mettre à jour les spécifications. Il en est de même avec la reprise des tests historiques qui doivent être conservés afin de faciliter l’élaboration de la roadmap de test.

Délimiter le périmètre au début du projet

Lorsque le périmètre de l’application et le volume de cas de test sont importants, il est essentiel de s’accorder dès la phase d’initialisation sur les chantiers prioritaires. Cette étape doit être réfléchie et valider afin de sécuriser les délais, l’organisation du plan de charge et l’estimation des ressources.

Par ailleurs il est important de respecter chaque phase du projet. Le risque consiste à vouloir réduire le timing en parallélisant plusieurs étapes. Par exemple, il ne semble pas pertinent de rédiger, valider et exécuter simultanément les cas de test car cela peut engendrer des erreurs.

Implication du métier

Il est essentiel de mobiliser les utilisateurs clé de chaque équipe dans le projet afin d’assurer que la recette métier soit réalisée en temps et en heure. Dans le cadre d’une campagne de recette de grande ampleur, il est important de :

  • Identifier des sachants parmi les métiers et établir un contact direct avec eux,
  • Les sensibiliser dès le début du projet à travers des réunions de préparation,
  • Sécuriser du temps et des ressources pour les phases de recette,
  • Réaliser des points hebdomadaires pour évaluer l’avancement et alerter sur les points bloquants,
  • Réaliser des formations sur les outils de Test Management, si nécessaire.

Par ailleurs, il sera toujours plus complexe de réaliser des tests sur un environnement de recette dans lequel le jeu de donnée est anonymisé. Les références métiers se perdent, créant des confusions et des lenteurs dans le processus.

Les méthodes agiles permettent d’accélérer la stratégie de test

Dans une stratégie de test comme dans tout projet informatique, il est important d’instaurer une comitologie claire pour assurer le bon avancement du projet et désamorcer les points bloquants.

L’organisation d’un daily meeting entre les équipes de test et les équipes informatiques de l’entreprise est important pour suivre l’état d’avancement du projet et anticiper les points de blocage.

La mise en place d’un point de suivi hebdomadaire auprès des interlocuteurs clés du projet permet de dresser le bilan de la semaine, d’aborder les sujets critiques et de réaliser des arbitrages.

Un comité de pilotage mensuel permet de réunir les sponsors métiers et les interlocuteurs clés du projet afin de suivre l’état d’avancement auprès des métiers. L’objectif consiste à les impliquer dans la durée, les rassurer quant à l’avancée du projet et appréhender les impacts opérationnels sur le métier.

La mise en place d’un outil de Test Management permet de faciliter la gestion de projet. En termes de tendance, les outils tels que « Zephyr for JIRA » ou « Xray for JIRA », plus intuitifs et accessibles, sont plébiscités par le marché. Il est également possible de les interfacer avec les outils de gestion de projets existants de l’entreprise.

 

Hotmane Touzri - Senior Business Analyst – AssetValue Consulting

Par Othmane Touzri
Senior Business Analyst chez AssetValue Consulting