Introduction à
l'Assurance de
Qualité Logicielle
(AQL)
LAJOUAD Rachid
Erreurs, fautes et pannes du logiciel
• Bug/défaut/faute conséquence d'erreurs
humaines
• résulte en non-conformité aux ex...
Sources d'erreurs
Mauvaise définition des exigences
Problèmes de communication entre
clients et développeurs
Déviations dé...
Relation entre processus de
développement et défauts
• La majorité des défauts sont
introduits tôt
Phase
Pourcentage
de dé...
Qu'est ce la Qualité logicielle ?
Conformité aux exigences
Sens le plus étroit de qualité du logiciel
• absence de bugs
• ...
Qu'est ce la Qualité logicielle ?
Selon l'IEEE
La qualité logicielle est:
(1) Le degré avec lequel un système, un
composan...
Importance de la qualité du logiciel
• communication (ex. syst. téléphone, syst. email)
• santé (monitoring),
• transport ...
Importance de la qualité du logiciel
Plusieurs
désastres
historiques
attribués au
logiciel
1988 abattage d'un
Airbus 320 p...
Importance de la qualité du logiciel
Ariane 5 crash 4 Juin 1996
• Vol inaugural du lanceur européen Ariane 5 crash environ...
Importance de la qualité du logiciel
Virus et vers Internet
• Ver Blaster ($US 525 millions)
• Sobig.F ($US 500 millions –...
Problématique de la Qualité Logicielle
Le caractère unique du produit logiciel
• Grande complexité
• Opportunités limités ...
Facteurs de Qualité Logicielle
• Modèle de qualité logicielle de McCall's
Facteurs de qualité logicielle
Liés à l’opératio...
Les facteurs de la qualité
• Point de vue utilisateur
• Fiabilité : pas de « plantage »
• Sécurité : pas de mise en danger...
Les facteurs de la qualité
• Point de vue développeur
• Testabilité : facilité de vérification du
code
• Maintenabilité : ...
Les facteurs de la qualité
Point de vue communication
• Réutilisabilité : utiliser les modules développés
dans de futurs p...
Facteurs, Critères, Métriques
Critères et Facteurs
Facteur
Qualité
Rapport avec Logiciel?
Externe
Critère
Interne
Métrique...
Les facteurs et Critères
Facteur Critères
Fiabilité Tolérance aux fautes, cohérence, précision, simplicité.
Conformité Tra...
Les facteurs et Critères (Liens)
Exercice : trouver les liens entre facteurs de qualité et critères de
qualité
Lajouad Rac...
Les facteurs et Critères (Liens)
Lajouad Rachid19 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
l'assurance de qualité logicielle ?
Selon D. Galin, L'assurance qualité logicielle est:
Un ensemble systématique et prévu ...
Trois principes généraux de l'AQL
Savoir ce
que vous
faites
Savoir ce
que vous
devriez faire
Savoir
mesurer la
différence
...
Tests du Logiciel
LAJOUAD Rachid
Compiler un ensemble de situation d'erreurs devant servir à la
prévention des erreurs (par des actions correctives et prév...
Ilestimpossiblede
testerunprogramme
complètement grand espace de données (entrées)
grand espace de sorties
grand espace d'...
Axiomes de Tests
Espace d'entrées/Sorties énorme
int Fct(int x,int y){
...
}
Test exhaustif ⇒
essayer toutes les
combinais...
Axiomes de Tests
Grand nombre de séquences d'exécution
...
for(int i = 0; i < n; ++i) {
if (a.get(i) == b.get(i))
x[i] = x...
Les tests ne peuvent prouver l'absence de
bugs
Plus de bugs sont trouvés, plus il y a de bugs
Paradoxe du pesticide
• un s...
Tests Unitaires
• Tests boîte noire  basés sur spécification
• Tests boîte blanche  basés sur logique interne
• Tests bo...
Fin …
Lajouad RachidAssurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)29
Prochain SlideShare
Chargement dans…5
×

Qualite1

952 vues

Publié le

Premier diapos sur la qualitée logicielle

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
952
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
43
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Qualite1

  1. 1. Introduction à l'Assurance de Qualité Logicielle (AQL) LAJOUAD Rachid
  2. 2. Erreurs, fautes et pannes du logiciel • Bug/défaut/faute conséquence d'erreurs humaines • résulte en non-conformité aux exigences • se manifeste comme une panne lors de l'exécution Processus de développement du logiciel Erreur Faute Panne Lajouad Rachid2 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  3. 3. Sources d'erreurs Mauvaise définition des exigences Problèmes de communication entre clients et développeurs Déviations délibérées des exigences du logiciel Erreur de conception (logique) Erreurs de programmation Lajouad Rachid3 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  4. 4. Relation entre processus de développement et défauts • La majorité des défauts sont introduits tôt Phase Pourcentage de défaut Effort pour fixer défaut Exigences 56 82 Design 27 13 Code 7 1 Autres 10 4 Lajouad Rachid4 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  5. 5. Qu'est ce la Qualité logicielle ? Conformité aux exigences Sens le plus étroit de qualité du logiciel • absence de bugs • bas ratio de défauts (% de défauts/unité de taille) • haute fiabilité (nombre de pannes par n heures d'opération) Temps Moyen entre Pannes (Mean Time To Failure MTTF) probabilité d'opération sans panne dans un temps spécifié. Lajouad Rachid5 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  6. 6. Qu'est ce la Qualité logicielle ? Selon l'IEEE La qualité logicielle est: (1) Le degré avec lequel un système, un composant ou un processus satisfait à ses exigences spécifiées. (2) Le degré avec lequel un système, un composant ou un processus satisfait aux besoins ou attentes de ses clients/usagers. Lajouad Rachid6 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  7. 7. Importance de la qualité du logiciel • communication (ex. syst. téléphone, syst. email) • santé (monitoring), • transport (ex. automobile, aéronautique), • échanges économiques (ex. ecommerce), • entertainment, … etc. Le logiciel est une composante majeure des systèmes informatiques (environ 80% du coût) – utilisés pour • d'argent • de réputation • de perte de vie Les défauts du logiciel sont extrêmement coûteux en terme Lajouad Rachid7 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  8. 8. Importance de la qualité du logiciel Plusieurs désastres historiques attribués au logiciel 1988 abattage d'un Airbus 320 par l'USS Vincennes – affichage cryptique et confusant du logiciel de détection 1991 échec de missile patriot calcul imprécis de temps dû à des erreurs arithmétiques London Ambulance Service Computer Aided Dispatch System – plusieurs décès Le 3 Juin 1980, North American Aerospace Defense Command (NORAD) rapporta que les U.S. étaient sous attaque de missiles Échec du 1er lancement op de la navette spatiale dont le logiciel d'exploitation temps réel à un problème de synchronisation entre les ordinateurs de contrôle de vol panne de 9 heures du réseau téléphonique longue distance d'AT&T – provoqué par un patch de code non testé Lajouad Rachid8 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  9. 9. Importance de la qualité du logiciel Ariane 5 crash 4 Juin 1996 • Vol inaugural du lanceur européen Ariane 5 crash environ 40 secondes après décollage • Perte d'environ ½ milliards de dollars • L'explosion était le résultat d'une erreur logiciel • Exception non capturée due à une erreur de floating point: conversion d'entier 64bit à entier 16bit signed integer appliqué à un nombre plus large que supposé • Le module était réutilisé sans avoir été testé convenablement d'Ariane 4 • Erreur n'était pas supposé survenir avec Ariane 4 • Pas de gestionnaire d'exception Lajouad Rachid9 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  10. 10. Importance de la qualité du logiciel Virus et vers Internet • Ver Blaster ($US 525 millions) • Sobig.F ($US 500 millions – 1milliard) Exploitent des vulnérabilités bien connues du logiciel • Les développeurs de logiciel ne consacrent pas assez d'effort à appliquer des leçons apprises sur les causes des vulnérabilités. • Les mêmes types de vulnérabilités continuent à être vus dans les nouvelles versions des produits qui étaient dans des versions précédentes. Lajouad Rachid10 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  11. 11. Problématique de la Qualité Logicielle Le caractère unique du produit logiciel • Grande complexité • Opportunités limités de détection de (“bugs”) : seulement durant le développement Les environnements de développement du logiciel • Exige un travail d'équipe • Exige la coopération et coordination avec d'autres équipes de développement • Exige des interfaces avec d'autres systèmes • Exige la maintenance pendant plusieurs années Lajouad Rachid11 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  12. 12. Facteurs de Qualité Logicielle • Modèle de qualité logicielle de McCall's Facteurs de qualité logicielle Liés à l’opération du produit Liés à la transition du produit Liés à la révision du produitCorrectude Fiabilité Efficacité Utilisabilité Maintenabilité Flexibilité Testabilité Portabilité Reusabilité Interopérabilité Lajouad Rachid12 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  13. 13. Les facteurs de la qualité • Point de vue utilisateur • Fiabilité : pas de « plantage » • Sécurité : pas de mise en danger de vies humaines/de machines. • Intégrité : protection des données contre les intrusions • Ergonomie : utilisation aisée du logiciel. • Efficacité : minimisation des ressources (temps, mémoire, etc.)
  14. 14. Les facteurs de la qualité • Point de vue développeur • Testabilité : facilité de vérification du code • Maintenabilité : détection et correction aisée des erreurs • Flexibilité : évolution facile
  15. 15. Les facteurs de la qualité Point de vue communication • Réutilisabilité : utiliser les modules développés dans de futurs projets • Portabilité : possibilité de faire tourner le logiciel sur d’autres architectures • Compatibilité : échange de données avec d’autres logiciels
  16. 16. Facteurs, Critères, Métriques Critères et Facteurs Facteur Qualité Rapport avec Logiciel? Externe Critère Interne Métrique Mesure Directe Métriques Obtenues par des Réponses Oui/Non  Métriques Obtenues par des Enquêtes Comment Évaluer? Lajouad Rachid16 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  17. 17. Les facteurs et Critères Facteur Critères Fiabilité Tolérance aux fautes, cohérence, précision, simplicité. Conformité Traçabilité, complétude, cohérence. Facilité d’emplois Apprentissage, Communicabilité , Volume d'E/S ; Taux d'E/S Intégrité (Sécurité) Contrôle des accès Maintenabilité (Réutilisabilité) simplicité, modularité, concision Flexibilité (Adaptabilité) Généralité, auto-descriptivite Portabilité indépendance machine, indépendance système Interopérabilité modularité, données banalisées , communications banalisées Testabilité Simplicité, instrumentation Efficacité efficacité mémoire ,efficacité d'exécution. Lajouad Rachid17 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  18. 18. Les facteurs et Critères (Liens) Exercice : trouver les liens entre facteurs de qualité et critères de qualité Lajouad Rachid18 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  19. 19. Les facteurs et Critères (Liens) Lajouad Rachid19 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  20. 20. l'assurance de qualité logicielle ? Selon D. Galin, L'assurance qualité logicielle est: Un ensemble systématique et prévu d'actions nécessaires à l'obtention d'une confiance adéquate que le procédé de développement de logiciel ou le processus de maintenance d'un produit de système logiciel est conforme aux exigences techniques fonctionnels établies aussi bien qu'aux exigences concernant le schedule et budget. Lajouad Rachid20 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  21. 21. Trois principes généraux de l'AQL Savoir ce que vous faites Savoir ce que vous devriez faire Savoir mesurer la différence Lajouad Rachid21 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  22. 22. Tests du Logiciel LAJOUAD Rachid
  23. 23. Compiler un ensemble de situation d'erreurs devant servir à la prévention des erreurs (par des actions correctives et préventives). Effectuer les tests requis de façon efficiente et effective dans les limite de temps et budget définis. Amener le logiciel testé à un niveau acceptable de qualité (après la correction des défauts identifiés et re-testage). Détecter des défauts avant qu'ils ne causent une panne du système en production. Objectif des tests Lajouad Rachid23 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  24. 24. Ilestimpossiblede testerunprogramme complètement grand espace de données (entrées) grand espace de sorties grand espace d'états grand nombre de chemin d'exécutions subjectivité des spécifications Axiomes de Tests Lajouad Rachid24 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  25. 25. Axiomes de Tests Espace d'entrées/Sorties énorme int Fct(int x,int y){ ... } Test exhaustif ⇒ essayer toutes les combinaisons possibles de x et y Lajouad Rachid25 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  26. 26. Axiomes de Tests Grand nombre de séquences d'exécution ... for(int i = 0; i < n; ++i) { if (a.get(i) == b.get(i)) x[i] = x[i] + 100; else x[i] = x[i]/2; } ... Nombre de chemins = 2n+1 n |Nbre chemins ===== |=============== 1 | 3 10 | 1025 60 | 1.15E+18 ====================== Avec 1ms par cas de test il faut des millions d’années pour n = 60. Lajouad Rachid26 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  27. 27. Les tests ne peuvent prouver l'absence de bugs Plus de bugs sont trouvés, plus il y a de bugs Paradoxe du pesticide • un système tend à développer de la résistance aux techniques de tests utilisés. Axiomes de tests Lajouad Rachid27 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  28. 28. Tests Unitaires • Tests boîte noire  basés sur spécification • Tests boîte blanche  basés sur logique interne • Tests boîte grise  basés sur modèle de design Tests d'intégration Tests de Système inclus • Tests de Fonctionnalité • Tests de Performance Tests d'acceptation • Tests Alpha • Tests Bêta Tests de Régression Types de tests Lajouad Rachid28 Assurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)
  29. 29. Fin … Lajouad RachidAssurance Qualité Logiciel (2 ème BTS DSI – IBN SINA – Kenitra)29

×