La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

O UTILS DE TEST FONCTIONNEL ET NON FONCTIONNEL Généralités et cas des EJB Réalisé par: ElhajAyach Souhail Ayadi Haifa Ben Brahim Imen Hichri Abir 1.

Présentations similaires


Présentation au sujet: "O UTILS DE TEST FONCTIONNEL ET NON FONCTIONNEL Généralités et cas des EJB Réalisé par: ElhajAyach Souhail Ayadi Haifa Ben Brahim Imen Hichri Abir 1."— Transcription de la présentation:

1 O UTILS DE TEST FONCTIONNEL ET NON FONCTIONNEL Généralités et cas des EJB Réalisé par: ElhajAyach Souhail Ayadi Haifa Ben Brahim Imen Hichri Abir 1

2 Définition des tests logiciels Objectifs des méthodes de test Introduction: Classification des tests Les tests de la « boite noire » et « la boite blanche » Test fonctionnel : Test unitaire Tests dintégration système Test non fonctionnel : Test de performance Test de sécurité Outils et méthodes de test logiciel JUnit Cactus Outils de test des EJB Outils de test des EJB Conclusion: 2

3 P ROBLÉMATIQUE La réalisation dun logiciel demande beaucoup defforts et dattention. Le nombre de concepts / dobjets à manipuler peut vite devenir problématique. Le besoin du client est devenu plus complexe et difficile à réaliser. 3

4 D ÉFINITION o Le test est lexécution ou lévaluation dun système ou dun composant, par des moyens automatiques ou manuels, pour vérifier quil répond à ses spécifications ou identifier les différences entre les résultats attendus et les résultats obtenus. 4

5 O BJECTIFS DES TESTS L'objectif du test est de valider le bon fonctionnement d'un logiciel par rapport aux besoins et aux exigences recueillis auprès des utilisateurs. Il permet d'assurer un niveau de qualité suffisant pendant le cycle de développement et de vie d'un logiciel. 5

6 O BJECTIFS DES TESTS Identifier des dysfonctionnements, des anomalies ou des régressions. Respecter les exigences du client. 6

7 L ES TESTS RÉPONDENT AUX QUESTIONS SUIVANTES : Est-ce que ça marche comme prévu? Est-ce que cest conforme aux spécifications? Est-ce que ça correspond aux attentes du client? Quels sont les points à améliorer? 7

8 O UTILS ET MÉTHODES DE TEST 8

9 C LASSIFICATION DES TESTS Le concept de la séparation des préoccupations dans le développement logiciel est également à respecter lors de lélaboration des tests qui doivent répondre à une préoccupations précises. Il est donc impératif de savoir : quel est le périmètre du (sous-)système testé à quel niveau d'abstraction se place-t-on? Si l'application est divisée en couches (architecture n-tiers), avec l'API de quelle couche le test est écrit? quelles sont les suppositions? Si on teste une couche donnée, on suppose que les couches inférieures fonctionnent (elles-mêmes seront testées dans d'autres tests). 9

10 C LASSIFICATION DES TESTS Différentes classes de tests selon : les critères de test utilisées Les entités utilisées (spécification, code source, exécutable…) Exemples de classes : Les modalités de test : Statique / Dynamique Les méthodes de test : Structurelle / Fonctionnelle Les niveaux de tests : Unitaire / Intégration / Système Les caractéristiques de test : Robustesse / Conformité /Performance 10

11 C LASSIFICATION DES TESTS 11

12 « B OITE NOIRE » ET « BOITE BLANCHE » On peut parler de tests « boîtes blanches » ou de tests « boîtes noires » selon la visibilité que peut avoir le développeur qui élabore les tests sur le code. 12 Les tests en boîte blanche sont des tests qui prennent les mécanismes internes en considération. Les tests en boîte noire sexécutent en ignorant les mécanismes internes du produit, indépendamment de limplémentation.

13 Les Avantages: Avec les tests boîte blanche, l' accès au code testé permet de voir les différentes branches et de couvrir les différents cas d'erreurs possibles. Les tests en boite noire garantissent quune fois écrits, l'implémentation de la classe testée peut changer sans mise à jour du test. Ainsi, en Java, un test « boîte noire » écrit en faisant appel aux méthodes d'une interface peut permettre de tester toutes les classes qui réalisent cette interface. 13 « B OITE NOIRE » ET « BOITE BLANCHE »

14 T ESTS FONCTIONNELS ET TESTS NON FONCTIONNELS 14 T ESTS F ONCTIONNELS

15 T EST FONCTIONNEL On parle de tests fonctionnels quand il s'agit de vérifier qu'une classe permet bien de remplir avec succès l'objectif fixé par un cas d'utilisation donné. Un test fonctionnel permet,par exemple, de répondre aux questions: 15 « Est-ce que le code permet de faire ça ? » « Est-ce que cette fonctionnalité attendue est bien réalisée ? ».

