Xdt Tests Driven Architecture Process V1.0

100 %
0 %
Information about Xdt Tests Driven Architecture Process V1.0

Published on November 28, 2007

Author: guestee837a

Source: slideshare.net

Description

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

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

Sommaire Les typologies de test Test unitaire fonctionnel Test unitaire technique Le plan de test Organisation des tests unitaires XDT - Tests Driven Architecture Process Démarche de pilotage par les tests Exemple d’implémentation avec HttpUnit

Les typologies de test

Test unitaire fonctionnel

Test unitaire technique

Le plan de test

Organisation des tests unitaires

XDT - Tests Driven Architecture Process

Démarche de pilotage par les tests

Exemple d’implémentation avec HttpUnit

Les typologies de test Valider les règles fonctionnelles Conformité des processus métier (traitement et manipulation des données) Respect des règles d’alimentation et de présentation des données Valider les exigences techniques Respect de la performance attendue Sauvegarde et restitution conforme de l’état des données 2 typologies principales de tests Les tests fonctionnels Les tests techniques

Valider les règles fonctionnelles

Conformité des processus métier (traitement et manipulation des données)

Respect des règles d’alimentation et de présentation des données

Valider les exigences techniques

Respect de la performance attendue

Sauvegarde et restitution conforme de l’état des données

2 typologies principales de tests

Les tests fonctionnels

Les tests techniques

Typologies de test Test unitaire fonctionnel Définition Représente l’exécution d’un scénario de cas d’utilisation Valide la conformité d’une ou plusieurs règles métier Déterminé depuis la description d’un cas d’utilisation issue du dossier de conception générale Description Utilise des données initiales de test précises (valorisation du modèle métier) Applique des règles fonctionnelles sur le modèle métier initialisé Contr ôle les états du modèle métier après exécution du scénario Valide ou invalide la conformité de l’implémentation du scénario Bonnes utilisations Pour valider des processus applicatifs ou métier (conformité d’implémentation d’un cas d’utilisation) Pour valider des règles de transformation de données (cohérence des valorisations d’un modèle métier)

Définition

Représente l’exécution d’un scénario de cas d’utilisation

Valide la conformité d’une ou plusieurs règles métier

Déterminé depuis la description d’un cas d’utilisation issue du dossier de conception générale

Description

Utilise des données initiales de test précises (valorisation du modèle métier)

Applique des règles fonctionnelles sur le modèle métier initialisé

Contr ôle les états du modèle métier après exécution du scénario

Valide ou invalide la conformité de l’implémentation du scénario

Bonnes utilisations

Pour valider des processus applicatifs ou métier (conformité d’implémentation d’un cas d’utilisation)

Pour valider des règles de transformation de données (cohérence des valorisations d’un modèle métier)

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

Typologies de test Test unitaire technique Définition 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) Déterminé depuis la description des exigences non fonctionnelles du dossier de conception générale (ex : bordereau d’un cas d’utilisation) Valide le respect des exigences de performance Description Réalise un ou plusieurs scénarios de test Utilise des données initiales de test précises 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) Valide ou invalide la conformité de l’implémentation du scénario technique Bonnes utilisations Pour valider des assemblages de services (interractions entre des vues, gestion d’incidents techniques) Pour valider la conformité du système de sauvegarde/restitution des états du modèle métier Pour valider les exigences d’accès concurrentiels (volumétrie d’utilisateurs, délai de traitement)

Définition

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)

Déterminé depuis la description des exigences non fonctionnelles du dossier de conception générale (ex : bordereau d’un cas d’utilisation)

Valide le respect des exigences de performance

Description

Réalise un ou plusieurs scénarios de test

Utilise des données initiales de test précises

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)

Valide ou invalide la conformité de l’implémentation du scénario technique

Bonnes utilisations

Pour valider des assemblages de services (interractions entre des vues, gestion d’incidents techniques)

Pour valider la conformité du système de sauvegarde/restitution des états du modèle métier

Pour valider les exigences d’accès concurrentiels (volumétrie d’utilisateurs, délai de traitement)

Typologies de test Test unitaire technique Exemple de spécification d’un scénario de test d’indisponibilité du service de persistence pour le cas d’utilisation “Sauvegarder une commande” Le système sauvegarde la commande dans une base de données La base de données est indisponible Un message informe l’utilisateur de tenter une sauvegarde 2 minutes plus tard Le système alerte l’administrateur de base de données Scénario alternatif Le système sauvegarde la commande dans une base de données Un message confirmant la sauvegarde est présenté à l’utilisateur 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

