Qu'est ce qu'un logiciel de qualité
-
Upload
sylvain-leroy -
Category
Software
-
view
731 -
download
6
Transcript of Qu'est ce qu'un logiciel de qualité
La qualité logicielle
Hello!Je suis Sylvain Leroy
Vous pouvez me trouver sur :[email protected] / @sleroy0 about.me/sylvain_leroy
2007
Ingénieur Recherche
Informatique
2011
Création Société Tocea
2014
Acquisition Tocea Groupe Metrixware
CTO Tocea
2015
Acquisition EchoesGroupe Metrixware
CTO Metrixware
Projet Recherche
Ma Société
▧Assistance Qualité / Recette applications
▧Modernisation automatique d’applications
▧Offre Intégration Usine Logicielle
▧Formateurs Bonnes Pratiques /Cleancode / Qualité / Devops
▧Distributeur Outils de qualité de code (Optimyth)
▧Komea Dashboard (Pilotage développements par la qualité/productivité)
▧Offres Cobol/Mainframe
La qualité logicielle?
“De quoi est composé un
logiciel ?
Les programmes,Les procédures,La documentation,Les données,Les scripts,Les tests...
Qu’est ce que pour vous un logiciel de
qualité ?
Logiciel qui combine un faible taux de défauts et un haut niveau de satisfaction utilisateur. Le logiciel doit remplir toutes les exigences utilisateur et adhérer aux standards internationaux.
La qualité fonctionnelle
Casper Jones
Logiciel qui présente une robuste architecture et peut opérer comme un environnement multi-couches sans panne ou performance dégradée. Le logiciel présente un faible niveau de complexité cyclomatique.
La qualité structurelle
Casper Jones
Logiciel qui a de l’élégance, de l’ergonomie, avec des commandes faciles à utiliser et des interfaces et des écrans interactifs et des sorties bien présentées.
La qualité esthétique
Casper Jones
Quels sont les signes révélateurs de non-qualité ?
La complexité de la mesure
La dette technique
La dette technique
Quand les sprints illustrent la dette technique
“Les développements rapides et peu soucieux de la qualité produisent
généralement des années de maintenance et d’évolutions coûteuses.
La dette technique
Ward Cunningham
Autre conséquence, un logiciel prend le risque d’être abandonné plus
rapidement (vieillissement précoce)
“C’est le coût de ne pas créer un logiciel
de qualité.Chaque fois que qu’une partie du logicielle est refaite, le coût de la
qualité augmente
Le coût de la qualité
Principles of Quality Costs
, edited by Douglas C. Wood, ASQ Quality
Press, 2012.
Dette technique ?
Qualité logicielle=
Satisfaire les clients=
Traquer les défauts=
COnserver sa productivité
Les défauts, évaluation
indirecte de la qualité d’un
produit
Vocabulaire :
▧Défauts : ….▧Anomalie, Faute : ...▧Erreur, Bogue : ….▧Défaillance, Incident : ….
Défauts et méthodologieMéthodologie de dev.
Taux de défauts potentiel / FP
Efficacité de suppression(%)
Taux de défauts délivrés / FP
Cowboy 5.50 83% 0.94
Cycle en V 5.00 85% 0.75
Itérative 4.75 87% 0.62
Orientée objet 4.50 90% 0.45
Agile avec Scrum 4.30 94% 0.26
Test driven development
4.20 95% 0.21
Unified Process (RUP)
4.15 96% 0.17
PSP et TSP 3.50 97% 0.10
85% Certifié Réutilisation
1.75 99% 0.002
Quelles sont les causes
les plus courantes de bugs ?
Les causes de bugs les plus courantes :
▧Exigences non précises▧Spécifications mal rédigés ou absentes▧Déviations volontaires des exigences▧Erreurs de design▧Erreur de codage▧Non conformité avec la documentation
ou les conventions de codage▧Tests insuffisants▧Processus insuffisamment industrialisé▧Erreurs dans la documentation
Quelles sont les
justifications les plus
courantes?
Ceci est une fonctionnalité
TOP 20 Justifications les plus courantes
▧ Cela fonctionne sur ma machine▧ Ou étiez-vous quand le programme a crashé ?▧ Pourquoi voulez-vous faire ceci ainsi ?▧ Vous n’utilisez pas la bonne version du système d’exploitation▧ Même si cela ne fonctionne pas, est-ce gênant ?▧ Avez vous passé l’antivirus ?▧ Quelqu’un a du changé mon code▧ Cela fonctionne mais cela n’a pas été testé▧ Ceci ne peut être à l’origine de Cela!▧ Je ne peux pas tout tester!▧ C’est juste une coïncidence malchanceuse▧ Vous ne devez pas utiliser la dernière version du logiciel▧ Je n’ai pas touché à ce module depuis des lustres!▧ Il doit avoir quelque chose de bizarre dans vos données▧ Qu’avez vous pu taper pour faire planter le logiciel ?▧ Cela doit être un problème matériel▧ Comment est-ce possible ?▧ Cela fonctionnait hier▧ Cela fonctionne sur ma machine▧ Cela n’avait jamais cela avant▧ C’est bizarre▧ C’est normal, c’est une fonctionnalité
Origine et conséquenc
e des erreurs
Crime et ChâtimentExigences Plus difficiles à prévenir et à corriger
L’ajout incessant de fonctionnalités
Source très gênante de bugs
Architecture Clé pour structurer la qualité
Design Plus graves et contaminantes
Code source Les plus nombreuses, faciles à corriger
Failles de sécurité Difficiles à trouver, difficiles à corriger
Documentation Important si non corrigée
Mauvaises corrections Difficiles à trouver
Mauvais jeux de tests Nombreux mais rarement évalués
Mauvaises données Commun mais jamais mesuré
Structure Difficile à identifier
(A suivre)L’industrialisat
ion des développemen
ts