Augmenter la qualité par les tests XDT - TDAP Tests Driven Architecture Process AGnet SARL - 11 rue Robert Tourte 02190 Gu...
Sommaire <ul><li>Les typologies de test </li></ul><ul><ul><li>Test unitaire fonctionnel </li></ul></ul><ul><ul><li>Test un...
Les typologies de test <ul><li>Valider les règles fonctionnelles </li></ul><ul><ul><li>Conformité des  processus métier   ...
Typologies de test Test unitaire fonctionnel <ul><li>Définition </li></ul><ul><ul><li>Représente  l’exécution d’un scénari...
Typologies de test Test unitaire fonctionnel Exemple de spécification d’un cas de test réalisant 3 scénarios de test pour ...
Typologies de test Test unitaire technique <ul><li>Définition </li></ul><ul><ul><li>Teste  les   technologies d’intégratio...
Typologies de test Test unitaire technique <ul><li>Exemple de spécification d’un scénario de test d’indisponibilité du ser...
Le plan de test Organisation des test unitaires <ul><li>Packager les tests selon l’architecture de l’application testée  (...
XDT - Tests Driven Architecture Process <ul><li>Les objectifs </li></ul><ul><ul><li>Obtenir  rapidement du code opérationn...
XDT - Tests Driven Architecture Process Démarche de pilotage par les tests <ul><li>Identifier les  cas d’utilisation à tes...
XDT - Tests Driven Architecture Process  Exemple d’implémentation <ul><li>Coder un test fonctionnel avec HttpUnit et Junit...
XDT - Tests Driven Architecture Process  Exemple d’implémentation <ul><ul><li>Déterminer les  scénarios pertinents  à test...
XDT - Tests Driven Architecture Process  Exemple d’implémentation <ul><ul><li>2. Créer la  structure du composant de test ...
XDT - Tests Driven Architecture Process  Exemple d’implémentation <ul><ul><li>3. Créer la  structure du servlet applicatif...
XDT - Tests Driven Architecture Process  Exemple d’implémentation <ul><ul><li>Implémenter le scénario de test avec des  do...
XDT - Tests Driven Architecture Process  Exemple d’implémentation <ul><ul><li>6. Implémenter le  code réel du servlet appl...
XDT - Tests Driven Architecture Process <ul><li>Adoptez une méthode pour tester vos applications </li></ul><ul><li>Amélior...
Prochain SlideShare
Chargement dans…5
×

Xdt Tests Driven Architecture Process V1.0

2 408 vues

Publié le

"Augmenter la qualité par les tests"
Présentation de la démarche de développement piloté par les tests

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

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

Aucune remarque pour cette diapositive

Xdt Tests Driven Architecture Process V1.0

  1. 1. Augmenter la qualité par les tests XDT - TDAP Tests Driven Architecture Process AGnet SARL - 11 rue Robert Tourte 02190 Guignicourt - www.agnet.fr - Tél : 06 03 58 72 10 - contact@agnet.fr
  2. 2. Sommaire <ul><li>Les typologies de test </li></ul><ul><ul><li>Test unitaire fonctionnel </li></ul></ul><ul><ul><li>Test unitaire technique </li></ul></ul><ul><li>Le plan de test </li></ul><ul><ul><li>Organisation des tests unitaires </li></ul></ul><ul><li>XDT - Tests Driven Architecture Process </li></ul><ul><ul><li>Démarche de pilotage par les tests </li></ul></ul><ul><ul><li>Exemple d’implémentation avec HttpUnit </li></ul></ul>
  3. 3. Les typologies de test <ul><li>Valider les règles fonctionnelles </li></ul><ul><ul><li>Conformité des processus métier (traitement et manipulation des données) </li></ul></ul><ul><ul><li>Respect des règles d’alimentation et de présentation des données </li></ul></ul><ul><li>Valider les exigences techniques </li></ul><ul><ul><li>Respect de la performance attendue </li></ul></ul><ul><ul><li>Sauvegarde et restitution conforme de l’état des données </li></ul></ul><ul><li>2 typologies principales de tests </li></ul><ul><ul><li>Les tests fonctionnels </li></ul></ul><ul><ul><li>Les tests techniques </li></ul></ul>
  4. 4. Typologies de test Test unitaire fonctionnel <ul><li>Définition </li></ul><ul><ul><li>Représente l’exécution d’un scénario de cas d’utilisation </li></ul></ul><ul><ul><li>Valide la conformité d’une ou plusieurs règles métier </li></ul></ul><ul><ul><li>Déterminé depuis la description d’un cas d’utilisation issue du dossier de conception générale </li></ul></ul><ul><li>Description </li></ul><ul><ul><li>Utilise des données initiales de test précises (valorisation du modèle métier) </li></ul></ul><ul><ul><li>Applique des règles fonctionnelles sur le modèle métier initialisé </li></ul></ul><ul><ul><li>Contr ôle les états du modèle métier après exécution du scénario </li></ul></ul><ul><ul><li>Valide ou invalide la conformité de l’implémentation du scénario </li></ul></ul><ul><li>Bonnes utilisations </li></ul><ul><ul><li>Pour valider des processus applicatifs ou métier (conformité d’implémentation d’un cas d’utilisation) </li></ul></ul><ul><ul><li>Pour valider des règles de transformation de données (cohérence des valorisations d’un modèle métier) </li></ul></ul>
  5. 5. Typologies de test Test unitaire fonctionnel Exemple de spécification d’un cas de test réalisant 3 scénarios de test pour valider la conformité d’un cas d’utilisation
  6. 6. Typologies de test Test unitaire technique <ul><li>Définition </li></ul><ul><ul><li>Teste les technologies d’intégration entre des composants applicatifs, métier et/ou techniques (ex : accouplement de services métier au moyen d’un annuaire, sauvegarde/restitution d’objets métier depuis un système de persistence) </li></ul></ul><ul><ul><li>Déterminé depuis la description des exigences non fonctionnelles du dossier de conception générale (ex : bordereau d’un cas d’utilisation) </li></ul></ul><ul><ul><li>Valide le respect des exigences de performance </li></ul></ul><ul><li>Description </li></ul><ul><ul><li>Réalise un ou plusieurs scénarios de test </li></ul></ul><ul><ul><li>Utilise des données initiales de test précises </li></ul></ul><ul><ul><li>Contr ôle la réalisation des processus non fonctionnels (ex : propagation d’événements entre des composants graphiques, accès à un annuaire, gestion des erreurs) </li></ul></ul><ul><ul><li>Valide ou invalide la conformité de l’implémentation du scénario technique </li></ul></ul><ul><li>Bonnes utilisations </li></ul><ul><ul><li>Pour valider des assemblages de services (interractions entre des vues, gestion d’incidents techniques) </li></ul></ul><ul><ul><li>Pour valider la conformité du système de sauvegarde/restitution des états du modèle métier </li></ul></ul><ul><ul><li>Pour valider les exigences d’accès concurrentiels (volumétrie d’utilisateurs, délai de traitement) </li></ul></ul>
  7. 7. Typologies de test Test unitaire technique <ul><li>Exemple de spécification d’un scénario de test d’indisponibilité du service de persistence pour le cas d’utilisation “Sauvegarder une commande” </li></ul><ul><li>Le système sauvegarde la commande dans une base de données </li></ul><ul><li>La base de données est indisponible </li></ul><ul><li>Un message informe l’utilisateur de tenter une sauvegarde 2 minutes plus tard </li></ul><ul><li>Le système alerte l’administrateur de base de données </li></ul>Scénario alternatif <ul><li>Le système sauvegarde la commande dans une base de données </li></ul><ul><li>Un message confirmant la sauvegarde est présenté à l’utilisateur </li></ul>Scénario nominal Indisponibilté du système de persistance Exceptions Afficher un message de confirmation Post-conditions Prévisionnel de 2000 utilisateurs simultanés Volumétrie Délai maxi = 1 seconde Performance Sauvegarder une commande Cas d’utilisation
  8. 8. Le plan de test Organisation des test unitaires <ul><li>Packager les tests selon l’architecture de l’application testée (ex : couches, composants) </li></ul><ul><li>Piloter les tests selon leur nature technique ou fonctionnelle </li></ul><ul><li>Adopter une règle de nommage </li></ul><ul><li>Par cas d’utilisation, créer un “UseCaseTest” </li></ul><ul><ul><li>Créer une méthode de test par scénario à tester pour valider la réalisation du cas d’utilisation </li></ul></ul>
  9. 9. XDT - Tests Driven Architecture Process <ul><li>Les objectifs </li></ul><ul><ul><li>Obtenir rapidement du code opérationnel </li></ul></ul><ul><ul><li>Disposer d’ indicateurs de suivi sur l’avancement du développement de l’application testée </li></ul></ul><ul><ul><ul><li>Indicateurs globaux : périmètres fonctionnel et technique testés/restant à tester </li></ul></ul></ul><ul><ul><ul><li>Indicateur par couche ou composant : avancement du développement (tests en OK) de chaque composant </li></ul></ul></ul><ul><ul><li>Paralléliser la validation des exigences techniques et le développement des couches fonctionnelles </li></ul></ul><ul><ul><li>Organiser la journée du développeur et définir des objectifs pour le lendemain (ex : “20 tests KO rouge à transformer en OK vert”) </li></ul></ul><ul><ul><ul><li>Priorisation des t âches selons les scénarios de test à terminer (implémentation des cas d’utilisation montrant des tests en KO) </li></ul></ul></ul><ul><ul><ul><li>Identification rapide des implémentations à terminer </li></ul></ul></ul><ul><ul><li>Garantir la non-regression d’une application en cours d’évolution </li></ul></ul><ul><li>Les moyens </li></ul><ul><ul><li>Une démarche de construction d’application pilotée par les tests </li></ul></ul><ul><ul><li>Des frameworks d’implémentation spécialisés pour développer des tests </li></ul></ul><ul><ul><ul><li>Frameworks dédiés à certaines couches (ex : pour tester des interfaces graphiques), technologies (ex : sur les ressources consommées) ou exigences (ex : sur la performance) </li></ul></ul></ul>
  10. 10. XDT - Tests Driven Architecture Process Démarche de pilotage par les tests <ul><li>Identifier les cas d’utilisation à tester </li></ul><ul><ul><li>Déterminer des scénarios pertinents et représentatifs à tester </li></ul></ul><ul><li>Définir les priorités de résolution du plan de test </li></ul><ul><li>Créer la structure de l’application de tests </li></ul><ul><li>Créer la structure de l’application cible et une implémentation initiale </li></ul><ul><ul><li>Chaque méthode applicative doit lever une exception “A implémenter” </li></ul></ul><ul><li>Réaliser le développement </li></ul><ul><ul><li>La mission du testeur “ Mettre à l’épreuve l’application cible ” : pour chaque classe de test et scénario p orté </li></ul></ul><ul><ul><ul><li>Implémenter les scénarios de tests en utilisant des données d’exemples </li></ul></ul></ul><ul><ul><ul><ul><li>Valorisation des données d’exemple pertinentes pour le scénario </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Déclenchement du cas d’utilisation testé avec les données d’exemple </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Contr ôle de la conformité de la réalisation du scénario </li></ul></ul></ul></ul><ul><ul><ul><ul><li>-> EXECUTION ACTUELLE DU TEST = KO (levée d’exception “A implémenter”) </li></ul></ul></ul></ul><ul><ul><li>La mission du développeur “ Transformer les KO en OK ” : pour chaque classe de l’application cible </li></ul></ul><ul><ul><ul><li>Implémenter le code réel pour résoudre le scénario </li></ul></ul></ul><ul><ul><ul><ul><li>Création ou enrichissement de l’implémentation du scénario conformément au dossier de spécification </li></ul></ul></ul></ul><ul><ul><ul><ul><li>-> EXECUTION ACTUELLE DU TEST = OK </li></ul></ul></ul></ul>
  11. 11. XDT - Tests Driven Architecture Process Exemple d’implémentation <ul><li>Coder un test fonctionnel avec HttpUnit et Junit sur l’utilisation de la couche web d’une application (simuler le déclenchement d’un cas d’utilisation par un utilisateur web) </li></ul><ul><ul><li>Déterminer les scénarios pertinents à tester </li></ul></ul><ul><ul><li>Créer la structure du composant de test dédié à la couche web de l’application cible </li></ul></ul><ul><ul><li>Créer la structure du servlet applicatif proposant le cas d’utilisation à l’utilisateur web et qui lève une exception “A implémenter” en implémentation initiale </li></ul></ul><ul><ul><li>Implémenter le scénario de test avec des données d’exemple </li></ul></ul><ul><ul><li>Contr ôler la conformité du résultat à l’exécution : le test est KO </li></ul></ul><ul><ul><li>Implémenter le code réel du servlet applicatif pour résoudre le scénario et transformer le test en OK </li></ul></ul>
  12. 12. XDT - Tests Driven Architecture Process Exemple d’implémentation <ul><ul><li>Déterminer les scénarios pertinents à tester </li></ul></ul>
  13. 13. XDT - Tests Driven Architecture Process Exemple d’implémentation <ul><ul><li>2. Créer la structure du composant de test dédié à la couche web de l’application cible </li></ul></ul>
  14. 14. XDT - Tests Driven Architecture Process Exemple d’implémentation <ul><ul><li>3. Créer la structure du servlet applicatif proposant le cas d’utilisation à l’utilisateur web et levant initialement une exception “A implémenter” </li></ul></ul>
  15. 15. XDT - Tests Driven Architecture Process Exemple d’implémentation <ul><ul><li>Implémenter le scénario de test avec des données d’exemple </li></ul></ul><ul><ul><li>5. Contr ôler la conformité du résultat à l’exécution : le test est KO </li></ul></ul>
  16. 16. XDT - Tests Driven Architecture Process Exemple d’implémentation <ul><ul><li>6. Implémenter le code réel du servlet applicatif pour résoudre le scénario et transformer le test en OK </li></ul></ul>A chaque exécution des deux scénarios portés par le test, le résultat du test doit être OK
  17. 17. XDT - Tests Driven Architecture Process <ul><li>Adoptez une méthode pour tester vos applications </li></ul><ul><li>Améliorez la qualité et réduisez le co ût de recettage d’une application nouvelle ou en évolution </li></ul><ul><li>Anticipez la détection des “oublis” fonctionnels </li></ul><ul><li>Validez rapidement les exigences techniques </li></ul>XDT - TDAP vous guide pour implémenter votre protocole de test Intégrer XDT - TDAP à votre processus de développement, c’est péreniser vos investissements en développement logiciel

×