Les Tests Et Les Logiciels De Gestion De Tests
Le logiciel de gestion de tests open source, Salomé-TMF
Introduction
Salomé-TMF est un logiciel open source de gestion de tests. Il est multi-platforme, car il est entièrement écrit en Java et fonctionne sur la technologie Java Web Start et les applets. Ca permet ainsi d'accéder à ses fonctionnalités à partir d'un browser quelconque.
Ce logiciel, est l'un des seuls logiciels libres permettant de répondre à des fonctionnalités similaires à celles qui sont fournies par le logiciel "HP Test Director". La grande particularité de Salomé-TMF, en comparaison des autres logiciels libres, vient du fait qu'il propose une fonctionnalité de gestion des exigences.
De plus, sa modularité lui permet d'accéder à de nombreuses fonctionnalités telque :
- La gestion de tests unitaires de type JUnit.
- La gestion de campagnes de tests.
- La gestion d'exécutions de campagnes de tests.
- Le suivi de bugs (via le logiciel open source Mantis).
- La gestion des exigences.
- ...
Malgré une documentation complète, l'installation peut s'avérer fastidieuse. C'est pourquoi le chapitre suivant présente les points sensibles de l'installation. Tous les tests suivants ont été effectués sur la version 3 de Salomé-TMF et dans le browser Firefox V3.
Installation
Pré-requis
Pour fonctionner, Salomé-TMF nécessite l'installation de 2 logiciels :
- Un serveur Web tel que Apache pour rendre le logiciel facilement accessible.
- Un gestionnaire de base donnée MySQL, car les informations nécessaires au fonctionnement de Salomé-TMF sont stockées dans une base de donnée.
Sous windows, il est conseillé d'utiliser EasyPhp, qui regroupe un serveur Apache et un serveur MySQL, parce que leur utilisation est intuitive.
Sous linux, ces deux logiciels ont été installés normalement, à l'aide de paquet (apache2 - mysql).
Avant de lancer l'installation de Salomé-TMF, il est impératif de lancer au minimum le serveur MySQL, afin de ne pas bloquer l'accès à la base de donnée lors de sa création à la fin de l'installation.
Configuration lors de l'installation
Dans un premier temps, il faut télécharger le .jar d'installation disponible à l'adresse suivante : Lien du jar exécutable.
Une fois téléchargée, exécutez le fichier .jar et suivez les étapes de l'installation, détaillées ci-dessous :
- Choix de la langue
- Validation de la licence
- Choix du répertoire d'installation : Pour permettre un accès web au logiciel, il faut choisir le répertoire 'www' du serveur Apache.
- Choix des éléments à installer (par défaut)
Lorsque les paramètres sont renseignés, l'installation est effectuée et à la fin, une fenêtre de configuration s'affiche.
Les éléments présents sont laissés par défaut et les 3 champs suivants (entouré d'un cercle rouge) sont renseignés :
- Le nom de la machine (ou son adresse ip) dans laquelle sera installée la base de donnée (par exemple localhost)
- Le nom de la base de donnée (par exemple Salome_TMF_DB)
- Le nom de l'utilisateur de la base de donnée (par exemple Salome_user)
- Le mot de passe n'est pas obligatoirement renseigné.

Lorsque les paramètres ont correctement été saisis, il faut sauvegarder la configuration dans un fichier. Pour cela, il faut cliquer
sur le bouton "Sauvegarder fichier", un fichier sera créé, contenant la configuration de Salomé-TMF et son chemin d'accès sera visualisable
dans le premier champ, intitulé : "Fichier de configuration".
Une fois les paramètres enregistrés, il faut créer la base de donnée qui sera utilisée par l'application. Pour cela, il faut cliquer sur
"Créer la base de données" qui affichera la fenêtre ci-dessous. Le premier champ doit contenir un chemin d'accès vers un fichier contenant
les scripts de création de la base. En cliquant sur le bouton "Ouvrir un fichier", il faut sélectionner le script de création de la base de donnée
"create_salome_bdd_withoutref.sql" qui se trouve dans le répertoire "bdd_model" du répertoire d'installation de Salomé-TMF.
Ensuite, les autres valeurs sont laissées par défaut, comme le montre l'illustration ci-dessous et en cliquant sur créer base de donnée,
elle sera créée.
Lorsque le script de création de la base est exécuté, le gestionnaire de base de donnée doit être en cous exécution.

Si la configuration doit être modifiée, il faut exécuter le fichier "salome_tmf_tools.jar" se trouvant à la racine du répertoire d'installation.
Plugins
L'installation des plugins s'effectue à partir du répertoire "plugins" contenu dans le répertoire d'installation de Salomé-TMF.
Avant toutes opérations, téléchargez les plugins souhaités à l'adresse suivante : Lien vers la page de téléchargement des plugins
Lorsque les plugins sont téléchargés, il faut les placer dans le répertoire "plugins" se trouvant à la racine du répertoire d'installation de
Salomé-TMF. Puis, en utilisant le jar "pluginInstall.jar", il est possible d'installer les plugins en exécutant la commande suivante,
toujours depuis le répertoire "plugins" : java -jar pluginInstall.jar monplugins.zip (ou.jar)
Lorsqu'un plugin est installé, aucun browser ne doit être ouvert. Dans le cas où un browser n'aurait pas été fermé, il faut tous les fermer, puis les ré-ouvrir pour que le plugin soit bien vue par l'application. Dans le cas contraire, les plugins installés ne seraient pas pris en compte.
L'illustration ci-dessous montre le résultat console de l'installation du plugin simpleJunit. Il permet de gérer des tests unitaires Java de type JUnit.

Connexion au logiciel Salomé-TMF
Pour accéder à Salomé-TMF, il faut lancer un browser et saisir l'adresse suivante, dans le cas où le serveur apache est installé sur la machine :"http://localhost/SalomeTMF/"
Il est courant lors du chargement de l'applet dans le browser, qu'un écran gris apparaisse et que Salomé-TMF ne se lance pas. Cela peut venir de plusieurs problèmes, le plus courant étant un problème d'accès à la base de donnée. Par exemple, l'impossibilité de s'y connecter à cause d'une connexion non fermée. Dans ce cas, il faut repérer le processus occupant le port 3306 (port par défaut de mysql) et supprimer le processus afin de libérer le port.
Dans le cas ou cette solution ne fonctionnerait pas, reportez-vous dans les forums où de multiples discussions existent à propose de ce sujet. L'adresse se trouve dans la section du site "Références->Ressources->Forum"
Sur l'interface d'accueil, on a la possibilité d'effectuer les actions suivantes :
- Démarrer Salomé-TMF, en sélectionnant un projet spécifique et une authentification (login & mot de passe)
- Administrer Salomé-TMF : Cette catégorie permet de créer des projets, gérer les utilisateurs et gérer les sessions. Le mot de passe par défaut de l'administrateur de Salomé-TMF est "admin".
- Administrer un projet : Cette catégorie permet de gérer les utilisateurs du projet (individuellement et par groupe).
- Changer la langue de l'application

Lorsqu'un projet a été créé et associé à un utilisateur, on peut alors démarrer "Salomé-TMF". Une fois connecté, les opérations suivantes peuvent être effectuées. Pour chaque manipulation possible, les plugins nécessaires seront indiqués:
- La gestion de plans de tests : Partie de l'application qui contiendra tous les tests unitaires créés. (lors de l'utilisation de tests unitaires Java, type JUnit, le plugin "simpleJunit" sera nécessaire).
- La gestion des campagnes de tests (par défaut) : Organise les tests unitaires en campagne afin de permettre de les rejouer rapidement et de conserver un classement de tests. On peut ainsi valider des fonctionnalités de hauts niveaux.
- La documentation (plugin "helpgui") : Regroupe une documentation complète décrivant comment créer des tests unitaires, des campagnes de tests, utiliser la gestion des exigences, etc.
- La gestion des exigences (plugin "requirement") : Utilisé pour associer des tests à des exigences clientes. Après une exécution, un schéma permet de visualiser les exigences qui ont été validées (Tous les tests lui étant associés ont correctement été exécutés).
- L'exportation d'une documentation contenant un résumé des éléments associés aux projets (plugin "docXML"). C'est-à-dire les résultats d'exécutions des campagnes de tests, une description des tests affectés au projet, les résultats des exigences utilisateurs, etc.
- La gestion de bugs avec le logiciel Mantis (plugin Mantis). Ce plugin permet de jouer le rôle d'interface, entre Salomé-TMF et le logiciel Mantis. Il est donc nécessaire d'installer Mantis, pour accéder à ces fonctionnalités.
Les Tests Unitaires (plugins simpleJUnit)
Introduction à la gestion des tests unitaires dans Salomé-TMF
Pour intégrer des tests unitaires Java, il faut au préalable créer un JAR, qui contiendra les tests que l'on souhaite utiliser. Dans cet exemple, le JAR contiendra les tests unitaires Java ainsi que les sources Java sur lesquelles sont appliquées les tests. Dans le cas où le JAR ne contient que les tests unitaires, il sera nécessaire d'ajouter les sources dans un autre JAR qui sera ensuite ajouté dans "l'environnement" du projet (3ème onglet, Gestion des données).
Avant d'importer des tests unitaires, il est nécessaire d'avoir créé un "environnement", ce qui est possible à partir de l'onglet
"Gestion des données". Cette environnement permet entre autre de contenir les archives dans lesquelles sont définies les tests unitaires.
Ils ont d'autres fonctions, mais qui ne sont pas décrites dans ce site.
Version JUnit à utiliser lors de l'importation de tests unitaires
La version des JUnits utilisés est 3.x, car en 4.x les rapports d'exécutions ne sont pas correctement générés. Lors de l'exécution de plusieurs tests unitaires, une fenêtre est affichée indiquant quels tests ont correctement été exécutés. En version 4.x de JUnit, si une méthode de tests échouent, alors les autres méthodes de tests de la classe sont aussi marquées en échec (même si elles étaient passante).
Format des tests unitaires (En Java)
Lorsque les tests unitaires sont créés, il est nécessaire de précéder les méthodes créées par l'annotation "@Test", afin que les tests soient correctement perçues par Salomé-TMF.
Il y a deux manières d'intégrer des tests unitaires : Manuellement et Automatiquement
Lorsque l'on importe des tests automatiquement, la différence réside dans la gestion des liens, qui sont créés automatiquement. C'est pour
cette raison qu'il est nécessaire de mettre l'annotation "@Test" au-dessus de chaque méthode de tests, pour qu'elles puissent être
reconnues par Salomé-TMF.
Importer des tests unitaires Automatiquement
La vidéo ci-dessous montre comment importer des tests unitaires de façon automatique.
Dans le cas où des problèmes de lecture vidéo interviennent (auun lecteur affiché, leture d'une vidéo impossible, etc.), voici un lien vers le plugins windows media player.
Importer des tests unitaires Manuellement
La vidéo ci-dessous montre comment importer des tests unitaires de façon automatique.
Modifier un test unitaire
La modification d'un test unitaire déjà importé peut s'avérer dangereuse. En effet, la modification d'un test unitaire est une
opération délicate, nécessitant de suivre une méthode pas à pas.
La méthode ci-dessous a été trouvée en faisant de multiples tests ; et doit être suivie rigoureusement pour que les modifications soient
correctement appliquées.
Principe :
Lors de la création de tests manuels, on a vu qu'il était possible d'éditer le script manuellement. Pour modifier un test unitaire, nous allons
modifier ce script, mais pour cela, il faut mettre à jour le fichier .jar contenant les tests unitaires et qui est conservé dans
la base de donnée. Cela implique qu'il va falloire le supprimer, puis ajouter le nouveau.
- Modifier le fichier jar qui sera ensuite importé dans le projet. (Modification des tests unitaires et génération de l'archive ".jar")
- Supprimer l’ancienne archive de l’environnement de Salomé-TMF, ajouter la nouvelle et actualiser.
Pour cela, il faut aller dans l'onglet "Gestion des données->Attachement Projet", on peut alors apercevoir l'ancienne archive qui avait été importée. Sélectionnez-la, supprimez-la et rafraîchissez la fenêtre afin d'être certain que l'archive ait correctement été supprimée. - Fermer le browser et relancez-le.
- Ajoutez la nouvelle archive au projet.
- Mettez à jour chaque test unitaire qui avait pour cible l'archive précédemment importée. Pour cela, il faut éditer le script comme le montre l'image ci-dessous.

Les campagne de tests
Création d'une campagne de tests
Une campagne de test consiste simplement à regrouper des tests unitaires. Ainsi, comme le montre la vidéo ci-dessous, on ajoute les tests unitaires dans une campagne de test qui a précédemment été créée.
Exécution et visualisation du rapport d'exécution
Lorsque la campagne de tests a été créée, il est alors possible de lancer une exécution comme le montre la vidéo ci-dessous. On peut ainsi voir le rapport nous montrant les résultats de l'exécution de la campagne de test.
La gestion des exigences (plugins "requirement")
La gestion des exigences s'effectue grâce au plugin requirement. Le principe est simple, on créé des objets portant le nom de nos exigences, puis nous lions ces objets avec un ou plusieurs tests unitaires.
La 1ère vidéo montre la création des exigences, la seconde la création de liens entre les tests unitaires et les exigences et la dernière, présente le nouvelle affichage des résultats d'une exécution.
La gestion des exigences permet de s'assurer que chaque contrainte imposée par le client a correctement été respectée. De plus, comme indiqué dans le chapitre précédent (Les Tests), cela permet d'éviter d'avoir des tests en double, ou d'oublier d'en faire.
La gestion des anomalies via Mantis (plugins "mantis")
Installation de l'application et du plugin
Pour installer l'application, il faut la télécharger à l'adresse suivante :
Lien vers la page de téléchargement du site officiel de l'application MantisUne fois l'archive téléchargée et décompressée, il faut la déplacer dans le répertoire www du serveur web. L'installation est terminée ! En effet, cette application ne nécessite pas l'exécution d'un installeur. Le répertoire contient tous les éléments utiles à son fonctionnement.
Configuration :
Avant de commencer toutes manipulations de configurations, connectez-vous à la base de donnée mysql pour créer la base de donnée utilisée par le logiciel Mantis. Son nom par défaut est bugtracker.
Voici les commandes utilisées :- Pour se connecter à la base de donnée mysql : "
mysql -u root
" - Pour créer la base de donnée : "
create database bugtracker;
"
Lorsque la base de donnée a été créée, il faut se connecter à l'adresse suivante dans un browser : "http://localhost/mantis-1.1.4".
On accède alors à la page de configuration de Mantis, où l'on peut directement cliquer sur le bouton "Install/Upgrade Database"
en laissant les valeurs présentent par défaut. La base de donnée sera installée et configuré avec par défaut l'utilisateur root et
le mot de passe vide.
Une fois la configuration de la base effectuée, il faut ajouter l'utilisateur de Salomé-TMF à la base de Mantis.
La commande suivante est utilisée pour ajouter un utilisateur de Salomé-TMF. Dans ce cas le login est "joel" et le mot de passe "joeljoel".
GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON mantis_db.* TO salomeTMF_user@'%' IDENTIFIED BY 'salomeTMF_password'; - mantis_db : la base de données de Mantis. - salomeTMF_user : le login de l'utilisateur de salomeTMF. - salomeTMF_password : son mot de passe. Exemple : GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON Salome_TMF_DB.* TO joel@'%' IDENTIFIED BY 'joeljoel'; Ouvrir le fichier "CfgMantis.properties" sous le répertoire cfg/ du plugin Mantis et renseigner les variables suivantes : MANTIS_URL_DB : URL de la base de données Mantis. MANTIS_USER_LOGIN : Login de l'utilisateur distant de la base de données Mantis créé pour Salomé TMF. MANTIS_USER_PWD : Mot de passe de l'utilisateur de mantis. MANTIS_URL_HTTP : URL de Mantis. JDBC_DRIVER : Driver JDBC. Voici un exemple de configuration : MANTIS_URL_DB = jdbc\:mysql\://localhost/bugtracker MANTIS_USER_LOGIN = root MANTIS_USER_PWD = MANTIS_URL_HTTP = http://localhost/mantis-1.1.4 JDBC_DRIVER = com.mysql.jdbc.Driver
Pour finir, copiez le fichier "view_salome_bug_page.php" se trouvant dans le répertoire du plugin mantis de salomeTMF
dans le répertoire racine d'installation de mantis.
Ajoutez le projet et l'utilisateur de Salomé-TMF dans la base de donnée de Mantis tel que c'est indiqué dans l'illustration ci-dessous :

Déclarer un bug
Après une exécution, si des erreurs apparaissent, il est possible de les déclarer dans Mantis. La déclaration est rapide et intuitive, comme le montre la vidéo ci-dessous.
Modifier les paramètres ou l'état d'une anomalie déclarée
La modification d'une anomalie peut être nécessaire pour changer son état, par exemple de "non-résolu" à "résolu".
Il faut simplement récupérer l'anomalie et l'éditer.
La vidéo ci-dessous montre comment modifier une anomalie :