Exemple de spécification d’un scénario de test d’indisponibilité du service de persistence pour le cas d’utilisation “Sauvegarder une commande”

Le système sauvegarde la commande dans une base de données

La base de données est indisponible

Un message informe l’utilisateur de tenter une sauvegarde 2 minutes plus tard

Le système alerte l’administrateur de base de données

Le système sauvegarde la commande dans une base de données

Un message confirmant la sauvegarde est présenté à l’utilisateur

Le plan de test Organisation des test unitaires Packager les tests selon l’architecture de l’application testée (ex : couches, composants) Piloter les tests selon leur nature technique ou fonctionnelle Adopter une règle de nommage Par cas d’utilisation, créer un “UseCaseTest” Créer une méthode de test par scénario à tester pour valider la réalisation du cas d’utilisation

Packager les tests selon l’architecture de l’application testée (ex : couches, composants)

Piloter les tests selon leur nature technique ou fonctionnelle

Adopter une règle de nommage

Par cas d’utilisation, créer un “UseCaseTest”

Créer une méthode de test par scénario à tester pour valider la réalisation du cas d’utilisation

XDT - Tests Driven Architecture Process Les objectifs Obtenir rapidement du code opérationnel Disposer d’ indicateurs de suivi sur l’avancement du développement de l’application testée Indicateurs globaux : périmètres fonctionnel et technique testés/restant à tester Indicateur par couche ou composant : avancement du développement (tests en OK) de chaque composant Paralléliser la validation des exigences techniques et le développement des couches fonctionnelles Organiser la journée du développeur et définir des objectifs pour le lendemain (ex : “20 tests KO rouge à transformer en OK vert”) Priorisation des t âches selons les scénarios de test à terminer (implémentation des cas d’utilisation montrant des tests en KO) Identification rapide des implémentations à terminer Garantir la non-regression d’une application en cours d’évolution Les moyens Une démarche de construction d’application pilotée par les tests Des frameworks d’implémentation spécialisés pour développer des tests 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)

Les objectifs

Obtenir rapidement du code opérationnel

Disposer d’ indicateurs de suivi sur l’avancement du développement de l’application testée

Indicateurs globaux : périmètres fonctionnel et technique testés/restant à tester

Indicateur par couche ou composant : avancement du développement (tests en OK) de chaque composant

Paralléliser la validation des exigences techniques et le développement des couches fonctionnelles

Organiser la journée du développeur et définir des objectifs pour le lendemain (ex : “20 tests KO rouge à transformer en OK vert”)

Priorisation des t âches selons les scénarios de test à terminer (implémentation des cas d’utilisation montrant des tests en KO)

Identification rapide des implémentations à terminer

Garantir la non-regression d’une application en cours d’évolution

Les moyens

Une démarche de construction d’application pilotée par les tests

Des frameworks d’implémentation spécialisés pour développer des tests

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)

XDT - Tests Driven Architecture Process Démarche de pilotage par les tests Identifier les cas d’utilisation à tester Déterminer des scénarios pertinents et représentatifs à tester Définir les priorités de résolution du plan de test Créer la structure de l’application de tests Créer la structure de l’application cible et une implémentation initiale Chaque méthode applicative doit lever une exception “A implémenter” Réaliser le développement La mission du testeur “ Mettre à l’épreuve l’application cible ” : pour chaque classe de test et scénario p orté Implémenter les scénarios de tests en utilisant des données d’exemples Valorisation des données d’exemple pertinentes pour le scénario Déclenchement du cas d’utilisation testé avec les données d’exemple Contr ôle de la conformité de la réalisation du scénario -> EXECUTION ACTUELLE DU TEST = KO (levée d’exception “A implémenter”) La mission du développeur “ Transformer les KO en OK ” : pour chaque classe de l’application cible Implémenter le code réel pour résoudre le scénario Création ou enrichissement de l’implémentation du scénario conformément au dossier de spécification -> EXECUTION ACTUELLE DU TEST = OK

Identifier les cas d’utilisation à tester

Déterminer des scénarios pertinents et représentatifs à tester

Définir les priorités de résolution du plan de test

Créer la structure de l’application de tests

Créer la structure de l’application cible et une implémentation initiale

Chaque méthode applicative doit lever une exception “A implémenter”

Réaliser le développement

La mission du testeur “ Mettre à l’épreuve l’application cible ” : pour chaque classe de test et scénario p orté

Implémenter les scénarios de tests en utilisant des données d’exemples

Valorisation des données d’exemple pertinentes pour le scénario

