Périmètre de la solution Tests unitaires : Pouvoir créer rapidement un nouveau cas de test à la suite de l ajout ou de l évolution d une règle de gestion. Ne pas avoir à coder chaque nouveau cas de test. Gérer facilement le changement d environnement pour les cas de tests. Tests de non régression : Solution automatisée jouant les cas de test unitaire. Envoi de report à chaque exécution à une liste d utilisateur (mail). Détection d une erreur de mot de passe et envoi d une notification à une liste d utilisateur (mail). 1
Principe de fonctionnement Présentation de la solution : La solution est composée d une interface client riche permettant de composer les jeux de test. Les jeux de tests sont alors généré au format JUnit au sein d un projet Eclipse de test (TST_WSS). La solution Hudson permet alors d automatiser la récupération, le lancement des cas de test ainsi que l envoi des reports JUnit au format HTML et PDF. 2
Liste des cas de test des Web Services Filtres de recherche Liste des cas de test : Un premier écran permet d afficher la liste des cas de tests qui sont disponibles grâce à un filtre de recherche. Actions possibles Liste des résultats Il est alors possible pour l utilisateur de créer un nouveau cas de test ou bien de modifier, dupliquer ou supprimer un cas de test existant. 3
Modification d un cas de test Listes de valeurs Modification d un cas de test : La saisie d un cas de test permet à indiquer à la solution les solutions nécessaires à la génération du cas de test. Il est possible de saisir un flux Castor ou SOAP ou de préciser à l outil de récupérer le flux grâce au WS de Lecture. Edition d un flux Saisie des variables et assertions Il est possible de saisir du code Java pour la variabilisation du flux d entrée ainsi que la gestion des assertions en sortie. 4
Flux d entrée d un cas de test Formatage XML Ouverture d un fichier Flux d un cas de test : Dans le cas où l on ne souhaite pas se servir d une lecture d un contrat comme flux d entrée, il est possible d écrire son propre flux ou bien d ouvrir un flux existant. L application gère les flux d entrée SOAP classique ainsi que les flux Castor permettant à l outil de générer le flux SOAP correspondant. Il est aussi possible de vérifier le bon état XML du flux en lançant un formatage qui va le ré-indenter. 5
Saisie des variables d entrée Code Java de variabilisation Variables d entrée : Afin de faciliter la saisie des variables une Treeview, générée par réflexion Java à partir du JAR du proxy du Web Service correspondant, permet de générer le code Java d accès à la variable que l on souhaite modifier avec le type Java attendu en entrée. Treeview des variables Il est alors possible à l utilisateur de saisir une valeur en dur ou bien du code Java pour calculer la variable (date du jour, concaténation d autres variables ). 6
Saisie des assertions de sortie Type d assertion Code Java de l assertion Assertions de sortie : Afin de faciliter la saisie des assertions une Treeview, générée par réflexion Java à partir du JAR du proxy du Web Service correspondant, permet de générer le code Java d accès à la variable que l on souhaite contrôler avec le type Java attendu en entrée. Treeview des variables Message de l assertion L utilisateur doit alors choisir le type d assertion qu il souhaite utiliser ainsi que le message afficher en cas d erreur. 7
Liste des environnements de test Filtres de recherche Liste des environnements : Un premier écran permet d afficher la liste des environnements qui sont disponibles grâce à un filtre de recherche. Actions possibles Liste des résultats Il est alors possible pour l utilisateur de créer un nouvel environnement ou bien de modifier, dupliquer ou supprimer un environnement existant. 8
Modification d un environnement Listes de valeurs Saisie des URL Modification d un environnement : La saisie d un environnement permet à la solution de modifier dynamiquement dans le flux d entrée les rubriques permettant de pointer vers le bon environnement Sigma (user CICS, URL du WS, code caisse pointant sur le bon CICS). Cet écran permet aussi de retrouver facilement les informations relative à un environnement. 9
Aperçu de l outil Hudson Configuration Hudson Lancer un job manuellement Liste des jobs S abonner à un flux RSS 10
Aperçu d un rapport Junit au format HTML Les résultats de l exécution des tests JUnit sont regroupés en fonction du package ainsi que la classe dans lesquels ils sont contenu. 11
Aperçu d un rapport Junit au format HTML Il reste alors possible de descendre dans la hiérarchie pour obtenir les informations relatives à l échec du cas de test. 12
Architecture de la solution 13
Analyse de l architecture Présentation de la solution : Cette architecture permet une séparation entre la définition des jeux de tests réalisée avec l interface client riche (génération de tests Junit) et l automatisation implémentée par Hudson. Il reste alors possible de lancer les jeux de tests sous Eclipse directement. Avantages : Interface de génération des cas de tests. Automatisation basée sur un outil Open Source largement utilisé. Multiples canaux d écoutes possibles (interface Web, mail, flux RSS ). Inconvénient : Nécessite le déploiement d Hudson sur un serveur d applications. 14