TECH NEWS
Les tests en mode agile, synonyme d’un résultat de qualité
En mode agile, mettre en place une stratégie de test adaptée est parfois complexe.
September 27, 2017
Dans le domaine du développement, l’Agilité permet d’accéder à la flexibilité et réactivité nécessaire au business actuel. En mode agile, mettre en place une stratégie de test adaptée est parfois complexe. Pourtant il apparait que cette phase est essentielle pour garantir la qualité d’un projet. Pour Jérôme Bully, Project Manager au sein de Fujitsu à Luxembourg, il est important que les tests dans un projet en mode agile soient intégrés au cœur du processus de développement.
Dans des projets de développement en mode agile, comment bien intégrer les enjeux de qualité ?
Il est essentiel de se doter, dès le démarrage du projet, d’une réelle stratégie de test. Elle doit définir, de manière globale, comment les tests vont être menés pour atteindre les objectifs définis. A travers elle, on planifie l’ensemble des tests, en une succession d’étapes, avec des objectifs clairs. La stratégie établit aussi les méthodes et les moyens pour parvenir à atteindre les objectifs. Cette stratégie doit être définie au début du projet, dès la phase d’initialisation, en s’appuyant sur les récits utilisateurs de haut niveau (fournis par le business). De ces récits utilisateurs sont déduites les exigences fonctionnelles qui guideront l’écriture des cas de test tout au long du projet. A chaque itération du projet, la stratégie de test est revue et ajustée en fonction du contenu de l’itération précédente (ce qui est terminé) et de celle à venir (ce qu’il reste à faire). De cette manière la stratégie est affinée tout au long du projet, pour la rendre plus précise, tout en gardant une certaine souplesse propre à l’agilité.
Comment se positionne le testeur ou l’équipe de test vis-à-vis des autres parties prenantes ?
Le testeur a une position centrale. Mais, plus précisément, il doit être proche du Product owner et de l’équipe de développement. De sorte que, pour chaque nouvelle itération, il dispose des informations qui lui permettent de définir de manière pertinente le type de cas de test et la manière de le réaliser.
Comment allier qualité et réactivité ? N’est-ce pas là le vrai défi ?
Bien qu’il puisse paraitre fastidieux, Il est important de ne pas voir les tests comme une lourdeur administrative. En les insérants dans le cycle de vie de chaque itération du projet, ils sont synonymes d’un résultat de qualité. Dans des projets en mode agile, les itérations sont souvent courtes et nombreuses. Pour assurer qualité et fiabilité à travers les différentes itérations et gagner un temps précieux, une partie des tests doit être automatisée.
On distingue deux grandes familles de tests automatisés, les tests de recette (liés à l’interface) et les tests unitaires (liés à la technique). Pour les tests de recette, un outil permettant d’enregistrer une suite d’actions exécutables à volonté est privilégié. Ainsi à la fin de chaque itération, on pourra à nouveau exécuter ces tests pour s’assurer qu’aucune régression fonctionnelle n’est présente.
Pour les tests unitaires, une plateforme d’intégration continue permet de garantir une meilleure conception de l’application. Les tests unitaires sont exécutés plusieurs fois par jour pour assurer la qualité, la conformité des nouveaux développements et la non-régression des fonctions du code.
Pouvez-vous nous expliquer comment Fujitsu met en œuvre ces recommandations ?
Supportée par une équipe d’experts en « Agile Testing », Fujitsu se présente comme un acteur répondant aux besoins toujours plus exigeants des projets digitaux des entreprises en pleine transformation. Grâce à l’utilisation de plateformes d’intégration continue, d’automatisation des tests fonctionnels et du savoir-faire méthodologique de ses équipes, Fujitsu dispose du savoir-faire pour délivrer des solutions de haute qualité proposant une approche de test adaptée à la réalité et au besoin d’agilité. Les experts de Fujitsu sont également à disposition des clients pour les aider à mettre en place des stratégies de tests et des outils adaptés à la réalité des projets en mode agile.