Cours Qualité et Tests Chapitre 1 : Introduction

Slides:



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

Mustapha EL FEDDI Tests Mustapha EL FEDDI
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,
Eléments de Génie Logiciel
M1 MASTER GESTION Séance 3 Pilotage coûts- délais
La Gestion de la Configuration
Manuel Qualité, Structure et Contenus – optionnel
GEF499 Systèmes en temps réel
GEF 243B Programmation informatique appliquée
Gestion des marchés Gestion des marchés Dec 2010.
PLAN DU COURS Outils de traitement des risques
Viet Hung NGUYEN Epinat François
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
1 B Système Enjeux et principes Cours DESS Nantes 04 Décembre 2002 Didier ESSAME.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Safae LAQRICHI, Didier Gourc, François Marmier {safae
Les Ateliers de Génie Logiciel
BTS SIO SLAM 5 Introduction à la gestion de projet
Soutenance de stage - 25 avril 2001
MRP, MRP II, ERP : Finalités et particularités de chacun.
MIAGE MASTER 1 Cours de gestion de projet
Cycle de vie dun logiciel Origine des erreurs La spécification 50% 40% 10% Le design Le codage.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Introduction au Génie Logiciel
Introduction to Information Systems
le profil UML en temps réel MARTE
Lencadrement des élèves au Modèle pédagogique.
Recherche d’un thème de projet Identification d’un besoin
Initiation aux bases de données et à la programmation événementielle
Identification et formation des dirigeants PDD-251.FR 1 Identification et formation des dirigeants.
Facteurs d’utilisation et d’adoption des systèmes électroniques de prise de rendez-vous dans l’industrie des services Présenté par : Loubna Khalif Directeur.
DeltaPROD Suivi des interventions Gestion de configuration
Bilan du Projet Industriel
La voyage de Jean Pierre
A côté des systèmes d'information dans l'entreprise
Supply Chain Management
SYSTEMES D’INFORMATION
SCIENCES DE L ’INGENIEUR
Calculatrice Financière Android
Docteur François-André ALLAERT Centre Européen de Normalisation
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
Project Scope Management
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
La gestion par activités (ABM)
Processus d’éthique des affaires
Conception des Réalisé par : Nassim TIGUENITINE.
Systèmes d’informations : Définition, Composantes, Rôles et Approches.
Cycle de vie: « Waterfall » GEF492A Automne 2014 [HvV § 3.1]
Supports de formation au SQ Unifié
Université de Sherbrooke
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Algorithmique et programmation (1)‏
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
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.
Le système informatique et le système d’information
Introduction au Génie Logiciel
VALIDATION VÉRIFICATION & TESTS
CSI 4506: Introduction à l’Intelligence Artificielle
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
CSI 4506: Introduction à l’Intelligence Artificielle
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Introduction aux Interfaces Homme-Machine
Modèles de cycle de vie et processus de génie
L’élaboration de systèmes et la gestion de projet
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Transcription de la présentation:

Cours Qualité et Tests Chapitre 1 : Introduction Responsables du cours : Héla Hachicha Hatem Ben Sta Inès Ben Jaâfar Année Universitaire : 2012 - 2013

Ce cours s’intéresse à la sûreté de fonctionnement de logiciels

Plan du cours Chapitre 1 : Introduction Chapitre 2 : Modèles de cycle de vie et Test Chapitre 3 : Tests Introduction au test de logiciels Les concepts de test de logiciels Les méthodes de design des cas de test Les stratégies de tests Chapitre 4 : Métriques Chapitre 5 : Qualité

Sommaire Rappel : Génie logiciel Utilité de logiciels Crise de logiciels Comment résoudre les problèmes ? Comment réussir ?

Qu’est-ce que le génie logiciel ? Le génie logiciel est un domaine des sciences de l’ingénieur dont l’objet d’étude est la conception, la fabrication et la maintenance des systèmes informatiques complexes.

Définition du « logiciel » « Des instructions (programmes informatiques), des procédures, et possiblement de la documentation associée et des données appartenant à l’opération d’un système informatique. » IEEE 610.12

Définition du « logiciel » « Un logiciel est : (1) l’ensemble des instructions qui après leurs exécutions nous fournissent la fonction et la performance désirée, (2) les structures de données qui permettent aux programmes de manipuler adéquatement l’information, (3) des documents qui décrivent les opérations et l’utilisation des programmes. » Pressman, R., Software Engineering - A Practitioners Approach, McGraw-Hill, Fifth Edition, 2001

Quelques exemples de spécifications plus complexes Un traducteur automatique : est-ce qu’un texte anglais « bien écrit » ? Un logiciel « boursicoteur » (effectuant des achats et des ventes en bourse) : Comment établir une spécification sans y inclure un modèle du système financier ? Un jeu vidéo : Comment spécifier ce qui est amusant ?

Utilité du logiciel Le logiciel est omniprésent dans nos sociétés ! Le logiciel est de plus en plus complexe Le logiciel est de plus en plus critique L’industrie du logiciel est un des moteurs de la nouvelle économie, il offrira d’excellentes opportunités d’emplois pour de nombreuses années à venir

Utilité du logiciel En dépit des énormes succès, la réputation de l’industrie du logiciel n’est pas si glorieuse que cela: Dépassement de budget Dépassement d’échéance Mauvaises fonctions livrées Erreurs (bugs) et autres problèmes

Crise du logiciel Deux constatations : Historiquement, il y a eu une prise de conscience dans les années 70, appelée la crise du logiciel, dû à un tournant décisif : c’est à cette époque que le coût de construction du logiciel est devenu plus important que celui de la construction du matériel. Deux constatations : Le logiciel n’était pas fiable Il était incroyablement difficile de réaliser dans des délais prévus des logiciels satisfaisant leurs cahiers des charges

Crise du logiciel Le logiciel n’était pas fiable : La première sonde Marine vers Venus qui s’est perdue dans l’espace à cause d’une erreur dans un programme Fortran En 1971, lors d’une expérience météorologique en France, 72 ballons contenant des instruments de mesure furent détruits tout d’un coup à cause d’un défaut dans le logiciel Dans la nuit du 15 au 16 décembre 1990, les abonnés de ATT de la côte Est des Etats-Unis furent privés de tout appel longue distance à cause d’une réaction en chaîne dans le logiciel de réseau due à un changement de version de ce logiciel En juin 1996, 37 sec après le décollage, la fusée Ariane 501 (prototype de la version Ariane 5) fut détruite par une explosion : crash de la fusée Therac-25: appareil canadien servant à traiter le cancer et ayant tué plusieurs patients d’une surdose de radiation

Crise du logiciel Il était incroyablement difficile de réaliser dans des délais prévus des logiciels satisfaisant leurs cahiers des charges Certains projets n’aboutissent jamais Compilateur PL1 chez Control Data dans les années 70 D’autres aboutissent avec des retards importants et des remises en cause dramatiques SNCF a rencontré des difficultés importantes à la mise en service du système Socrate Dans les années 60, OS-360 d’IBM fut livré en retard, il nécessitait plus de mémoire que prévu, son prix de revient dépassait de beaucoup les estimations, et ses premières versions comportaient des erreurs

Crise du logiciel Les symptômes les plus caractéristiques de cette crise sont : Les logiciels réalisés ne correspondent souvent pas aux besoins des utilisateurs Les logiciels contiennent trop d’erreurs (qualité du logiciel insuffisante) Les coûts de développement sont rarement prévisibles et sont généralement prohibitifs La maintenance des logiciels est une tâche complexe et coûteuse Les délais de réalisation sont généralement dépassés Les logiciels sont rarement portables

Comment résoudre les problèmes? Les produits logiciels sont nombreux et complexes Analyse et synthèse des exigences de développement Analyse: décomposer un grand problème en petits problèmes plus compréhensibles L’abstraction est la clé Synthèse: construire (assembler) un logiciel à partir de blocs de construction plus petits L’assemblage est le défi

Comment résoudre les problèmes? Processus d’analyse

Comment résoudre les problèmes? Processus de synthèse

Comment résoudre les problèmes? Pour aider à résoudre un problème, on utilise : Méthode : se réfère à une procédure formelle Outil : un instrument ou un système automatisé pour bien accomplir quelque chose Procédure: une combinaison d’outils et techniques pour produire un produit Paradigme: philosophie ou approche pour construire un produit

Comment réussir? Accomplir les tâches plus rapidement et efficacement Traitement de texte, tableurs , e-mail Supporter les avances en médicine, agriculture, transport, éducation en multimédia, et la plupart des industries Cependant, le logiciel présente des problèmes !

Comment réussir? Terminologies pour décrire les « Bogues » Un défaut : survient lorsque l’être-humain se trompe par mégarde, appelée une erreur, en accomplissant certaines activités logicielles (IEEE 729) Une défaillance : est la modification d’un comportement requis d’un système (IEEE 729)

Comment réussir? (Suite;) Exemples d’un défaut logiciel IRS a engagé la compagnie Sperry pour développer un système automatisé de traitement de l’impôt de revenu fédéral Un extra de $90 M était nécessaire pour rehausser la valeur originale à $103 M IRS a perdu $40.2 M en intérêts et $22.3 M pour les heures supplémentaires car les remboursements ne sont pas retournés à date Les contraintes de fiabilité ont causé l’annulation de plusieurs systèmes critiques de sûreté Critique-de-sûreté : quelque chose dont l'échec menace la vie ou la santé Therac-25: Défaut dans le code a tué plusieurs patients