Beruflich Dokumente
Kultur Dokumente
Introduction
SALOM offre des fonctionnalits de cration de tests (suivant les concepts de la norme ISO9646) et d'excution de ces tests. Les tests, qui peuvent tre manuels ou automatiques, sont organiss en campagnes et excuts, avec diffrents jeux de donnes, sur des environnements diffrents. En outre, leur excution est entirement automatisable grce l'intgration d'un langage de scripts fond sur JAVA, disponible avec l'un des plug-ins existants.
Introduction o Concepts de base Exigence Test Suite de tests Famille de tests Jeu de donnes Campagne de tests Environnement Excution Anomalie o Gestion des exigences o Organisation et description des tests o Cration des campagnes de test o Excution des tests o Gestion des anomalies
Concepts de base
Exigence
C'est la description fonctionnelle ou non fonctionnelle d'un lment de ce que doit faire un systme (rponse un besoin MOA).
Test
Un test est l'excution d'un programme automatique ou d'une squence d'actions manuelles sur un environnement, pour vrifier qu'il rpond ses spcifications, en identifiant les diffrences entre les rsultats attendus et les rsultats obtenus.
Suite de tests
C'est un ensemble logique de tests.
Famille de tests
C'est un ensemble de suites de tests.
Jeu de donnes
C'est un ensemble de paramtres valoriss.
Campagne de tests
C'est un ensemble de tests destins tre excuts avec diffrents jeux de donnes et dans diffrents environnements.
Environnement
C'est un ensemble d'lments dcrivant un environnement sous test (cible d'excution des tests) :
script d'initialisation : excut avant le lancement des tests ; script de restitution : excut aprs le lancement des tests ; ensemble de paramtres valoriss : utiliss par les scripts ou les tests euxmmes.
Excution
C'est l'ensemble "Campagne de test", "Jeux de donnes", "Environnement" qui peut tre lanc et dont les rsultats sont archivs et consultables.
Anomalie
Une anomalie (ou bug) est le constat d'une raction inattendue ou d'une situation non dsire du systme.
Une fois l'ensemble des tests dcrit dans l'outil, il est possible de dfinir des campagnes de tests (Figure ). Une campagne de tests reprsente un ensemble de tests possiblement htrogne vis--vis des notions de famille et de suite, que l'on destine tre excut sur des environnements sous test, partir de diffrents jeux de donnes.
), il faut :
accder la page d'accueil en tapant l'URL dans son navigateur ; slectionner l'onglet "Admin Salom_TMF" ; slectionner le login et mot de passe de l'administrateur de Salom (par dfaut le mot de passe est "admin"); cliquer sur le bouton "Admin Salom_TMF".
saisir l'ancien mot de passe saisir le nouveau mot de passe confirmer le nouveau mot de passe valider
cliquer sur le bouton "Crer"; slectionner l'administrateur de projet dans la liste droulante; spcifier le nom et la description du projet; valider
Crer un projet partir d'un projet existant Il est aussi possible de crer un projet par import de donnes d'un projet existant. La
cliquer sur le bouton "Crer"; slectionner l'administrateur de projet dans la liste droulante; spcifier le nom et la description du projet; cocher la case qui suit le texte "Copier partir d'un projet existant"; slectionner le projet importer dans la liste "A partir du projet"; slectionner les donnes du projet importer parmi : o les suites de tests o les campagnes de tests o les utilisateurs o les groupes valider
cliquer sur le bouton "Modifier"; saisir le nom et/ou la nouvelle description du projet; valider
Geler un projet Cette fonction a pour but de conserver un projet dans la base sans qu'il soit possible de l'utiliser.
slectionner le projet supprimer dans la liste; cliquer sur le bouton "Supprimer"; confirmer la suppression
Figure: Vue de la gestion des utilisateurs Crer un utilisateur Pour crer un utilisateur (Figure
), il faut :
cliquer sur le bouton "Crer" saisir les champs Login, Nom, Prnom, Email et Mot de passe (le champ Tlphone est facultatif) valider
Figure: Cration d'un utilisateur Modifier les informations d'un utilisateur Pour modifier les informations d'un utilisateur, il faut :
Changer le mot de passe d'un utilisateur Pour changer le mot de passe d'un utilisateur, il faut :
slectionner un utilisateur dans la liste cliquer sur "Changer le mot de passe" valider
) , il faut :
accder la page d'accueil en tapant l'URL dans son navigateur ; slectionner l'onglet "Admin a project" ; slectionner un projet existant ; slectionner le login et mot de passe de l'administrateur du projet ; cliquer sur le bouton "Admin Project".
Spcifier les groupes auxquels appartient l'utilisateur Pour grer l'appartenance de l'utilisateur slectionn des groupes, il faut utiliser les boutons d'ajout ou suppression de groupes prsents dans la partie "Proprit" de la fentre. Ajouter ou supprimer un utilisateur Pour ajouter un utilisateur au projet, il faut (Figure
):
):
slectionner un utilisateur dans la liste ; cliquer sur le bouton "Supprimer" ; confirmer la suppression.
) permet de :
consulter la liste des groupes existants ; consulter et modifier la liste des utilisateurs appartenant un groupe ; voir les permissions associes un groupe prdfini ou propre au projet ; modifier les permissions associes un groupe propre au projet ; crer un groupe propre au projet.
Crer un groupe propre au projet Pour crer un groupe propre au projet il faut (Figure
):
cliquer sur le bouton "Nouveau" ; spcifier le nom et la description du groupe ; cliquer sur "Valider".
slectionner le groupe dans la liste des groupes existants ; cliquer sur "Modifier" ; prciser les droits de "ajout/modification/suppression" de suites de test ; prciser les droits de "ajout/modification/suppression/excution" de campagnes de test ; cliquer sur "Valider".
Utilisation de Salom
Gestion des exigences Gestion des tests Gestion des campagnes Gestion des environnements Gestion des paramtres Gestion des anomalies L'indicateur ICAL
Plugin Requirements
Mika l Marche,Jean-Marie Hallou t
Le plug-in Requirements permet de g rer dans SALOME-TMF, au sein d'un projet, un repository d'exigences de validation. Ces exigences peuvent tre associ es un ou plusieurs tests, et ainsi, les campagnes sont implicitement (ou explicitement) li es v rification de la satisfaction des ces exigences.
Couverture des exigences par les tests Couverture des exigences par les campagnes Satisfaction des exigences vis- -vis d'une ex cution de campagne G n ration du dossier des tests o Lancement du module o La cr ation du dossier des tests o Retirer les liens exigence-test o Quelques r gles de gestion
Le repository d'exigences est formalispar un arbre infini, tel que chaque n ud de cet arbre est une famille d'exigences et chaque feuille une exigence. Les exigences sont identifi es par un nom unique auquel il est possible d'associer une description textuelle, et un ensemble d'attachements (Fichier ou URL).
Ajout/Suppression d'exigences
L'ajout (resp. la suppression) d'exigences est r alis e partir des boutons Ajouter Exigences pour les feuilles / Ajouter Branche pour les noeuds (resp. Supprimer Exigences ). La suppression d'une exigence d truit les liens entre l'exigence supprim e et les tests qui la couvrent, mais les tests sont conserv s.
ouvre une fen tre de s lection (Figure :2) qui contient dans sa partie gauche, les exigences du projet couvertes par des tests, et dans sa partie droite les exigences couvertes par la campagne. Pour ajouter (resp. supprimer) une association, utiliser les boutons -> (resp. <-). L'utilisation de cette fonctionnalit par cons quence de remplir la campagne de test avec uniquement tous les tests qui couvrent les exigences s lectionn es. Attention, l'utilisation de cette fonction dans une campagne contenant des tests, peut avoir comme cons quence, la suppression de test dans la campagne, si les tests ne couvrent pas les exigences s lectionn es.
1. Il permet de g n rer le dossier des tests partir du dossier des exigences. Les exigences feuilles c'est dire les exigences feuilles g n rent chacune un test. Suite cette g n ration, le lien entre l'exigence et le test est automatiquement ajout 2. Il permet de retirer des liens aux tests.
tant donnque le niveau d'arborescence des exigences n'est pas limit e et que le niveau d'arborescence des tests est limit3 niveaux (famille, suite, test), un algorithme d'aplatissement est utilis . Toute exigence feuille g n re la cr ation d'un test avec son ascendance (famille,suite).
L'algorithme d'aplatissement se pr sente comme suit : Si le niveau d'une exigence est gal 1 :
le nom de la famille correspond au nom de la famille par d faut. Le nom de la suite correspond au nom de la suite par d faut. Le nom du test correspond au nom l'exigence associ e de niveau 3 pr fixpar 'RT_F'.
le nom de la famille correspond au nom de la branche de niveau 1 pr fixpar 'RF_'. Le nom de la suite correspond au nom de la suite par d faut. Le nom du test correspond au nom l'exigence associ e de niveau 3 pr fixpar 'RT_'.
le nom de la famille correspond au nom de la branche de niveau 1 pr fixpar 'RF_'. Le nom de la suite correspond au nom de la branche de niveau 2 pr fixpar 'RS_'. Le nom du test correspond au nom l'exigence associ e de niveau 3 pr fixpar 'RT_'.
le nom de la famille correspond au nom de la branche de niveau 1 pr fixpar 'RF_'. Le nom de la suite correspond au nom de la branche de niveau 2 pr fixpar 'RS_'. Pour l'exigence E_i de niveau i>3, le nom du test correspond la concat nation des noms exigences de niveau sup rieur ou 3. )
La deuxi me fonctionnalitofferte par le module de g n ration est de pouvoir retirer les liens exigences-tests. Les liens concern s ne sont que les liens cr es suite une g n ration automatique des tests et non tous les liens exigence-test. Lors du chargement du module, l'arbre du dossier des tests (droite) est chargen prenant en compte l'existence des tests d jg n r s qui sont li es aux exigences. Si l'on s lectionne un test ou une suite ou une famille et que l'on clique sur le bouton '<-' alors la ou les exigences associ es r apparaissent en partie gauche.
Si vous utilisez des exigences de type branche alors aucun test ne pourra tre g n rdans le dossier des tests. Tout test g n r poss de un lien vers une exigence. Cependant, si vous supprimez ce lien ou ventuellement vous le remplacer par un lien d'une autre exigence, alors ce lien ne sera plus visible par le module de g n ration des tests. Il en est de m me pour une exigence qui a t li e un test. Si ce lien est supprimpour un lien vers un test qui n'a pas le m me nom alors l'exigence appara tra comme une exigence non-liun test dans le module de g n ration du dossier des tests Enfin, tout renommage d'un test ou d'une exigence impliquera la perte de coh rence de la bijection exigence <-> test dans le module de g n ration du dossier des tests.
Gestion des tests o Ajouter une famille o Ajouter une suite o Ajout d'un test manuel o Ajout de paramtres o Ajouter des actions de tests o Utiliser les paramtres dans les actions o Ajouter des attachements au test
Une famille peut contenir des suites et une suite peut contenir des tests, manuels ou automatiques.
):
cliquer sur "Ajouter une famille" ; spcifier le nom et la description de la nouvelle famille ; valider.
):
cliquer sur "Ajouter une suite" ; spcifier le nom et la description de la nouvelle suite ; valider.
dans la famille "Famille par dfaut" si celle-ci tait slectionne, si une suite ou un test lui appartenant tait slectionn ou si aucune famille n'tait slectionne ; dans une famille existante si celle-ci tait slectionne, si une suite ou un test lui appartenant tait slectionn ou si aucune famille n'tait slectionne.
):
slectionner la suite dans laquelle le test doit tre ajout ; cliquer sur "Ajouter un test" ; complter le nom et la description du test ; slectionner le type "Manuel" ; valider.
Ajout de paramtres
L'onglet "Paramtre" (Figure ) permet de visualiser les paramtres pouvant tre pour plus de
):
se positionner sur le test ; activer l'onglet "Actions" ; cliquer sur le bouton "Ajouter" ; complter le nom, la description et le rsultat attendu ; ajouter si ncessaire des attachements, fichiers ou URL, auxquels une description peut tre associe ; valider la cration de l'action en cliquant sur "Valider" ; renouveler la procdure pour crer d'autres actions.
cliquer sur "Paramtre" ; pour utiliser un paramtre existant, cliquer sur "Utiliser" ; pour utiliser un nouveau paramtre, cliquer sur "Nouveau" ; valider.
). Pour cela :
se positionner sur le test ; activer l'onglet "Attachements" ; cliquer sur le bouton "Ajouter fichier" ou "Ajouter URL" ; indiquer le fichier ou l'URL ; valider.
cration/modification de campagnes ; cration d'excution de campagnes ; lancement d'excution de campagnes ; consultation des rsultats.
1. slectionner la campagne ; 2. cliquer sur le bouton "Importer" ; 3. la fentre qui apparat permet : o d'ajouter tous les tests inclus dans les suites de test d'une famille ; o d'ajouter tous les tests appartenant une suite de test ; o d'ajouter un test particulier.
1. slectionner une campagne ; 2. activer l'onglet "Jeux de donnes". La liste des jeux de donnes existants apparat ; 3. cliquer sur le bouton "Ajouter", une fentre apparat : o nommer le jeu de donnes ; o dcrire le jeu de donnes ; o donner une valeur pour chacun de ses paramtres ; o valider.
1. slectionner la campagne ; 2. slectionner l'onglet "Excution" ; 3. cliquer sur le bouton "Ajouter", une fentre apparat : o donner le nom de l'excution ; o choisir un jeu de donnes existant ou en crer un nouveau ; o choisir un script d'initialisation qui sera excut avant le lancement des tests ; o choisir un script de restitution qui sera excut aprs le lancement des tests ; o attacher un ou plusieurs fichiers ou URL ; o dcrire l'excution ; o valider.
):
slectionner la campagne correspondante ; activer l'onglet "Excution" ; slectionner (les) l'excution(s) dsire(s) dans la liste des excutions existantes ; cliquer sur le bouton "Lancer".
Figure: Lancement d'excution Reprendre une excution Lorsque le lancement d'une excution a t interrompu, il est possible de le reprendre :
slectionner la campagne correspondante activer l'onglet "Excution" slectionner l'excution dsire dans la liste des excutions existantes, la liste des rsultats de son diffrent lancement apparat slectionner un rsultat de lancement de l'excution cliquer sur "Reprendre"
slectionner la campagne correspondante ; activer l'onglet "Excution" ; slectionner l'excution dsire dans la liste des excutions existantes, la liste des rsultats de ses diffrents lancements apparat ; slectionner un rsultat de lancement de l'excution ; cliquer sur "Dtails"; les rsultats de chaque test de l'excution apparaissent. Figure: Consultation des rsultats d'excution
nom de l'environnement ; script : le script choisi sera excut avant les tests appartenant la campagne de tests correspondante ; description de l'environnement ; paramtres de l'environnement : ces paramtres, une fois valoriss, sont utiliss dans les tests et ventuellement dans les scripts pouvant tre attachs aux environnements et aux excutions.
consulter les paramtres dfinis sur le projet et utiliss dans les tests ou les environnements ; crer de nouveaux paramtres ; modifier des paramtres existants en changeant leur description ; supprimer des paramtres.
"Valider". Le paramtre cr est ensuite utilisable par les tests et les environnements.
La fentre (Figure ) d'ajout de paramtres apparat, cliquer alors sur nouveau. Il est aussi possible d'utiliser un paramtre existant. Pour cela, slectionner le paramtre dsir, et valider.
Ensuite, pour utiliser le paramtre dans l'action courante (Figure liste des paramtres disponibles puis valider.
Finalement, (Figure
).
celle donne pour le paramtre dans l'environnement associ l'excution correspondante, si ce paramtre est prsent dans cet environnement ; celle donne pour le paramtre dans le jeu de donnes associes l'excution correspondante, si ce paramtre n'est pas prsent dans l'environnement associ l'excution.
Plugin Mantis
Fay al SOUGRATI Afin d'offrir la possibilitd'une gestion des anomalies dans SalomTMF, un plugin a td velopppour l'outil Open source de gestion des anomalies Mantis.
Installation du plugin Mantis Premi re tape : cr ation du projet et l'utilisateur dans Mantis Saisie/consultation d'une anomalie Consultation des anomalies li es un environnement d'ex cution
La premi re tape de l'activation du plugin Mantis dans SalomTMF consiste en la cr ation du projet et de l'utilisateur dans Mantis. Ces fonctionnalit s se trouvent dans le menu "Outils" comme le montre la figure suivante :
Apr s la cr ation du projet et l'utilisateur dans Mantis, un message invite l'utilisateur quitter et red marrer SalomTMF pour que ces modifications prennent effet.
Une autre fen tre s'affiche contenant des informations pr -remplies dans le champs "Description" de l'anomalie que l'utilisateur peut modifier :
Ensuite, appuyer sur le bouton " Envoyer" pour enregistrer l'anomalie dans Mantis. L'utilisateur est alors redirig vers une page confirmant la cr ation de l'anomalie dans Mantis uniquement titre indicatif (pas de traitement effectuer ce niveau, l'anomalie est cr e). Suite la cr ation de l'anomalie, un lien est ajouten attachement au r sultat d'ex cution du test, comme le montre la figure suivante :
la visualisation du lien (en rouge dans la figure) ouvre la page qui correspond aux anomalies dans Mantis. Remarque : L'utilisateur peut galement saisir une anomalie au niveau de la consultation du r sultat d'ex cution via le menu mis en vidence en bleu dans la capture d' cran ci-dessus.
Remarque : Comme le montre la figure pr c dente, le plugin Mantis impl mente les fonctionnalit s li es au calcul de l'ICAL (Indicateur de Correction Avant Livraison). Ces fonctionnalit s sont expliqu es dans le guide
utilisateur de Salom . La visualisation des anomalies li es l'environnement s'effectue par l'interm diaire de l'interface de Mantis :
Remarque 1 : Comme mis en vidence en vert dans la figure, l'utilisateur connect , le projet et l'environnement dans Mantis correspondent ceux dans SalomTMF.
Remarque 2 : Pour plus d'informations sur l'utilisation de Mantis, consulter le manuel utilisateur de l'outil disponible ici.
L'indicateur ICAL
Salom TMF offre la possibilit de calculer et de suivre l'volution de l'ICAL (Indicateur de Correction Avant Livraison) : Nombre d'anomalies G0 (critiques) et G1 (majeures) corriges par rapport au nombre de G0 et G1 dcouvertes pour une version d'un produit au moment de sa livraison. En effet, pour chaque plugin Salom TMF de gestion d'anomalies (Mantis par exemple), on peut accder ces fonctionnalits via le menu "Outils" comme le montre la figure ci-dessous :
calculer la valeur de l'ICAL un instant donn et ventuellement de sauvegarder cette information dans la base de donnes. visualiser l'historique de toutes les valeurs sauvegardes et de supprimer celles qui ne sont plus utiles. visualiser le graphique de l'volution de l'indicateur pour chaque environnement du projet. En effet, chaque anomalie tant lie un environnement, les valeurs de l'ICAL sont calcules pour chaque environnement du projet.
La figure ci-dessous montre un exemple de graphique d'volution de l'indicateur ICAL d'un projet :
1. Un menu contextuel est disponible en clic droit sur le graphique, offrant la possiblit d'enregistrer, d'imprimer ou de personnaliser le graphique. 2. Il est galement possible de calculer l'ICAL ou d'en visualiser l'volution pour un environnement donn via le menu "Bug Tracking" comme le met en vidence la figure ci-dessous :
Automatisation
Si l'installation de Salom comporte des plugins d'excution automatique de tests et/ou de scripts (environnement et excution de tests), il est possible de crer des tests et/ou des scripts automatiques qui seront pris en charge par le moteur des plugins.
L'architecture plugin prsente dans Salom est ouverte, et vous permet ainsi de crer vos propres plugins. Pour plus d'informations sur le dveloppement de plugin consultez le manuel de dveloppement de plugins.
Pour consulter les plugins prsents dans Salom, ouvrez l'onget "Plugins" de la fentre principale (Figure ). Les Plugins pour les tests automatiques sont du type TestDriver, et ScriptEngine pour les scripts
d'environnement ou d'excution de tests. Le reste de ce chapitre dcrit l'utilisation des plugins d'automatisation dans un cadre gnral, mais certaines fonctionnalits peuvent varier d'un plugin l'autre, ainsi, pour plus d'informations sur l'utilisation d'un plugin en particulier, consultez l'aide correspondante.
dans l'onglet plan de test (Figure ), slectionner la suite dans laquelle le test doit tre ajout ; cliquer sur "Ajouter un test" ; complter le nom et la description du test ; slectionner le type de plugin utiliser (Figure valider. );
Comme les tests manuels, les tests automatiques peuvent utiliser des paramtres (voir section ) qui seront valus lors des excutions. Notez, que l'utilisation de paramtres est dpendante du plugin selectionn, consultez ainsi, l'aide du plugin pour plus d'informations.
L'entre Modifier le Script appelle la fonctionnalit de modification au niveau du plugin. L'entre Actualiser le Script met jour le script dans la base de donnes de Salom. L'entre SetUp Driver appelle la fonctionnalit de configuration du plugin. L'entre About Driver affiche les informations du plugin.
La Figure
Contexte d'excution
Suivant les plugins utiliss pour dcrire les scripts de tests, les scripts d'environnement et d'excution, le contexte d'excution des scripts peut tre identiques tout au long de l'excution de la campagne (c'est--dire, partage des mmes rfrences), c'est par exemple le cas avec les plugins Benshell et simpleJunit.
Plus gnralement, les scripts de tests, d'excution et d'environnement possdent des rfrences sur les variables dcrites dans le tableau suivantes (*=org.objectweb.salome_tmf.data) : Nom date time salome_projectName salome_projectObject salome_debug salome_ExecResultObject salome_ExecTestResultObject salome_CampagneName salome_CampagneObject salome_environmentName salome_environmentObject salome_ExecName salome_ExecObject Classe Java.lang.Date Java.lang.Time Java.lang.String *.Project boolean *.ExecutionResult *.ExecutionTestResult Java.lang.String *.Campaign Java.lang.String *.Environment Java.lang.String *.Execution Description Date de l'excution Heure de l'excution Nom du projet courant Rfrence de l'objet projet de Salom Faut lors de l'valuation du script dans l'diteur Rfrence sus les rsultats d'excution courant Rfrence sur le rsultat d'excution du test courant Nom de la campagne courante Rfrence de la campagne courante Nom de l'environnement courant Rfrence sur l'environnement courant Nom de l'xcution courante Rfrence sur l'excution Disponible T, Env, Ex T, Env, Ex T, Env, Ex T, Env, Ex T, Env, Ex T, Ex T T, Env, Ex T, Env, Ex T, Env, Ex T, Env, Ex T, Env, Ex T, Env, Ex
courante salome_TestName salome_TestObject salome_SuiteTestName salome_SuiteTestObject salome_FamilyName salome_FamilyObject testLog Verdict salome_classloader Java.lang.String *.Test Java.lang.String *.TestList Java.lang.String *.Family Java.lang.String Java.lang.String Nom du test courant Rfrence sur le test courant Nom de la suite de tests courante Rfrence sur la suite de tests courante Nom de la famille courante Rfrence sur la famille courante Log de tests ajouter comme attachement l'xcution Verdict du test (pass, fail, unconclusif) T T T T T T T T T, Env, Ex
La colonne disponible dcrit o peuvent tre utilises ces variables (T pour les tests, Env pour les Environnements, et Ex pour les Excutions). En plus de ces variables, les scripts de tests, d'excution et d'environnement ont accs aux paramtres valus lors des excutions par les jeux de donnes, suivant leur nom et le type Java.lang.String.
Liste des figures Framework "JPF" (Java Plugin Framework) o Introduction o Architecture
Architecture plugins de SALOM TMF o Initialisation de JPF o Le plugin "core" et les points d'extension Fichier manifest du plugin core Activation du plugin core
Le point d'extension "Common" L'interface "Common" Utilisation des composants graphiques de Salom TMF par les plugins Composants graphiques de Salom-TMF
Introduction
JPF est le fruit d'un projet Open Source, sous licence LGPL, portant le mme nom et accessible dans le portail Source Forge sous le lien http://jpf.sourceforge.net.
Architecture
Le schma en Figure 1.1 prsente l'architecture gnrale du framework JPF.
Plugin registry : ensemble d'interfaces qui enregistrent les plugins prsents partir des mta-information prsentes dans le fichier manifest (XML) de chaque plugin. JPF en propose une implmentation standard (standard plugin registry). Path resolver : composant qui rpertorie pour chaque plugin la localisation physique de ses ressources. JPF en propose galement une implmentation standard (standard path resolver). Plugin manager : classe principale du framework qui charge et active les plugins. Une instance "standard" du plugin manager peut tre cre en utilisant les implmentations standards du plugin regitry et du path resolver
Initialisation de JPF
Cette initialisation est effectue par la mthode "startJPF" de la classe JPFManager se trouvant dans le package org.objectweb.salome_tmf.plugins. Afin d'initialiser les paramtres ncessaires JFP, un fichier "properties" est utilis. Ce fichier est nomm "CfgPlugins.properties" et se trouve dans le sous rpertoire "plugins" du rpertoire d'installation de Salom TMF. Il contient le nom du rpertoire qui abrite les plugins, la liste des plugins prsents ainsi que d'autres paramtres utiliss par le systme de trace ( log4j). Une fois ces paramtres initialiss, on cre une table de hachage qui contient autant d'lments que de plugins,
Cl : fichier manifest Valeur : URL du rpertoire contenant les ressources du plugin. Cette table de hachage permet alors de crer un plugin manager comme le montre le code suivant :
// Pamameters for PluginManager StringTokenizer PluginsFolders = new StringTokenizer( props.getProperty(PARAM_PLUGINS_FOLDERS), ",", false); Map pluginLocations = new HashMap(); for (; PluginsFolders.hasMoreTokens();) { props.getProperty(PARAM_PLUGINS_LIST), ",", false); for (; PluginsList.hasMoreTokens();) { String currentPlg = currentPlgFolder + "/" + PluginsList.nextToken().trim(); try { instance of PluginManager PluginManager pluginManager = PluginManager.createStandardManager(pluginLocations);
String curre
<export pref
Cette partie spcifie que le plugin utilise une librairie (core.jar) qui se trouve dans le rpertoire "core" (lui-mme se trouvant dans le rpertoire qui contient les plugins), et que cette librairie est du type "code". Il est galement prcis dans cette partie que toutes les classes et packages (*) de ce plugin sont visibles pour les autres plugins qui peuvent par consquent les utiliser.
La troisime et dernire partie de ce fichier est celle qui est la plus intressante car elle offre l'application la possibilit d'tre extensible. Il s'agit de la dfinition des points d'extension du plugin core, c'est--dire la manire avec laquelle d'autres plugins peuvent tendre celui-ci. Il n'y pas de restriction sur le nombre de points d'extension pour un plugin. Cette partie se prsente ainsi : <extension-point id="Common"> <parameter-def <parameter-def id="name"/> <parameter-def multiplicity="none-or-one"/> </extension-point> id="class"/> id="description"
Ici, un point d'extension nomm "Common" est dfini. Il est galement prcis que tout plugin qui est extension de ce point doit valoriser trois paramtres :
Le paramtre "name" : il s'agit du nom du plugin. Le paramtre "description" : c'est la description du plugin.
Comme pour les points d'extension, il n'y a pas de restriction sur le nombre de paramtres que l'on peut associer un point d'extension.
"getCommonEx
L'interface "Common"
Tout plugin qui dclare dans son fichier manifest qu'il est une extension du point Common doit implmenter l'interface org.objectweb.salome_tmf.plugins.core.Common propose dans Salom TMF. Cette interface facilite l'accs pour un plugin aux composants graphiques de Salom TMF, afin qu'il puisse y ajouter ses fonctionnalits.
Cette interface est divise en deux parties. La premire a pour objet les fonctionnalits du plugin qui seront mises dans les menus "Outils" pour les suites de test, les campagnes de test et la gestion de donnes. La capture d'cran en Figure 2.1 montre un exemple de fonctionnalits de plugins dans un de ces trois menus.
La deuxime partie de l'interface Common concerne le reste des composants graphiques de Salom TMF utiliss par le plugin. En effet, le plugin doit spcifier les composants Salom qu'il utilise ou dans lesquels il rajoute des fonctionnalits, et dans le dernier cas il doit implmenter la manire avec laquelle ses fonctionnalits doivent tre intgres Salom. Salom TMF propose une multitude de ses composants graphiques exploitables par des plugins, c'est l'objet de la section 2.3.3.
Objet B
Objet C
Correspondances entre les objets graphiques de Salom TMF et les constantes de plug-ins
(1) Ces composants graphiques sont statiques lorsqu'il s'agit des attachements lis une suite de test, un test ou une campagne. Ils sont dynamiques dans les autres cas. Figure 2.3: Vue "attachements" (Commune tous les lments pouvant avoir des attachements)
Figure 2.5: Vue "Paramtres" pour les tests ainsi que dans le panel de gestion des donnes
NB : La vue "Paramtre" dans le panel de gestion des donnes est la mme que la vue "Paramtres" pour les tests Figure 2.11: Vue "Environnements" dans le panel de gestion des donnes
Figure 2.13: Fentre pour le dtail d'un rsultat d'excution d'une campagne de test
NB. : Les objets graphiques de la partie pour les attachements de la prcdente fentre sont les mmes que pour tous les lments ayant des attachements. Figure 2.14: Fentre pour le dtail d'un rsultat d'excution d'un test manuel
Le fichier Manifest
La premire partie du dveloppement d'un plugin de Salom TMF consiste en l'criture du fichier manifest : plugin.xml. Ci-dessous le contenu du fichier manifest du plugin Bugzilla :
~ <?xml version="1.0" ?> <!DOCTYPE plugin PUBLIC "-//JPF//Manifest 0.2" "http://jpf.sourceforge.net/plugin_0_2.dtd"> <plugin id="bugzilla" version="0.0.1" class="salomeTMF_plug.bugzilla.BugzillaPlugin"> <requires> <import plugin-id="core"/> </requires> <runtime> <library id="Bugzilla" path="bugzilla/bugzilla.jar" type="code"/> </runtime> <extension plugin-id="core" point-id="Common" id="bugzilla.Common"> <parameter id="class" value="salomeTMF_plug.bugzilla.BugzillaPlugin"/> <parameter id="name" value="Bugzilla"/> <parameter id="description" value="Plugin Bugzilla"/> </extension> </plugin
La premire partie du fichier (aprs l'entte) prcise le nom du plugin, sa version et la classe principale qui tend la classe Plugin.
Ensuite, dans la balise "requires", le plugin dclare le ou les plugins dont la prsence est ncessaire pour son activation. Ici, il s'agit du plugin core, puisque le pluing Bugzilla utilise le point d'extension Common. Dans la balise "runtime", le plugin dclare la liste des librairies utilises, ainsi que leurs types.
La dernire partie du fichier (balise "extension") prcise les informations relatives aux points d'extensions utiliss : plugin fournissant le point d'extension, nom du point d'extension, ainsi que les paramtres spcifiques au point d'extension.
fonctions relatives aux menus "Outils" ; fonctions relatives aux autres composants graphiques de Salom TMF.
En ce qui concerne les menue "Outils" (prsents dans les parties "Gestion des tests", "gestion des campagnes" et "Gestion des donnes"), il existe deux mthodes par menu. Pour la partie "Gestion des tests" par exemple, ces deux mthodes sont les suivantes :
isActivableInTestToolsMenu() : mthode qui renvoie un boolen prcisant l'utilisation du menu par le plugin. activatePluginInTestToolsMenu() : mthode permettant au plugin d'ajouter ces fonctionnalits dans le menu (le menu est pass en paramtre cette mthode).
Pour ce qui est des fonctionnalits du plugin utilisant d'autres composants graphiques de Salom TMF (dfinies en section 2.3.2), il existe quatre mthodes implmenter par le plugin :
usesOtherUIComponents() : mthode qui retourne un boolen prcisant l'utilisation d'autres composants graphiques de Salom TMF par le plugin. getUsedUIComponents() : mthode qui retourne la liste (de type java.util.Vector) des composants graphiques utiliss pas le plugin. Ci-dessous un extrait de l'implmentation de cette mthode pour le plugin Bugzilla :
activatePluginInStaticComponent () : mthode permettant d'activer le plugin dans les composants graphiques statiques parmi ceux renseigns par la mthode prcdente. Le plugin doit prciser dans cette mthode la manire avec laquelle il sera activ selon les composants graphiques. Voici un extrait de cette mthode pour le plugin Bugzilla :
retu
activatePluginInDynamicComponent() : idem que la mthode prcdente pour les composants graphiques dynamiques de Salom TMF.
Plugin JUnit
Mika l Marche Junit est une API Java permettant de d crire des tests unitaires d'une application. Le plugin Junit pr sent dans Salom -TMF permet d'ex cuter automatiquement des tests st r otyp s TestCase de Junit.
Cr er une suite de tests Junit Modifier un test Junit Utilisation d'objets et de param tres de tests Exemple o Cr ation de la suite de tests Junit o Cr ation de l'environnement sous tests o Lancement de l'ex cution
A partir de ces informations le plugin Junit analyse la classe de test s lectionn e pour produire l'ensemble des tests contenus sous forme de tests automatique dans Salom(BeanShell ou natif, suivant le mode s lectionn ).
Nom date time salome_projectName salome_projectObject salome_debug salome_ExecResultObject salome_ExecTestResultObject salome_CampagneName salome_CampagneObject salome_environmentName salome_environmentObject salome_ExecName salome_ExecObject salome_TestName salome_TestObject salome_SuiteTestName salome_SuiteTestObject salome_FamilyName Classe Java.lang.Date Java.lang.Time Java.lang.String *.Project boolean *.ExecutionResult *.ExecutionTestResult Java.lang.String *.Campaign Java.lang.String *.Environment Java.lang.String *.Execution Java.lang.String *.Test Java.lang.String *.TestList Java.lang.String Description Date de l'ex cution Heure de l'ex cution Nom du projet courant R f rence de l'objet projet de Salom Faut lors de l' valuation du script dans l' diteur R f rence sus les r sultats d'ex cution courant R f rence sur le r sultat d'ex cution du test courant Nom de la campagne courante R f rence de la campagne courante Nom de l'environnement courant R f rence sur l'environnement courant Nom de l' x cution courante R f rence sur l'ex cution courante Nom du test courant R f rence sur le test courant Nom de la suite de tests courante R f rence sur la suite de tests courante Nom de la famille courante
salome_FamilyObject testLog
*.Family Java.lang.String
R f rence sur la famille courante Log de tests ajouter comme attachement l' x cution
En mode Junit natif, si la classe de tests poss de un constructeur qui prend comme argument une Hashtable, la classe de tests est instanci e avec ce constructeur et un objet Hashtable qui contient les param tres de tests valu s ainsi que les objets pr c dents. import junit.framework.TestCase; import org.objectweb.salome_tmf.data.Environment; import java.util.Hashtable; public class TestParam extends TestCase{ String url_serveur_Env; String Adresse_services_schema_Env; String url_serveur_DS; String Adresse_services_schema_DS; public TestParam(String name) { params); /*sample to salome_tmf object in Java Environment env = (Environment)params.get("salome_environmentObject"); env.getParameterValue("Adresse_services_schema"); } public void testParam() throws Exception { System.out.println("(env) url_serveur = " + url_serveur_Env); System.out.println("(DataSet) Adresse_services_schema = " + Adresse_services_schema_DS); } }
System.out.p
/* sample to /* sample to
Syst
En mode BeanShell, l'affectation de la Hashtable se fait partir d'un appel de m thode setParam(Hashtable) si celle-ci existe dans la classe de tests.
import junit.framework.TestCase; import org.objectweb.salome_tmf.data.Environment; import java.util.Hashtable; public class TestParam extends TestCase{ String url_serveur_Env; String Adresse_services_schema_Env; String url_serveur_DS; String Adresse_services_schema_DS; public void setParam(Hashtable params) { /*sample to salome_tmf object in Java Environment env = (Environment)params.get("salome_environmentObject"); /* s env.getParameterValue("Adresse_services_schema"); /* sample to } public void testParam() throws Exception { System.out.println("(env) url_serveur = " + url_serveur_Env); Syst System.out.println("(DataSet) Adresse_services_schema = " + Adresse_services_schema_DS); } }
Exemple
L'exemple suivant pr sente l'utilisation du plugin Junit en mode natif et Beanshell en utilisant une classe de tests issue de la distribution Junit3.8.1. On consid re en pr requis que l'on dispose de deux fichiers .jar , l'un contenant le code compilde la classe junit.samples.money.MoneyTest , et l'autre contenant le code compilde la classe sous tests junit.samples.money.Money .
Note : L'exemple utilise les scripts d'environnement pour charger les classes de l'objet sous test, il est possible de ne pas utiliser les scripts d'environnement, si le fichier .jar contenant les tests contient aussi les classes de l'objet sous tests.
Soit le fichier SUTMoney.jar contenant les classes n cessaires pour l'ex cution des tests de la classe junit.samples.money.MoneyTest . Il s'agit maintenant de cr er un environnement dont le script chargera les classes contenues dans le fichier SUTMoney.jar . On note que cette op ration est uniquement n cessaire si le fichier TestMoney.jar ne contient pas toutes les classes n cessaires l'ex cution des tests.
On suppose que l'on a cr e un environnement JavaMoney , et on va ajouter cet environnement un script
BeanShell qui chargera les classes du fichier SUTMoney.jar . Pour cela, le script d'environnement est le suivant : addJar("file:/home/marchemi/pub/junit3.8.1/SUTMoney.jar");
On note que le script d'environnement peut charger plusieurs fichiers .jar , et au besoin faire des traitements en BeanShell. On note qu'il est aussi possible de modifier le fichier plugin.xml du r pertoire simpleJunit pour charger un ensemble de librairies Java. <?xml version="1.0" ?> <!DOCTYPE plugin PUBLIC "-//JPF//Java Plug-in Manifest 0.2" "http://jpf.sourceforge.net/plugin_0_2.dtd"> <plugin id="simpleJunit" version="1" class="salomeTMF_plug.simpleJunit.SimpleJunitPlugin"> <requires> path="simpleJunit/libs/HTTPUnits/junit.jar" type="code"/> <library id="httpjunit" path="simpleJunit/libs/HTTPUnits/httpunit.jar" type="code"/> <parameter id="class" value="salomeTMF_plug.simpleJunit.SimpleJunitPlugin"/> <parameter id="name" value="Junit"/> <parameter id="description" value="Plugin Junit pour la definition de classe de tests"/> <parameter id="extensions" value=".junit"/> </extension> <extension plugin-id="core" point-id="Common" id="simpleJunit.Common"> value="Creation de suite HTTPJunit TVMoblie"/> </extension> </plugin>
<imp
<lib
<par
Pour ex cuter la suite de tests, il suffit de cr er une campagne comportant les tests Junit, et de lui associer une ex cution avec l'environnement JavaMoney .
Plugin Gendoc
Aurore Penault Le plugin de g n ration de documents offre quatre principales fonctionnalit s s par es en deux groupes : d'une part, celles concernant la cr ation de rapports et d'autre part celles permettant l' change de donn es entre diff rents projets. Les donn es g n r es ou export es concernent le plan de tests, les campagnes et les exigences (si le plugin est pr sent). L'acc s aux fonctionnalit s du plugin de g n ration de documents se fait via le bouton Outils , pr sent dans les trois premiers onglets de Salom : Gestion des tests , Gestion des campagnes et Gestion des donn es .
Le menu Plugin de g n ration de documents propose via deux sous-menus de g n rer le document se rapportant au plan de tests ou de g n rer le document des campagnes. Le menu Echange de donn es au format XML permet soit d'exporter les donn es d'un projet sous forme de document XML, soit d'importer des donn es dans un projet partir d'un document XML.
G n rer le document des tests G n rer le document des campagnes Exporter les donn es d'un projet
Importer des donn es dans un projet D tails sur l'import des donn es dans un projet o Strat gie g n rale o Gestion des suppressions o Importer des donn es dans un projet Salom
Dans cette fen tre, le seul champ obligatoire est celui contenant le nom du fichier html r sultant de la g n ration. Dans ce premier onglet, l'utilisateur peut galement choisir de g n rer le rapport de tests en mode multi-frames. Par d faut, le rapport est g n ren html simple, ce qui est le mode privil gier pour toute
impression, en revanche, le mode multi-frames facilite la navigation. Un deuxi me onglet permet d'ajouter une mise en forme au rapport de test. Deux options existent : soit la mise en forme est g n r e automatiquement apr s remplissage d'un formulaire, soit l'utilisateur donne sa propre mise en forme par l'interm diaire de pages html.
Le troisi me onglet de cette fen tre propose diff rentes options. Une premi re option permet de s lectionner les tests que l'on veut inclure dans le rapport Les deux options suivantes concernent les graphiques, la premi re permet d'inclure ou non le graphique r capitulatif dans le rapport, la deuxi me permet de s lectionner le mode, noir et blanc ou couleur, en cas d'impression. La derni re option propos e concerne l'inclusion des fichiers attach s.
Le bouton "S lection des tests..." ouvre une fen tre qui permet de s lectionner des tests. Cette fen tre se d coupe en deux parties. La premi re, gauche, contient l'ensemble du plan de tests et la deuxi me, droite, contient les tests s lectionn s. Pour ajouter ou supprimer des tests la s lection, il suffit de s lectionner des tests (ou des familles ou des suites) dans l'une ou l'autre des parties puis de cliquer sur la fl che correspondante. Par ailleurs, les touches "Shift" et "Ctrl" peuvent tre utilis es pour faire de la s lection multiple.
Comme pour la g n ration du document se rapportant aux tests, le seul champ obligatoire est celui qui indique le nom du fichier r sultat. Dans l'onglet principal de cette fen tre, le choix peut tre fait de ne pas inclure les ex cutions ou les r sultats d'ex cutions dans le rapport. Une option permet galement de g n rer le rapport en html multi-frames, ce qui facilite la navigation dans le document.
L'onglet mise en forme est le m me que celui de la g n ration du document pour les tests, il permet d'int grer une mise en page soit en remplissant un formulaire soit en int grant ses propres documents html au rapport.
Ce dernier onglet pr sente diff rentes options. Une premi re option de filtrage permet de s lectionner les diff rentes campagnes et ex cutions int grer dans le document r sultant. Une autre option permet de s lectionner les graphiques r capitulatifs inclure dans le document. Enfin, l'utilisateur peut choisir d'inclure le contenu des fichiers attach s, suivant le type des fichiers, dans le rapport.
Ensuite, la donn e du nom du fichier XML r sultat est suffisante l'export de donn es. L'utilisateur poss de n anmoins deux options : soit il exporte toutes ses donn es, c'est- -dire l'ensemble du plan de tests mais aussi les campagnes contenues dans son projet. Soit il choisit de n'exporter que le plan de tests et dans ce cas, il peut galement choisir les tests exporter.
L'onglet principal permet d'indiquer le fichier XML partir duquel l'import des donn es doit tre fait. Il permet galement de choisir d'importer uniquement les donn es du plan de tests. Dans ce cas, l'utilisateur peut galement s lectionner les tests importer.
Le deuxi me onglet propose plusieurs options pour l'import des donn es. Les deux premi res options concernent la suppression des donn es du projet qui n'apparaissent pas dans le document XML. Si la premi re option est coch e, les donn es du projet qui n'apparaissent pas dans le document XML sont supprim s, cette option ne concerne pas les actions d'un test manuel et les donn es relatives cette action. La s lection de la deuxi me option entra ne la suppression des actions des tests manuels et des donn es qui lui sont rattach es, dans le cas oils n'apparaissent pas dans le document d'import. Lorsque des tests ont t ex cut s, certaines donn es ne peuvent plus tre modifi es. Dans ce cas, le traitement d pend de l'option s lectionn e. Soit l'utilisateur choisit de conserver les donn es de son projet telles quelles et de copier les donn es dans son projet avec un nom pr fixpar "copy_", soit seule la mise jour des donn es qui ne sont pas sources de conflit est demand e, soit l'utilisateur choisit de conserver les donn es de son projet telles quelles.
projet
Strat gie g n rale
Lorsque les donn es sont pr existantes dans le projet, une mise jour de ces donn es est effectu e. Sinon, elles sont ajout es, en conservant les r f rences avec l'existant. Pour les propri t s des donn es, les donn es mises jour conservent les informations du cr ateur et les donn es nouvelles ont comme cr ateur l'utilisateur en cours.
Avant l'import des donn es, l'utilisateur peut choisir des options qui sont valables en cas de conflit avec les donn es existantes dans le projet courant :
Conserver les donn es de son projet et importer les donn es conflictuelles en pr fixant leurs noms par "copy_". Mettre jour les l ments possibles (description et attachements des tests, scripts des tests automatiques, attachements des actions...). Conserver les donn es du projet courant et ne rien faire de plus.
Avant l'import de donn es, l'utilisateur peut choisir des options qui lui permettront de supprimer les donn es de son projet qui ne sont pas dans le document XML. Il faut noter que ces options entra nent une suppression des donn es avant tout import du document XML, elles peuvent donc permettre de supprimer des conflits. La premi re option permet de supprimer toutes les donn es du projet qui n'apparaissent pas dans le document d'import. Cette option ne concerne pas les actions et les donn es relatives aux actions. Si l'utilisateur veut supprimer ces informations, il doit cocher la deuxi me option. Les deux options de suppressions peuvent tre actives ou inactives ind pendamment l'une de l'autre. Projet Pour le projet, les donn es suivantes qui ne sont pas dans le document XML sont supprim es :
param tres du projet ; environnements ; o param tres valu s dans l'environnement ; o script de l'environnement ; o attachements de l'environnement.
Tests Dans le plan de tests, on supprime galement les diff rentes donn es qui n'apparaissent pas dans le document XML :
familles ; suites :
tests :
o o o o
attachements de la suite. param tres du test ; attachements du test ; script du test si celui-ci est automatique ; si le test est manuel et que la deuxi me option de suppression est active, les actions non pr sentes dans le document XML sont supprim es : ainsi que les param tres des actions ; et enfin, les attachements des actions.
Pour les tests manuels, si la suppression des actions est effectu e, les param tres du test qui ne sont plus utilis s du fait de cette action, sont galement supprim s.
Campagnes Pour les campagnes, la strat gie est un peu diff rente. En effet, lorsque l'utilisateur cr e des ex cutions, un nom est proposl'utilisateur. Le nom des ex cutions peut donc tre identique dans le fichier XML et dans le projet Salom mais en fait correspondre deux ex cutions diff rentes. Lors de l'import des donn es, deux ex cutions seront alors cr es, l'ex cution pr sente dans le projet Salomne doit donc pas tre modifi e. Le raisonnement est identique pour les r sultats d'ex cution, l'outil proposant galement un nom de r sultat par d faut lors de la cr ation de ce r sultat.
Les donn es supprim es sont :
les campagnes ; les jeux de donn es associ s aux campagnes ; les attachements des campagnes ; les tests appartenant aux campagnes ; les ex cutions qui n'ont pas le m me nom qu'une ex cution existante dans le document XML ; es r sultats d'ex cution qui n'ont pas le m me nom qu'un r sultat d'ex cution pr sent dans le XML.
Lors de l'import, les donn es non pr sentes dans le projet sont ajout es, sinon elles sont mises jour. Projet Les param tres du projet qui n' taient pas pr sents dans le projet sont ajout s, sinon leur description est mise jour.
Pour les environnements, les donn es ajout es ou mises jour sont :
Tests Pour les familles de test, il n'y a aucune pr caution particuli re prendre, les donn es sont ajout es ou mises jour suivant les cas. Les donn es qui concernent les familles sont leur nom et leur description.
Les donn es mettre jour ou ajouter pour les suites de tests sont leur nom, leur description et leurs ventuels attachements. Pour les tests eux-m mes, deux cas sont possibles :
Soit le test n'appartient pas au projet Salomcourant, dans ce cas, on ajoute toutes les informations li es ce test : nom, description, ordre, login du concepteur, attachements, param tres, type de test (manuel ou automatique). Si c'est un test manuel, on ajoute galement les actions avec leurs param tres et leurs attachements. Si c'est un test automatique, on ajoute le script du test automatique. Sinon, une d tection de l'existence ou non d'un conflit est effectu e. Dans le cas ole test importer dans le projet courant appartenait d jau plan de test, on doit d tecter s'il existe un conflit pour la mise jour des donn es de ce test. Il peut y avoir un conflit lorsque le test fait partie d'une campagne dont il existe un r sultat d'ex cution pour ce test. Le conflit n'est vraiment r el que lorsqu'il existe des donn es modifier dans le projet telles que les param tres du test, les actions d'un test manuel... Les mises jour qui ne sont pas sources de conflit sont : la mise jour des attachements du test ou des actions d'un test manuel, la mise jour de la description du test ou enfin, la mise jour du script d'un test automatique. Les mises jour qui sont sources de conflit sont donc : la mise jour des param tres du test, la mise jour des actions, c'est- -dire un ajout ou une suppression d'action mais aussi la mise jour de la description des actions, de leur r sultat attendu ainsi que leurs param tres.
Campagnes La strat gie g n rale d'import des donn es est la m me que pour les tests, mais il existe quelques diff rences au niveau de la gestion des jeux de donn es, des ex cutions et des r sultats d'ex cution, dues au fait que l'outil propose des noms par d faut pour ces diff rentes donn es.
Par ailleurs, une v rification de la pr sence ou non d'un conflit est effectu e avant tout import de donn es. Un conflit est d tectlorsque la campagne qui doit tre import e a le m me nom qu'une campagne du projet, mais elle contient de nouveaux tests. Si un conflit est d tect , l'import s'effectue en fonction de l'option s lectionn e par l'utilisateur. Pour les campagnes, les ajouts et les mises jour concernent la description des campagnes, ses attachements, les jeux de donn es qui lui sont associ es ainsi que les tests qui lui appartiennent. Pour les jeux de donn es, il faut v rifier que ceux qui ont le m me nom sont exactement les m mes. Pour cela, on v rifie que les diff rents param tres valu s dans les jeux de donn es du projet et du document XML sont les m mes et qu'ils ont la m me valeur. S'ils se r v lent diff rents, alors on cr e un nouveau jeu de donn es avec le m me nom que
l'ancien suffixpar "_Bis". Pour les mises jour des donn es d'une ex cution, il faut v rifier que les ex cutions qui ont le m me nom dans le document XML et dans le projet sont vraiment les m mes. On v rifie donc que l'ex cution analys e poss de exactement le m me jeu de donn es avec les m mes valeurs pour chaque param tre. Une v rification est galement faite au niveau de l'environnement et des scripts de l'ex cution. Si les ex cutions s'av rent diff rentes, on en cr e alors une autre qui aura comme nom le m me nom que l'ex cution de d part suffix par "_Bis". Pour les r sultats d'ex cution, comme l'outil propose galement des noms par d faut, il faut v rifier que les r sultats sont identiques. Pour cela, une recherche des diff rences est effectu e au niveau des r sultats d'ex cution des tests, mais aussi au niveau des r sultats des ex cutions de chaque action s'il s'agit d'un test manuel. Comme pour les jeux de donn es et les ex cutions, si les r sultats d'ex cutions sont diff rents, on cr e un autre r sultat d'ex cution avec comme nom l'ancien r sultat d'ex cution suffixpar "_Bis".