Le développement du logiciel GoFAST chez CEO-Vision est depuis le début structuré avec un ensemble d’outils en appui comme Git pour la gestion des sources, JIRA pour la gestion des bugs et des exigences, Jenkins pour l’automatisation du déploiement et bien d’autres.
Coté test cependant, ceux-ci se cantonnaient à un environnement d’intégration sur lequel des tests manuels et non exhaustifs étaient déroulés à chaque version, recensés dans un tableau Excel. Ces tests étaient complétés par des tests automatisés concernant la sécurité (scan de vulnérabilité, …).
Avec l’augmentation du nombre de clients, la multiplicité des environnements (navigateurs, OS, …), un taux de bugs assez importants non détectés avant le passage en production obligeant la création de HOTFIX, il était devenu de plus en plus difficile d’avoir une vue précise des résultats des tests en phase de préproduction. Avec un client « sponsor » pour une meilleure industrialisation, nous nous sommes attaqués à ce chantier à l’été 2018.
Ceci a tout d’abord pris la forme d’une recherche d’outil permettant d’assurer au mieux les tests :
-
Etre simple d’utilisation quelque soit le profil de l’utilisateur (technique ou métier) afin de ne pas perdre de temps
-
Etre extensible (API, …), notamment pour pouvoir dialoguer avec plateforme d’intégration continue et accepter l’automatisation des tests dans un 2ème temps
-
Etre intégré à JIRA ou pouvoir s’y intégrer (création de bugs dans l’outil vers JIRA)
-
Etre abordable financièrement
-
Etre ouvert : pouvoir importer et exporter facilement des scénarios
-
Produire des rapports lisibles par tous
Nous avons donc testé des outils intégrables à JIRA comme XRay ou Zephyr et d’autres externes à JIRA comme Inflectra, TestRail et Practitest.
Globalement la couverture fonctionnelle de ces outils est assez proche. Cependant la facilité d’utilisation et la facilité d’import/export nous a permis d’assez rapidement de sélectionner TestRail très nettement au dessus.
La première étape a été d’importer nos « Test cases » à partir du fichier Excel. Ces « Tests cases » ont été ensuite ventilé dans des « Tests suites » regroupant tous les tests qui doivent être exécutés en même temps et qui correspondent généralement à un périmètre fonctionnel bien précis, dans notre cas :
-
GoFAST « Core » (les fonctionnalités communes à toutes nos versions)
-
GoFAST « Enterprise » (les fonctionnalités spécifiques à cette version)
-
GoFAST « Community » (les fonctionnalités spécifiques à cette version)
-
GoFAST « Spécifique Client A » (les fonctionnalités spécifiques au client ayant une GoFAST spécifique)
-
Mobile & Tablette
-
Tests techniques (architecture, …)
Ces Tests Suites sont ensuite regroupés dans des « Tests Plan » et exécutés :
-
A la première installation chez un client
-
A chaque lancement d’une nouvelle version majeure ou intermédiaire
A noter que ces « Tests Plan » peuvent être exécutés pour tout couple Navigateur / OS. Néanmoins en test « manuel » il est trop couteux de le faire.
Lorsque des bugs sont détectés, ils peuvent être automatiquement créé dans JIRA à partir de l’outil TestRail donnant immédiatement une visibilité à l’équipe de développement. Ceux-ci sont corrigés et le « Test Case » concerné relancé une fois le correctif produit.
A noter également que les scénarios de tests sont ‘vivants’. Nous les enrichissons donc au fil du temps.
Bien sûr passer des centaines de tests est couteux, néanmoins nous avons rapidement vu le nombre de bugs (nouveau ou de type regression) arrivant en progression baisser et donc moins de correctif à produire en urgence et un « ressenti qualité » meilleur auprès de nos utilisateurs et clients.
La prochaine grande étape pour 2019 sera l’automatisation des tests dans TestRail avec un outil qui simule la navigation utilisateur dans le navigateur, Selenium.