Déclenchement du cas d’utilisation testé avec les données d’exemple

Contr ôle de la conformité de la réalisation du scénario

-> EXECUTION ACTUELLE DU TEST = KO (levée d’exception “A implémenter”)

La mission du développeur “ Transformer les KO en OK ” : pour chaque classe de l’application cible

Implémenter le code réel pour résoudre le scénario

Création ou enrichissement de l’implémentation du scénario conformément au dossier de spécification

-> EXECUTION ACTUELLE DU TEST = OK

XDT - Tests Driven Architecture Process Exemple d’implémentation 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) Déterminer les scénarios pertinents à tester Créer la structure du composant de test dédié à la couche web de l’application cible 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 Implémenter le scénario de test avec des données d’exemple Contr ôler la conformité du résultat à l’exécution : le test est KO Implémenter le code réel du servlet applicatif pour résoudre le scénario et transformer le test en OK

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)

Déterminer les scénarios pertinents à tester

Créer la structure du composant de test dédié à la couche web de l’application cible

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

Implémenter le scénario de test avec des données d’exemple

Contr ôler la conformité du résultat à l’exécution : le test est KO

Implémenter le code réel du servlet applicatif pour résoudre le scénario et transformer le test en OK

XDT - Tests Driven Architecture Process Exemple d’implémentation Déterminer les scénarios pertinents à tester

Déterminer les scénarios pertinents à tester

XDT - Tests Driven Architecture Process Exemple d’implémentation 2. Créer la structure du composant de test dédié à la couche web de l’application cible

2. Créer la structure du composant de test dédié à la couche web de l’application cible

XDT - Tests Driven Architecture Process Exemple d’implémentation 3. Créer la structure du servlet applicatif proposant le cas d’utilisation à l’utilisateur web et levant initialement une exception “A implémenter”

3. Créer la structure du servlet applicatif proposant le cas d’utilisation à l’utilisateur web et levant initialement une exception “A implémenter”

XDT - Tests Driven Architecture Process Exemple d’implémentation Implémenter le scénario de test avec des données d’exemple 5. Contr ôler la conformité du résultat à l’exécution : le test est KO

Implémenter le scénario de test avec des données d’exemple

5. Contr ôler la conformité du résultat à l’exécution : le test est KO

XDT - Tests Driven Architecture Process Exemple d’implémentation 6. Implémenter le code réel du servlet applicatif pour résoudre le scénario et transformer le test en OK A chaque exécution des deux scénarios portés par le test, le résultat du test doit être OK

6. Implémenter le code réel du servlet applicatif pour résoudre le scénario et transformer le test en OK

XDT - Tests Driven Architecture Process Adoptez une méthode pour tester vos applications Améliorez la qualité et réduisez le co ût de recettage d’une application nouvelle ou en évolution Anticipez la détection des “oublis” fonctionnels Validez rapidement les exigences techniques 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

Adoptez une méthode pour tester vos applications

Améliorez la qualité et réduisez le co ût de recettage d’une application nouvelle ou en évolution

Anticipez la détection des “oublis” fonctionnels

Validez rapidement les exigences techniques

Add a comment

Related pages

"MDA - The Architecture of Choice for a Changing World"

OMG Model Driven Architecture: Defined by the MDA Guide rev. 2.0, the MDA is supported by the Unified Modeling Language (UML), the ...
Read more

Test-Driven Infrastructures

... team is to express architecture decisions using test ... processes, but we should also write tests to ... Driven Testing. Test ...
Read more

Model-Driven Development

... yet a third option has evolved to define a software-solution's architecture: Model-Driven ... A Process for Model-Driven ... a unit test (and a lab set ...
Read more

Testing Support - UML tools for software development and ...

Testing Support. Enterprise Architect ... The Test Cases docking window provides a quick and convenient method of working ... Business Process Modeling ...
Read more

Xdt transform samples · projectkudu/kudu Wiki · GitHub

Xdt transform samples. ... Kudu architecture; ... Use Kudu Console to create an applicationHost.xdt file under your 'site' folder ...
Read more

Modelio, download UML modeling tool and free products

Business Architecture. ... September 22nd 2015 Modeliosoft is proud to ... testing and maintenance New Modelio 3.3 Code Generation, Test ...
Read more

Enterprise Architect - UML Design Tools and UML CASE tools ...

Advanced Model Driven Architecture. Enterprise Architect ... and integrate the test process ... Enterprise Architect's Business Process ...
Read more

An Overview of Agile Testing

An Overview of Agile Testing ... Coding and testing one process Test environments ... Test architecture/design critical
Read more