[PFE] Master en ingénierie du logiciel

Preview:

DESCRIPTION

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

Citation preview

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

Recommended