Université des Sciences et de la Technologie Houari Boumedienne<br />Plateforme de tests logiciels automatisés<br />     P...
Plan<br />Introduction<br />Contexte<br />Problématique<br />Objectifs<br />Solution envisagée<br />Analyse<br />Définitio...
Introduction<br />Une entreprise algérienne, DELTALOG <br />SSII (Société de services en ingénierie informatique) <br />4 ...
Gestion de la connaissance
Conseils & infogérance
Intégration & développement</li></ul>3<br />
Contexte: R&D<br />Un de ses projets R&D : OWXE (Open WorkFlowXmlEngine)<br />Présentation Owxe:<br />Définition:<br />Une...
Exemple Module Owxe<br />1. Modèle<br />Use case, 1 acteur, workflow<br />OML<br />2. Rendu<br />Formulaire<br />5<br />
Exemple Modèle Owxe<br />L’OML du cas d’utilisation<br />6<br />
Formulaire généré par Owxe<br />7<br />
Problématique<br /><ul><li>Le développement selon l’approche Owxe, nécessite des retouches fréquentes sur les modèles.</li...
Objectif<br /><ul><li>Développer une solution pour automatiser les tests fonctionnels (et de non-regression) sur les appli...
Solution envisagée<br />1<br />Générateur de test<br />2<br />3<br />5<br />4<br />10<br />
Démarche projet<br />11<br />
Etapes<br />Etat de l’art du Test logiciel<br />Etude et évaluation des outils de test<br />Choix d’un outil (test runner)...
13<br />Définitions<br />
Définitions<br />Définition du test<br />Le test (manuel ou automatique) vise à établir la conformité avec sa spécificatio...
Définitions<br />Pourquoi tester<br />Le test n’a pas pour objectif:<br /><ul><li> De diagnostiquer la cause des erreurs.
 De corriger les fautes.
 De prouver la correction d’un programme.</li></ul>Pour détecter des erreurs et des anomalies.<br />15<br />
Définitions<br />Pourquoi automatiser<br />Pour un gain de temps et d’argent..<br />Exemple: (Modèle Basedtesting) test ba...
 Plus de 100 cas de tests
 Partie authentification se trouve dans tout les cas de tests.</li></ul>En cas de mise à jour de l’application à tester on...
Comparatif des outils de tests<br />17<br />
Comparatif des outils de tests<br />iMacros<br />Etude comparative <br />Tellurium&TrUMP<br />Selenium<br />CubicTest<br /...
19<br />
Présentation Selenium<br />Est une extension Firefox pour des tests d’applications web :<br /><ul><li>Permet d’enregistrer...
Permet d’afficher des rapports de tests
On doit faire le test au moins une fois pour l’enregistrement
N’est pas paramétrable
Si une mise à jour dans l’application, on doit refaire les tests</li></ul>20<br />
En Cours d’exécution<br />21<br />
Conception<br />22<br />
1<br />3<br />2<br />Générateur de test<br />Data<br />4<br />Service de developpement<br />5<br />7<br />6<br />Schéma gl...
Conception<br />24<br />Vue globale de l’architecture du générateur de test<br />
Conception<br />Fichier de Script de test<br />Diagrammes de Use Case + OML<br />X M I<br />Parseurs<br />Conception du pa...
Conception<br />26<br />
Conception: Extracteur<br />3<br />1<br />2<br />Service de developpement<br />27<br />
Conception<br />28<br />
Conception : Analyseur<br />3<br />1<br />2<br />Service de developpement<br />29<br />
Conception<br />30<br />
Prochain SlideShare
Chargement dans…5
×

[PFE] Master en ingénierie du logiciel

6 144 vues

Publié le

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

Publié dans : Technologie
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
6 144
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
219
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