16 T EST FONCTIONNEL : T EST U NITAIRE Un test unitaire, au sens Agile, est un court programme, écrit et maintenu par les développeurs, servant à vérifier de manière très étroite le bon fonctionnement d'une partie restreinte du programme principal. Son résultat est binaire: il "passe" si le comportement du programme est celui attendu et "échoue" dans le cas contraire 16

17 Test du type boîte noire canalisé sur la vérification des requêtes de lapplication. S'assurer que les interfaces des composants sont cohérentes entre elles et que le résultat de leur intégration permet de réaliser les fonctionnalités prévues L'application doit fonctionner dans son environnement de production, avec les autres applications présentes sur la plateforme et avec le système d'exploitation. 17 T EST FONCTIONNEL : T EST D INTÉGRATION

18 On teste ici par la méthode boîte noire la fiabilité et la performance de l'ensemble du système, tant au niveau fonctionnel que structurel, plutôt que de ses composants. S'assure que le système complet, matériel et logiciel, correspond bien à la définition des besoins tels qu'ils avaient été exprimés. 18 T EST FONCTIONNEL : T EST SYSTÈME

19 T ESTS FONCTIONNELS ET TESTS NON FONCTIONNELS 19 T EST NON FONCTIONNEL

20 Les tests non-fonctionnels vérifient des propriétés qui ne sont pas directement liées à une utilisation du code. Il s'agit de vérifier des caractéristiques telles que la sécurité ou la capacité à monter en charge. Les tests non-fonctionnels permettent plutôt de répondre à des questions telles que: 20 T EST NON FONCTIONNEL « Est-ce que cette classe peut être utilisée par 1000 threads en même temps sans erreur ? ».

21 Permet d'évaluer la capacité du programme à fonctionner correctement par rapport aux critères de flux de données et de temps d'exécution. Ces tests doivent être précédés tout au long du cycle de développement du logiciel d'une analyse de performance, ce qui signifie que les problèmes de performances doivent être pris en compte dès les spécifications. 21 T EST NON FONCTIONNEL : T EST DE PERFORMANCE

22 Les tests de sécurité et de contrôle daccès portent sur deux domaines clés de la sécurité : La sécurité au niveau de lapplication incluant laccès aux fonctions de traitement de données. La sécurité au niveau du système, incluant la connexion à distance au système. Teste la manière avec laquelle le système protège contre les accès interne ou externes pas autorisés. 22 T EST NON FONCTIONNEL : T EST DE SÉCURITÉ

23 O UTILS DE TEST DES EJB 23

24 JUnit est un Framework de test unitaire pour le langage de programmation Java. Créée par Kent Beck et Erich Gamma.test unitaireJava JUnit définit deux types de fichiers de tests : Les TestCase sont des classes contenant un certain nombre de méthodes de tests.Les TestCase Une TestSuite permet d'exécuter un certain nombre de TestCase déjà définis. Une TestSuite 24 JUNIT (1)

25 25 JUNIT (2)

26 import java.io.*; import junit.framework.*; public class FileTest extends TestCase { public void testIsDirectory() { File dir = new File("/etc"); assertTrue(dir.isDirectory()); } 26 JUNIT (3)

27 public class VectorTest extends TestCase { public void testClone() { Vector v1 = new Vector(2); v1.add("Test"); v1.add("Case") Vector v2 = (Vector) v1.clone(); assertNotSame(v1,v2); assertEquals(v1,v2); } } 27 JUNIT (4)

28 public class FileTest { private File dir; protected void setUp() { dir = new File("/etc"); } public void testIsDirectory() { assertTrue(dir.isDirectory()); } 28 JUNIT (5)

29 TestCase tc = new VectorTest("testClone"); tc.runTest(); TestSuite mysuite = suite(); TestResult result = new TestResult(); mysuite.run(result); 29 JUNIT : E XÉCUTION TEST

30 CACTUS Framework de test pour servlet,JSP,EJB Fonctionne avec conteneur JBSoss et WebLogic pour EJB 30

31 31 Test d'intégration avec Cactus

32 32 CACTUS

33 33 CACTUS

34 CONCLUSION Le test vise à mettre en évidence les erreurs dun logiciel Le test na pas pour objectif de diagnostiquer la cause des erreurs, de corriger les fautes, ou de prouver la correction dun programme Pour un logiciel critique, le coût du test peut représenter plus de 40% du coût du développement 34

35 M ERCI


Télécharger ppt "O UTILS DE TEST FONCTIONNEL ET NON FONCTIONNEL Généralités et cas des EJB Réalisé par: ElhajAyach Souhail Ayadi Haifa Ben Brahim Imen Hichri Abir 1."

Présentations similaires


Annonces Google