Techniques de test Boulanger Jean-Louis.

Slides:



Advertisements
Présentations similaires
Mustapha EL FEDDI Tests Mustapha EL FEDDI
Advertisements

Analyse et Programmation Orientées Objets
Tests et Validation du logiciel
1 IXERP consulting. L archivage consiste à extraire de la base de données opérationnelle les informations qu' il n est plus nécessaire de conserver «
Processus d'expression du besoin
L'installation et la diffusion 1 LInstallation et la Diffusion.
La Gestion de la Configuration
Les Evolutions et la Maintenance
2002 Exploratoire ASTRÉE : Analyse Statique de logiciels Temps-RÉel Embarqués 1)Le problème considéré est de démontrer statiquement (à la compilation)
Spécification et qualité du logiciel
CH-II. LA GESTION DES DONNEES TECHNIQUES
L ’application devra être VALIDEE !
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
Tests et Validation du logiciel
Les Ateliers de Génie Logiciel
La revue de projet.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les exigences de la norme ISO 14001
Introduction au Génie Logiciel
.Becquet Yoann .Langa Guillaume .Ribéry Jonathan .Strubbe Ioannis
Algorithmique et Programmation
Sommaire Objectif de Peakup Principes de fonctionnement
Sésame Conseils Bon sens et compétences
.Becquet Yoann .Langa Guillaume .Ribéry Jonathan .Strubbe Ioannis
Algorithmique et Programmation
Manuel de formation PNUE Thème 11 Diapo 1 Objectifs de la mise en œuvre et du suivi de lÉIE : F appliquer les conditions dapprobation F garantir leur efficacité
Unified Modeling Langage
TESTING BUSINESS PROCESSES
Présentation du mémoire
CSI3525: Concepts des Languages de Programmation
Méthodes formelles pour la conception de systèmes répartis par Luigi Logrippo et tous ses collaborateurs et étudiants École d`ingénierie et technologie.
Les étapes du cycle de développement du génie logiciel
SEMINAIRE DE CONTACT novembre 2008 Outils de gestion de projet.
Système de transcription semi-automatique Vers une intégration de la RAP dans le logiciel Transcriber Projet de Master1 31 mai 2007 IUP GMI -Avignon Nicolas.
Sensibilisation a la modelisation
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
Introduction Un test sur les tests Ce que n’est pas le test
Test logiciel Xavier Baril.
ANALYSE METHODE & OUTILS
La production informatique sécurisée et simplifiée
Paradigmes des Langages de Programmation
30 Janvier 2002 Club SEE 63 "Systèmes Informatiques de Confiance" 1 Vérification de spécification de logiciel critique Jean-Louis Boulanger RATPEST/ITF/AQL.
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Le management de l'IVVQ Processus techniques IVVQ
Supports de formation au SQ Unifié
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
LE PLAN QUALITE Utilité du plan qualité :
GENIE LOGICIEL
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.
Management de la qualité
Introduction au Génie Logiciel
Les outils de la vérification statiquedynamique unitaires intégration vérificateur de syntaxe vérificateur de syntaxe étenduABAP débogueur inspecteur de.
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
Initiation à la conception des systèmes d'informations
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
TECHNIQUES D’AUDIT OUTILS DU MANAGEMENT DE LA QUALITE
MOCK.
Année 2006 – 2007 ENSEA © Emeric Rollin
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
- Exemple de détermination de tolérance de localisation
Sensibilisation aux projets logiciels
PROCESSUS D’AUDIT PLANIFICATION DES AUDITS
Document de spécification d’exigences Normes IEEE et 29148:2011
ISO 9001:2000 Interprétation Article 7 Réalisation du produit
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Transcription de la présentation:

Techniques de test Boulanger Jean-Louis

Plan Problématique Principe et définition Processus de Test

Problématique

Vérification & Validation (1) Processus qui s’étale sur l’ensemble du développement Processus qui permet de s'assurer que le logiciel correspond à son cahier des charges, le cahier des charges correspond aux besoins de l'utilisateur. Deux objectifs: Mettre en évidence les défauts du système Estimer si le système peut-être mis en service ou non. Le génie logiciel regroupe un ensemble de techniques et pratiques mis en oeuvre tout au long du cycle de développement du logiciel. Les activités qui permettent de s'assurer que le logiciel développé correspond aux attentes de l'utilisateur final sont appelées Vérification et Validation du logiciel. Elles doivent permettre de mettre en évidence les défauts du système et de décider si le système peut être mis en service ou non.

Les défauts dans le logiciel d’où viennent-ils ? Les défauts sont souvent dûs à : Une mauvaise compréhension Une perte d'informations Des oublis, des fautes

Remarques Leitmotiv: Il faut faire des vérifications aux plus tôt. Plus un défaut est découvert tardivement, plus il coûte cher à corriger. Il faut faire des vérifications aux plus tôt.

Vérification & Validation (2) Le produit (logiciel) correspond à sa spécification? Le construisons nous bien ? Validation : Le produit (logiciel) correspond aux attentes? Construisons nous le bon produit ?

Vérification & Validation (3) Fonctions Codées Fonctions spécifiées

Vérification & Validation (4) Techniques d’analyse et de vérification statiques et dynamiques Statique: Analyse des différentes représentation du produit à tous les stades du développement (revues) Dynamique: Il faut un produit qui pourra être « testé ».

Vérification & Validation (5)

La vérification statique. Activités liées aux tests Revue technique Lectures croisées et inspection (contrôle collégial) Analyse statique Recherche d'anomalies : typage impropre, incohérence des interfaces modules, duplication, mauvais usage des variables, non respect des conventions, ... Evaluation symbolique : simulation exécution sur données symboliques Vérification formelle Les tests statiques sont particulièrement utiles dans les cas de non déterminisme exécutoire comme lors de l'utilisation du parallélisme Traitement des sources

Les revues techniques. Le processus de revues techniques est un processus de vérification statique qui inclus : l'inspection de programme, Vérification des règles de programmation Lisibilité Présence et pertinence des commentaires Vérification conformité code/dossier de conception la revue technique, Processus Documentation, code et test l'audit.

Les analyseurs statiques. Les analyseurs statiques sont des logiciels qui permettent de mettre en évidence de nombreuses anomalies, d'effectuer des mesures de complexité, de générer les graphes de contrôle et d'appel et de vérifier le respect de normes de programmation sans exécution du code. Les principales anomalies rencontrées sont (liste non exhaustive): Composants isolés (en général jamais appelés - attention malgré tout aux composants utilisés par les interfaces graphiques) Sauts de niveaux. Un graphe d'appel se structure en niveaux hiérarchiques qui doivent être respectés. Un saut de plusieurs niveaux indique une mauvaise conception de l'application. Graphe trop large (mauvaise décomposition hiérarchique). Graphe trop profond. L'application a été décomposée en petits composants qui risquent de ne plus avoir de fonctionnalités précises et cela risque également de poser des problèmes au moment des tests d'intégration. Cette phase est accompagnée du calcul d'un certain nombre de mesures permettant une quantification de la "qualité" de l'architecture de l'application.

La vérification formelle. Ce type de vérification permet de prouver qu'un programme est conforme à sa spécification. Pour cela il faut utiliser des langages de spécifications formelles (c'est-à-dire que la sémantique du langage doit être définie de manière formelle) et que la notation soit en cohérence avec les techniques de preuves que l'on va utiliser). Les langages Z, B, VDM sont des langages formels. On peut également utiliser des preuves logiques pour décider que le programme est logiquement conforme aux spécifications ou qu'il se terminera, par exemple. La mise en oeuvre des langages formels ou des techniques de preuves logiques n'est pas triviale et ne se justifie que pour des logiciels dits critiques c'est-à-dire ceux qui doivent avoir une (très) bonne fiabilité.

Qu’est ce que le test ? G. Myers, The Art of Software Testing Selon l'I.E.E.E. : « Le test est l'exécution ou l'évaluation d'un système ou d'un composant, par des moyens automatiques ou manuels, pour vérifier qu'il répond à ses spécifications ou identifier les différences entre les résultats attendus et les résultats obtenus. » G. Myers, The Art of Software Testing « Tester c’est exécuter le programme dans l’intention d’y trouver des anomalies ou des défauts. »

Tester Rechercher les inadéquations d'un système logiciel par rapport à des références établies comme (Gaudel & Co, 96) : Spécifications Normes Règles Documents concernant le système Activités liées aux tests statiques : Traitement des sources dynamiques : Repose sur l'exécution

Test dynamique (1) Pour tester un programme, on l’exécute avec des données semblables à celles qu’il devra traiter lorsqu’il sera opérationnel. A partir des anomalies de fonctionnement, on en déduit les défauts du programme.

Test dynamique (2) D’où quelque question: Comment choisir les entrées du programme ? Comment décider que le résultat est bon ou mauvais ? Quand faire les tests ? Quel outillage ?

Efficacité Le test est une activité a part entière du processus de développement, elle doit être organisée, planifiée et outillée. Les tests doivent être reproductible: Formalisation Archivage, Documentation, Outillage, Automatisation du jeu et du rejeu ?