[PFE] Master en ingénierie du logiciel

  1. 1. Université des Sciences et de la Technologie Houari Boumedienne<br />Plateforme de tests logiciels automatisés<br /> Présenté Par:<br />Billel REDOUANE.<br />Proposé et encadré par:<br /> Mr Said BABACI<br /> Mr Abdeslem MENACERE<br />1<br />
  2. 2. Plan<br />Introduction<br />Contexte<br />Problématique<br />Objectifs<br />Solution envisagée<br />Analyse<br />Définitions (Rappels)<br />Comparatif des outils de test<br />Présentation sélénium<br />Conception <br />Implémentation <br />Conclusion <br />Perspectives<br />2<br />
  3. 3. Introduction<br />Une entreprise algérienne, DELTALOG <br />SSII (Société de services en ingénierie informatique) <br />4 axes <br /><ul><li>Recherche et développement (R&D)
  4. 4. Gestion de la connaissance
  5. 5. Conseils & infogérance
  6. 6. Intégration & développement</li></ul>3<br />
  7. 7. Contexte: R&D<br />Un de ses projets R&D : OWXE (Open WorkFlowXmlEngine)<br />Présentation Owxe:<br />Définition:<br />Une plateforme de génération d’application de gestion, basée sur des Modèles Métiers (UML + OML)<br />Principe:<br />Modélisation de processus, workflow, et données utilisées.<br />« Parsing » et Génération du code (correspondant aux modèles) exécutables sur la plateforme<br />Modèle:<br />Diagramme de Use Case, de Classe, d’Activité<br />OML, Description de l’IHM (des formulaires) et de leurs privilèges d’accès.<br />4<br />
  8. 8. Exemple Module Owxe<br />1. Modèle<br />Use case, 1 acteur, workflow<br />OML<br />2. Rendu<br />Formulaire<br />5<br />
  9. 9. Exemple Modèle Owxe<br />L’OML du cas d’utilisation<br />6<br />
  10. 10. Formulaire généré par Owxe<br />7<br />
  11. 11. Problématique<br /><ul><li>Le développement selon l’approche Owxe, nécessite des retouches fréquentes sur les modèles.</li></ul>Difficulté de contrôler la non-régression<br />Besoin de repasser les tests fonctionnels (perte de temps, tâches répétitives)<br />8<br />
  12. 12. Objectif<br /><ul><li>Développer une solution pour automatiser les tests fonctionnels (et de non-regression) sur les applications Owxe »</li></ul>9<br />
  13. 13. Solution envisagée<br />1<br />Générateur de test<br />2<br />3<br />5<br />4<br />10<br />
  14. 14. Démarche projet<br />11<br />
  15. 15. Etapes<br />Etat de l’art du Test logiciel<br />Etude et évaluation des outils de test<br />Choix d’un outil (test runner) s’intégrant à OWXE<br />Conception d’un module de génération de scripts de test (fonctionnel)<br />Implémentation<br />Tests et Validation<br />12<br />
  16. 16. 13<br />Définitions<br />
  17. 17. Définitions<br />Définition du test<br />Le test (manuel ou automatique) vise à établir la conformité avec sa spécification.<br />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.<br />14<br />
  18. 18. Définitions<br />Pourquoi tester<br />Le test n’a pas pour objectif:<br /><ul><li> De diagnostiquer la cause des erreurs.
  19. 19. De corriger les fautes.
  20. 20. De prouver la correction d’un programme.</li></ul>Pour détecter des erreurs et des anomalies.<br />15<br />
  21. 21. Définitions<br />Pourquoi automatiser<br />Pour un gain de temps et d’argent..<br />Exemple: (Modèle Basedtesting) test basé sur les modèles<br /><ul><li> Une application à tester
  22. 22. Plus de 100 cas de tests
  23. 23. Partie authentification se trouve dans tout les cas de tests.</li></ul>En cas de mise à jour de l’application à tester on doit refaire les tests :<br /><ul><li> A la main / Régénérer les tests (à partir de modèle)</li></ul>16<br />
  24. 24. Comparatif des outils de tests<br />17<br />
  25. 25. Comparatif des outils de tests<br />iMacros<br />Etude comparative <br />Tellurium&TrUMP<br />Selenium<br />CubicTest<br />DejaClick<br />Selenium<br />18<br />
  26. 26. 19<br />
  27. 27. Présentation Selenium<br />Est une extension Firefox pour des tests d’applications web :<br /><ul><li>Permet d’enregistrer et de rejouer les tests d’application web
  28. 28. Permet d’afficher des rapports de tests
  29. 29. On doit faire le test au moins une fois pour l’enregistrement
  30. 30. N’est pas paramétrable
  31. 31. Si une mise à jour dans l’application, on doit refaire les tests</li></ul>20<br />
  32. 32. En Cours d’exécution<br />21<br />
  33. 33. Conception<br />22<br />
  34. 34. 1<br />3<br />2<br />Générateur de test<br />Data<br />4<br />Service de developpement<br />5<br />7<br />6<br />Schéma global du déroulement de la solution<br />23<br />
  35. 35. Conception<br />24<br />Vue globale de l’architecture du générateur de test<br />
  36. 36. Conception<br />Fichier de Script de test<br />Diagrammes de Use Case + OML<br />X M I<br />Parseurs<br />Conception du parseur<br /><detailsxmi:id=" value=" OML "/><br /><packagedElementxmi:type=" name=" ><br />Description de l’IHM + Privilège des opérations <br />Nom Cas d’utilisation <br />25<br />
  37. 37. Conception<br />26<br />
  38. 38. Conception: Extracteur<br />3<br />1<br />2<br />Service de developpement<br />27<br />
  39. 39. Conception<br />28<br />
  40. 40. Conception : Analyseur<br />3<br />1<br />2<br />Service de developpement<br />29<br />
  41. 41. Conception<br />30<br />
  42. 42. Conception: Générateur<br />1<br />Service de developpement<br />31<br />
  43. 43. Implémentation<br />32<br />
  44. 44. Implémentation<br />Zend Studio for Eclipse 6.0.0 Professional Edition<br />XAMPP 1.7.3<br />Apache 2.2.14<br />PHP Version 5.3.1<br /> Les API utilisées : DOM, Zip, PCRE<br />Debugger : Xdebug2.1<br />33<br />
  45. 45. L’OML du cas d’utilisation<br />Vue sur le diagramme de Use Case + l’OML utilisés à l’importation sur Owxe et sur notre solution<br />34<br />
  46. 46. Implémentation<br />Importation des Modèles<br />vue globale du générateur des tests.<br />35<br />
  47. 47. Implémentation<br />Ouvrir un fichier *.uml contenant le format XMI<br />36<br />
  48. 48. Implémentation<br />vue sur les fichiers de cas de test généré et le plan de test prêt à être exécuté sur Selenium<br />37<br />
  49. 49. Implémentation<br />Les tests générés en cours d’exécution<br />38<br />
  50. 50. Conclusion<br />39<br />
  51. 51. Conclusion<br /><ul><li> Ce projet a consisté en la mise en œuvre d’un outil qui permet de générer des cas nominaux de tests fonctionnels.
  52. 52. 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)
  53. 53. Ce travail permet entre autre:
  54. 54. de détecter les erreurs et les anomalies le plus tôt possible
  55. 55. de vérifier la conformité avec la spécification</li></ul>40<br />
  56. 56. Perspectives 1/2<br /><ul><li> Prise en charge d’autres diagrammes OWXE
  57. 57. Ajouter le paramétrage des scénarios de tests
  58. 58. 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</li></ul>41<br />
  59. 59. Perspectives 2/2<br /><ul><li>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,…).
  60. 60. Intégrer notre générateur de test à des outils de génération de données significatives (comme: DTM, E_NAXOS,…)
  61. 61. Exploiter les résultats du test comme une mesure de la qualité logicielle.</li></ul>42<br />
  62. 62. Fin<br />Merci<br />43<br />
  63. 63.
  64. 64. Détails Etapes<br />45<br />
  65. 65. Service Owxe (partie intégration avec OWXE)<br />
  66. 66. L’outil d’exécution de test (Selenium)<br />Lancer entièrement la suite de test<br />Enregistreur de test<br />Commandes exécutant le test<br />Liste des cas de test<br />Résultats des cas de test<br />
  67. 67. Conception, Diagramme de Use Case<br />Service de developpement<br />
  68. 68. Les étapes vers un processus lean<br />
  69. 69. Eliminer les gâchis avec le MBT<br />

×