PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Mustapha EL FEDDI Tests Mustapha EL FEDDI
Qualité de Service des Services Web
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Analyse et Programmation Orientées Objets
Processus d'expression du besoin
La Gestion de la Configuration
Les Evolutions et la Maintenance
Tolérance aux défaillances de logiciel
Validation des Systèmes Informatisés Industriels
Quelles sont les composantes principales d ’une activité de formation?
J. Paul Gibson Bureau A 207, Le département LOgiciels-Réseaux
Les tests et les logiciels de gestion de tests
CONTINUOUS TESTING Hakima Zidouri Informatique Réseau 3
Organiser des Tests dans un projet
(Classes prédéfinies – API Java)
Test de logiciel GLG101 AP.TELLE & S.MILOVANOVIC MAI 2007.
Tests et Validation du logiciel
Tests et Validation du logiciel
Les Ateliers de Génie Logiciel
Introduction à la POO: Les classes vs les objets
La revue de projet.
XML-Family Web Services Description Language W.S.D.L.
Introduction au Génie Logiciel
Évaluation des IHM et ergonomie
le profil UML en temps réel MARTE
Analyse et Conception orientée objet
Tests unitaires et fonctionnels
Montage Hors Tension BT
Techniques de test Boulanger Jean-Louis.
Développement d’application web
Structures de données IFT Abder Alikacem Gestion des exceptions Département dinformatique et de génie logiciel Édition Septembre 2009.
TDD : avec ou sans Mocks ? Par Anthony Dahanne, Yannick Ameur,
Coding Dojo - Randori sur le TDD Anthony Hurot Octobre 2010.
Mesures de performance organisationnelle Cours ICO 810
Présentation du mémoire
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Outils de test fonctionnel et non fonctionnel
Introduction Un test sur les tests Ce que n’est pas le test
Test logiciel Xavier Baril.
Supports de formation au SQ Unifié
Architecture Logicielle Les blocs d’applications
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
Interface Homme-machine (interaction humain-machine)
Introduction au Génie Logiciel
Tutorat en bio-informatique
Les outils de la vérification statiquedynamique unitaires intégration vérificateur de syntaxe vérificateur de syntaxe étenduABAP débogueur inspecteur de.
VALIDATION VÉRIFICATION & TESTS
Initiation à la conception des systèmes d'informations
Manuel de formation PNUEThème 15 Diapo 1 Utilisation de l’ÉIE pour s’orienter vers le développement durable F l’ÉIE est un instrument de base F l’ÉIE est.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
MOCK.
Entity/Facet/Pattern Une application qui en a…
2 Tracks Unified Process
IUT CALAIS Rue Louis David Calais Tel : RAPPORT DU PROJET Housseau Brian.
IUT CALAIS Rue Louis David Calais Tel : RAPPORT DU PROJET Gamelin Antoine.
Informatique et Sciences du Numérique
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
IUT CALAIS Rue Louis David Calais Tel : RAPPORT DU PROJET NOM ETUDIANT.
Conférence 2TUP Stéphane Barthon 03/12/
Test et assurance qualité : Focus Projet Outiz
Document de spécification d’exigences Normes IEEE et 29148:2011
IUT de Calais-Boulogne IUT Calais-Boulogne Département Informatique Rue Louis David - BP 689 – Calais Cedex Tel : Fax :
ISO 9001:2000 Interprétation Article 7 Réalisation du produit
Validation d’une méthode d’analyse
▪ IUT de calais-boulogne ▪ IUT Calais-Boulogne Département Informatique Rue Louis David - BP 689 – Calais Cedex Tel : Fax :
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Intégration continue avec Jenkins OTHMAN Maroua - DUCROT Lauriane - ESCURE Philippe - JOLY Aurélien & DESPREZ Jérome 1.
Production de ressources pour le cycle 3 Lycée Diderot le 8 mars 2016
Transcription de la présentation:

PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE

SOMMAIRE Introduction Différents types de tests Les principes Les niveaux de test Le test unitaire Le TTD Conclusion Sources LES TEST LOGICIELS 2

INTRODUCTION Un logiciel : plusieurs programmes et librairies interface documentation répond aux besoins exprimés par le client. LES TEST LOGICIELS 3

INTRODUCTION Tester un logiciel : Analyser et exécuter le programme dans le but de trouver des erreurs ou des défauts. Un test logiciel permet aussi de vérifier s'il répond aux exigences du client. LES TEST LOGICIELS 4

INTRODUCTION Pourquoi vérifier et valider ? Pour éviter les bugs coût économique, humain, environnemental pour l’utilisateur coût de la correction des bugs pour le fournisseur Pour assurer la qualité Capacité fonctionnelle Facilité d'utilisation Fiabilité Performance Maintenabilité Portabilité LES TEST LOGICIELS 5

