La firme allemande QA Systems, qui fournit des solutions de test et d’analyse de la qualité des logiciels pour applications critiques, met à disposition des développeurs la version 9.0 de son outil Cantata, un outil dynamique adapté aux tests unitaires et d’intégration. ...Cet outil permet aux développeurs de logiciels écrits en C et C++ de vérifier leur code critique sur une machine hôte ou sur une cible embarquée en automatisant les tests. Une solution qui s’intègre dans de nombreuses chaînes de développement, depuis les compilateurs jusqu’aux outils de gestion des exigences et aux systèmes d’intégration continue.
La version 9.0 de Canata, jugée majeure par la société, se dstingue par la prise en charge du processus dit de développement piloté par les tests (TDD, Test Driven Development) en automatisant la génération automatique des scripts de tests à partir des déclarations du code. TDD est une méthode de développement agile où l’accent est mis sur la conception des tests à partir des exigences fonctionnelles, au lieu de démarrer directement par l’écriture du code source. Selon QA Systems, contrairement à d’autres outils open source, utiliser Cantata dans le cadre d’un processus TDD améliore l’approche de test unitaire traditionnelle de type boîte noire, tout en garantissant l’accès aux fonctions de tests en “boîte blanche”. Une approche qui permet de générer des cas de tests exécutables (grâce à des bouchons de simulation) même si le corps du code source à tester n’est pas encore implanté. Une fois que ce corps du code a été finalisé, ces bouchons peuvent alors être retirés ou convertis en wrappers et les tests rejoués automatiquement afin de garantir la non-régression des résultats.
Au-delà, en raison d’une demande croissante des développeurs, la fonction AutoTest de Cantata a été améliorée pour la prise en charge du code C++. Avec comme objectif de générer automatiquement des cas de tests permettant d’obtenir 100% de couverture du code. Avec cette fonction, chaque cas de test comporte, lors de sa création, une description du chemin logique exercé dans le code, ce qui simplifie les efforts de maintenance ainsi que la traçabilité vers les exigences fonctionnelles.
Enfin, la fonction de couverture de code pour les variantes de configuration logicielle a été implantée pour gérer l’agrégation des données de couverture collectées à travers plusieurs processus de build. Un rapport textuel certifiable peut désormais être généré pour récapituler les directives du préprocesseur ayant été utilisées. A noter que cette couverture de code obtenue pour des variantes logicielles est, selon QA Systems, très pertinente dans le secteur automobile.
« En permettant la création des tests en amont de toute implémentation logicielle et en proposant AutoTest pour le langage C++, nous permettons aux utilisateurs de mieux s’inscrire dans des processus de vérification agiles, commente Pierre-Henri Stanek, responsable produit de Cantata. L’utilisation des macros du préprocesseur pour créer des variantes de code exécutable est comprise par l’outil, ce qui permet de proposer un mode d’analyse de couverture unique, ainsi que des rapports complets utilisables dans un processus de certification industrielle ayant pour objet des variantes du code source. »
Cantata est certifié de manière indépendante par l’organisme SGS-TÜV Saar GmbH pour tous les niveaux de criticité définis par les normes ISO 26262 (automobile), CEI 61508 (sûreté industrielle), CEI 62304 (équipements médicaux), EN 50128 (ferroviaire) et CEI 60880 (nucléaire).