La phase de tests est importante pour un logiciel, surtout dans le cas de composants objets, comme ceux écrits en C++. On distingue la white box qui vérifie le comportement interne du code, la black box, qui s’occupe uniquement du comportement des interfaces et, enfin, les tests de non-régression, qui vérifient que les modifications apportées au code n’ont pas introduit d’erreur dans celui existant. Ces trois aspects du test sont couverts par C++Test, l’outil de ParaSoft.
Il est nécessaire de faire des plans de tests
Nous avons mis en ?”uvre ce logiciel sur un Pentium II à 400 MHz doté de 256 Mo de mémoire fonctionnant avec Windows 2000 et Microsoft Visual C++ 6. 0 SP3, que l’outil de ParaSoft complète par des modules additionnels. L’installation se déroule sans problème et une nouvelle barre d’outils appara”t dans Visual C++. Pour vérifier le comportement de ce logiciel, nous lui avons fait analyser un projet représentant 36 000 lignes de code C/C++. L’analyse du code source, exécutée par un programme écrit en Java, est d’une lenteur désespérante. Au bout d’une demi-heure, l’application s’est même arrêtée, provoquant une erreur système dans la machine virtuelle Java. Pour continuer, nous nous sommes repliés sur un projet comportant huit classes et un peu moins de 700 lignes. La génération automatique des tests prend alors plus de 20 minutes pour nos huit classes et consomme plus de 36 Mo de mémoire vive.
Voilà pour un projet complet. Dans le cadre d’un test unitaire (un module en particulier), le logiciel se montre beaucoup plus rapide. Les différents paramètres se voient attribuer une valeur aléatoire. Un éditeur de scénario permet de définir, de manière assez laborieuse, des valeurs spécifiques et plus plausibles, qui seront passées à chaque test. Après l’exécution des tests, la navigation dans les résultats est aisée et les renseignements fournis sont très précieux pour améliorer la qualité des sources et, donc, du logiciel. Pour chaque fonction ou méthode testée, C++Test indique le taux de réussite et d’échec, ainsi que les paramètres passés à la fonction. Tel qu’il est conçu, l’outil de ParaSoft est donc mieux adapté à la réalisation de tests unitaires de composants C++ qu’à la validation globale d’un projet important.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.