DIFFÉRENTS TYPES DE TESTS les test fonctionnels : vérifier si le logiciel est conforme à sa spécification (qualité et performances attendues) les tests structurels : détecter toutes les erreurs d'implémentations ainsi que les fonctions non prévues. LES TEST LOGICIELS 6

PRINCIPES Principe n°1 : Un programmeur ne doit pas tester ses propres programmes. Principe n°2 : Ne pas faire les tests en pensant qu'aucune erreur ne sera trouvée (Un programme de test doit retourné par défaut une erreur). Principe n°3 : Il faut chercher à connaitre les résultats attendus avant l'exécution du programme. LES TEST LOGICIELS 7

PRINCIPES Principe n°4 : Il faut vérifier attentivement les résultats de chaque test ainsi que leur pertinence. Principe n°5 : Il faut aussi bien tester avec des programmes de tests valides ou invalides. Principe n°6 : Vérifier ce que fait le programme lorsqu'il n'est pas censé le faire. LES TEST LOGICIELS 8

LES NIVEAUX DE TEST Tests unitaires(ou test de composant): s'assurer que les composants logiciels pris individuellement sont conformes à leurs spécifications et prêts à être regroupés. Tests d'intégration: 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. LES TEST LOGICIELS 9

LES NIVEAUX DE TEST Tests de validation: s'assurer que le système complet, matériel et logiciel, correspond bien à la définition des besoins tels qu'ils avaient été exprimés. Tests de non-régression: vérifier que la correction des erreurs n'a pas affecté les parties déjà testées. [Cela consiste à systématiquement repasser les tests déjà exécutés LES TEST LOGICIELS 10

LES NIVEAUX DE TEST Test de conformité  But : Assurer que le système présente les fonctionnalités attendues par l'utilisateur  Méthode : Sélection des tests à partir de la spécification, de façon à contrôler que toutes les fonctionnalités spécifiées sont implantées selon leurs spécifications Test de performance  But : Assurer que le système garde des temps de réponse satisfaisants à différents niveaux de charge  Méthode : Simulation à différents niveaux de charge d'utilisateurs pour mesurer les temps de réponse du système, l'utilisation des ressources... LES TEST LOGICIELS 11

LES NIVEAUX DE TEST Test de sécurité  But : Assurer que le système ne possède pas de vulnérabilités permettant une attaque de L'extérieur  Méthode : Simulation d'attaques pour découvrir les faiblesses du système qui permettraient de porter atteinte à son intégrité Test de robustesse  But : Assurer que le système supporte les utilisations imprévues  Méthode : Sélection des tests en dehors des comportements spécifiés (entrées hors domaine, utilisation incorrecte de l'interface, environnement dégradé...) LES TEST LOGICIELS 12

LE TEST UNITAIRE PRINCIPE Un test unitaire permet de vérifier qu'une unité partie du code ne contienne pas d'erreur. Il faut donc bien "isoler" la partie (classe) testée.

De nombreux framework dans chaque langage : -Java : Junit -C++ : Cunit, cppUnit,... -Python : Unittest,

LE TEST UNITAIRE Avantages : - Gain de temps sur l'ensemble du projet final - La reprise du code par une autre personne est plus facile - Le code final est plus efficace Inconvénients : - Impression de perdre du temps car beaucoup de test - Demande beaucoup de pratique pour des tests efficaces

LE TEST UNITAIRE static void Main(string[] args) { int a = 1; int b = 2; int resultat = Addition(a, b); if (resultat != 3) Console.WriteLine("Le test a raté"); a = 0; b = 0; resultat = Addition(a, b); if (resultat != 0) Console.WriteLine("Le test a raté"); a = -5; b = 5; resultat = Addition(a, b); if (resultat != 0) Console.WriteLine("Le test a raté"); }

TDD TDD = Test Driven Development => Développement piloté par les tests Technique de développement de logiciel qui préconise d'écrire les tests unitaires avant d'écrire le code source d'un logiciel.

TDD Méthode « traditionnelle » : Méthode « TDD » : Ajouter du code Ajouter un test qui teste le code Ajouter un code de test Ajouter du code qui respecte le test

TDD Cycle : Ecrire un premier test Vérifier qu’il échoue Ecrire le code suffisant pour passer le test Vérifier que le test passe Refactoriser le code

SOURCES diderot.fr/~eleph/Enseignement/ /CoursTests.pdf diderot.fr/~eleph/Enseignement/ /CoursTests.pdf pequan.lip6.fr/~vmm/fr/Enseignement/DESS/Test/Cours/C1.pd f pequan.lip6.fr/~vmm/fr/Enseignement/DESS/Test/Cours/C1.pd f Logiciel-TAGL.pdf Logiciel-TAGL.pdf LES TEST LOGICIELS 20