1
Présenté Par:
Billel REDOUANE.
PLATEFORME DE TESTS LOGICIELS AUTOMATISÉS
Proposé et encadré par:
Mr Said BABACI
Mr Abdeslem MENACERE
Université des Sciences et de la Technologie Houari Boumedienne
2
Plan
Introduction Contexte Problématique Objectifs Solution envisagée
Analyse Définitions (Rappels) Comparatif des outils de test Présentation sélénium
Conception Implémentation Conclusion Perspectives
3
Introduction
Une entreprise algérienne, DELTALOG
SSII (Société de services en ingénierie informatique)
4 axes Recherche et développement (R&D) Gestion de la connaissance Conseils & infogérance Intégration & développement
4
Contexte: R&D
Un de ses projets R&D : OWXE (Open WorkFlow Xml Engine)
Présentation Owxe: Définition:
Une plateforme de génération d’application de gestion, basée sur des Modèles Métiers (UML + OML)
Principe: Modélisation de processus, workflow, et données utilisées. « Parsing » et Génération du code (correspondant aux modèles)
exécutables sur la plateforme
Modèle: Diagramme de Use Case, de Classe, d’Activité OML, Description de l’IHM (des formulaires) et de leurs privilèges
d’accès.
6
Exemple Modèle Owxe
L’OML du cas d’utilisation
7
Formulaire généré par Owxe
8
Problématique
Le développement selon l’approche Owxe, nécessite des retouches fréquentes sur les modèles.
Difficulté de contrôler la non-régression Besoin de repasser les tests fonctionnels (perte
de temps, tâches répétitives)
9
Objectif
Développer une solution pour automatiser les tests fonctionnels (et de non-regression) sur les applications Owxe »
10
Solution envisagée
Générateur de test
1
2
3
45
11
Démarche projet
12
Etapes
1. Etat de l’art du Test logiciel2. Etude et évaluation des outils de test3. Choix d’un outil (test runner)
s’intégrant à OWXE4. Conception d’un module de génération
de scripts de test (fonctionnel)5. Implémentation6. Tests et Validation
13
Définitions
14
Définitions
Définition du test Le test (manuel ou automatique) vise à
établir la conformité avec sa spécification.
Le test détecte des différences entre les résultats engendrés par le système et ceux qui sont attendus par la spécification.
15
Définitions
Pourquoi tester
Le test n’a pas pour objectif: De diagnostiquer la cause des erreurs. De corriger les fautes. De prouver la correction d’un programme.
Pour détecter des erreurs et des anomalies.
16
Définitions
Pourquoi automatiserPour un gain de temps et d’argent..
Exemple: (Modèle Based testing) test basé sur les modèles
Une application à tester Plus de 100 cas de tests Partie authentification se trouve dans tout les cas de tests.
En cas de mise à jour de l’application à tester on doit refaire les tests :
A la main / Régénérer les tests (à partir de modèle)
17
Comparatif des outils de tests
18
Comparatif des outils de tests
CubicTest
DejaClick
Selenium
SeleniumEtude
comparative
Tellurium&TrUMP
iMacros
19
20
Présentation Selenium
Permet d’enregistrer et de rejouer les tests d’application web
N’est pas paramétrable
On doit faire le test au moins une fois pour l’enregistrement
Si une mise à jour dans l’application, on doit refaire les tests
Est une extension Firefox pour des tests d’applications web :
Permet d’afficher des rapports de tests
22
Conception
23
Service de developpement
1
23
4
5
6
7
Data
Schéma global du déroulement de la solution
Générateur de test
24
Conception
Vue globale de l’architecture du générateur de test
25
Conception
X M IFichier
de Script de test
Parseurs
Diagrammes de Use
Case + OML
<details xmi:id=" value=" OML "/>
Nom Cas d’utilisatio
n
Description de l’IHM + Privilège des opérations
<packagedElement xmi:type=" name=" >
Conception du parseur
26
Conception
27
Conception: Extracteur
Service de developpement
12
3
28
Conception
29
Service de developpement
1 2
3
Conception : Analyseur
30
Conception
31
Service de developpement
1
Conception: Générateur
32
Implémentation
33
Implémentation
Zend Studio for Eclipse 6.0.0 Professional Edition
XAMPP 1.7.3 Apache 2.2.14 PHP Version 5.3.1
Les API utilisées : DOM, Zip, PCRE Debugger : Xdebug2.1
34
Vue sur le diagramme de Use Case + l’OML utilisés à l’importation sur Owxe et sur notre
solution
L’OML du cas d’utilisation
35
Implémentation
vue globale du générateur des tests.
Importation des Modèles
36
Implémentation
Ouvrir un fichier *.uml contenant le format XMI
37
Implémentation
vue sur les fichiers de cas de test généré et le plan de test prêt à être exécuté sur Selenium
38
Implémentation
Les tests générés en cours d’exécution
39
Conclusion
40
Conclusion
• Ce projet a consisté en la mise en œuvre d’un outil qui permet de générer des cas nominaux de tests fonctionnels.
• Les cas de tests générés sont sous forme de scripts exécutable sur une plateforme tiers que nous avons choisi (sélénium/ firefox)
• Ce travail permet entre autre: de détecter les erreurs et les anomalies le plus
tôt possible de vérifier la conformité avec la spécification
41
Perspectives 1/2
Prise en charge d’autres diagrammes OWXE Ajouter le paramétrage des scénarios de tests Prise en charge d’un diagramme d’état transition pour générer des cas de tests pour toutes les applications pour être une plateforme complète de tests
42
Perspectives 2/2
Ajouter la possibilité de générer des scénarios de tests avec une couverture maximale, en utilisant des heuristiques par exemple (fréquence, risque, importance,…).
Intégrer notre générateur de test à des outils de génération de données significatives (comme: DTM, E_NAXOS,…)
Exploiter les résultats du test comme une mesure de la qualité logicielle.
43
Fin
Merci