41
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 1

[PFE] Master en ingénierie du logiciel

Embed Size (px)

DESCRIPTION

- Plateforme de tests logiciels automatisésMise au point d’un logiciel (générateur de tests automatisés)

Citation preview

Page 1: [PFE] Master en ingénierie du logiciel

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

Page 2: [PFE] Master en ingénierie du logiciel

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

Page 3: [PFE] Master en ingénierie du logiciel

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

Page 4: [PFE] Master en ingénierie du logiciel

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.

Page 5: [PFE] Master en ingénierie du logiciel

6

Exemple Modèle Owxe

L’OML du cas d’utilisation

Page 6: [PFE] Master en ingénierie du logiciel

7

Formulaire généré par Owxe

Page 7: [PFE] Master en ingénierie du logiciel

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)

Page 8: [PFE] Master en ingénierie du logiciel

9

Objectif

Développer une solution pour automatiser les tests fonctionnels (et de non-regression) sur les applications Owxe »

Page 9: [PFE] Master en ingénierie du logiciel

10

Solution envisagée

Générateur de test

1

2

3

45

Page 10: [PFE] Master en ingénierie du logiciel

11

Démarche projet

Page 11: [PFE] Master en ingénierie du logiciel

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

Page 12: [PFE] Master en ingénierie du logiciel

13

Définitions

Page 13: [PFE] Master en ingénierie du logiciel

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.

Page 14: [PFE] Master en ingénierie du logiciel

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.

Page 15: [PFE] Master en ingénierie du logiciel

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)

Page 16: [PFE] Master en ingénierie du logiciel

17

Comparatif des outils de tests

Page 17: [PFE] Master en ingénierie du logiciel

18

Comparatif des outils de tests

CubicTest

DejaClick

Selenium

SeleniumEtude

comparative

Tellurium&TrUMP

iMacros

Page 18: [PFE] Master en ingénierie du logiciel

19

Page 19: [PFE] Master en ingénierie du logiciel

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

Page 20: [PFE] Master en ingénierie du logiciel

22

Conception

Page 21: [PFE] Master en ingénierie du logiciel

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

Page 22: [PFE] Master en ingénierie du logiciel

24

Conception

Vue globale de l’architecture du générateur de test

Page 23: [PFE] Master en ingénierie du logiciel

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

Page 24: [PFE] Master en ingénierie du logiciel

26

Conception

Page 25: [PFE] Master en ingénierie du logiciel

27

Conception: Extracteur

Service de developpement

12

3

Page 26: [PFE] Master en ingénierie du logiciel

28

Conception

Page 27: [PFE] Master en ingénierie du logiciel

29

Service de developpement

1 2

3

Conception : Analyseur

Page 28: [PFE] Master en ingénierie du logiciel

30

Conception

Page 29: [PFE] Master en ingénierie du logiciel

31

Service de developpement

1

Conception: Générateur

Page 30: [PFE] Master en ingénierie du logiciel

32

Implémentation

Page 31: [PFE] Master en ingénierie du logiciel

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

Page 32: [PFE] Master en ingénierie du logiciel

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

Page 33: [PFE] Master en ingénierie du logiciel

35

Implémentation

vue globale du générateur des tests.

Importation des Modèles

Page 34: [PFE] Master en ingénierie du logiciel

36

Implémentation

Ouvrir un fichier *.uml contenant le format XMI

Page 35: [PFE] Master en ingénierie du logiciel

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

Page 36: [PFE] Master en ingénierie du logiciel

38

Implémentation

Les tests générés en cours d’exécution

Page 37: [PFE] Master en ingénierie du logiciel

39

Conclusion

Page 38: [PFE] Master en ingénierie du logiciel

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

Page 39: [PFE] Master en ingénierie du logiciel

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

Page 40: [PFE] Master en ingénierie du logiciel

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.

Page 41: [PFE] Master en ingénierie du logiciel

43

Fin

Merci