ELCA implémente une stratégie IT de test et de qualité pour l’OFROU
En collaboration avec ELCA, l’Office fédéral des routes (OFROU) a développé l’application VUGIS afin de réduire le nombre de blessés et de morts sur les routes suisses. Cette application permet d’identifier les zones particulièrement dangereuses en Suisse de façon à pouvoir prendre des mesures correctives et à en assurer le suivi. Très tôt dans le projet, l'accent a été mis sur la qualité et sur les tests.
Dans le cadre du programme d’action de la Confédération pour des routes plus sûres "Via sicura" et de ses bases légales, visant à renforcer la sécurité routière dans le but de réduire le nombre de blessés et de morts sur les routes suisses, l’OFROU a implémenté différents outils. L’application web VUGIS (analyse des accidents de la route avec un système d’information géographique), développée en collaboration avec ELCA, est l’un d’entre eux. Cette application est utilisée par les collaborateurs de l’OFROU chargés de l’analyse des accidents de la route, par la police cantonale ainsi que par les offices de ponts et chaussées, les villes et les communes. Suivant les données relatives aux accidents signalés par la police, les utilisateurs de VUGIS peuvent facilement calculer, analyser et visualiser géographiquement les "points noirs" et les tronçons critiques des routes suisses. Un puissant module de requête fondé sur des technologies de localisation intelligente constitue le cœur de VUGIS. L’application permet aux utilisateurs de réaliser des requêtes complexes et de générer, de manière simple, différents types de rapports en fonction du lieu ou d’autres caractéristiques.
Très tôt dans le projet, l'accent a été mis sur le processus de qualité et de test
Dès le début du projet, ELCA a pris la décision, conjointement avec l’OFROU, de mettre en oeuvre un système d’intégration continue permettant de construire, déployer et tester le système et de vérifier la qualité du code source à chaque modification de ce dernier. Une stratégie spécifique en termes d’assurance qualité et de tests a été mise en œuvre, tandis qu’un spécialiste ELCA dédié à la qualité a été nommé spécialement pour suivre le projet, du début à la fin. La stratégie de test du projet s’est particulièrement concentrée sur les tests automatisés : cela concernait non seulement les tests unitaires, mais aussi les tests d’intégration (services web), ainsi que les tests end-to-end (interface utilisateur), ce qui a permis d’assurer une large couverture fonctionnelle de la solution VUGIS et du code source pendant les « builds » de l’intégration continue.
Afin de pouvoir gérer les aspects particuliers du projet (vérification de cartes SIG, rapports PDF, etc.), un framework de tests spécifique a été implémenté dès le début du projet. S’appuyant exclusivement sur des outils open source (par exemple Selenium WebDriver, FitNesse et JUnit), ce framework était intégré au système d’intégration continue. L’équipe de développement a été formée à ce framework afin que chacun de ses membres soit en mesure de développer des tests automatisés pour la fonctionnalité qu’il codait. Les membres de l’équipe ont également compris comment rendre le système testable, un aspect crucial au moment de tester l’interface utilisateur.
Les tests n’ont pas été une charge, mais un investissement rentable
Les dépenses liées à la mise en œuvre de cette stratégie de test avec un degré très élevé d’automatisation ont été évaluées à moins de 20 % du coût total du projet. Elles ont été en grande partie compensées par les avantages qu’en ont retiré les membres de l’équipe de projet depuis le développement jusqu’à la maintenance du système : les erreurs et les régressions courantes liées aux modifications de code, de configuration ou d’interfaces se sont avérées nettement moins fréquentes que sur d'autres projets d’un niveau de complexité similaire. De plus, la plupart des tests automatisés peuvent être exécutés dans les environnements cibles, avant le déploiement d’une nouvelle version. Enfin, les efforts consacrés aux tests manuels ont pu être réduits notablement, apportant ainsi un réel retour sur investissement.