Qu’est-ce que l’assurance qualité logicielle ?

La qualité d’un logiciel s’évalue à partir de ses caractéristiques externes et internes. La qualité externe se mesure à la manière dont le logiciel fonctionne en conditions réelles et à son utilité pour les utilisateurs. La qualité interne concerne le code sous-jacent. Les utilisateurs perçoivent surtout le comportement du logiciel. Pour maintenir cette qualité, il faut un code clair et bien écrit.

External and Internal Software QualityTest External Quality(Visible)ReliabilityEfficiencyMaintenanceCostReview Internal Quality (Invisible)ComplexityProgramStructureFlexibilityReadabilityReusabilityTestabilityCodingPractices
Ouvrir le schéma en taille réelle

Qualité logicielle

Qu’est-ce que l’assurance qualité logicielle ?

Deux approches importantes permettent d’évaluer la qualité logicielle.

  1. Approche par la gestion des défauts
  2. Approche par les attributs de qualité
Tout écart par rapport aux exigences du client peut être considéré comme un défaut. Des exigences mal comprises peuvent entraîner des erreurs de conception. Une logique fonctionnelle défaillante, un code incorrect ou une mauvaise gestion des données peuvent aussi provoquer des défauts. L’approche par la gestion des défauts consiste à les consigner, à les classer par gravité et à les compter. L’équipe prend ensuite les mesures adaptées à leur gravité. Les cartes de contrôle peuvent aider à mesurer la capabilité du processus de développement.

Defect Management ApproachMetricsDevelopmentProcessQAProcessQA1. RiskAnalysis2. DefectDetection3. AnalysisSoftwareDevelopmentAssign Severityand PrioritySoftwareDevelopmentConductImpactAnalysisfor HighPriorityDefect Management Approach
Ouvrir le schéma en taille réelle

Approche par la gestion des défauts


Un ancien modèle de qualité des produits logiciels, ISO/IEC 9126-1, regroupe les attributs de qualité en six caractéristiques.

Quality Attribute ApproachFunctionalitySuitabilityAccuracyInteroperabilityComplianceSecurityReliabilityMaturityRecoverabilityUsabilityUnderstandabilityLearnabilityEfficiencyTime Behavior(Time Taken)Resource UtilizationMaintainabilityAnalyzabilityChangeabilityStabilityTestabilityPortabilityAdaptabilityInstallabilityConformanceReplaceability
Ouvrir le schéma en taille réelle

Approche par les attributs de qualité

1. Fonctionnalité Ensemble des fonctions essentielles fournies par le logiciel.

  • Adéquation. Les fonctions du logiciel répondent-elles aux besoins ?
  • Exactitude. Les fonctions sont-elles correctement mises en œuvre ?
  • Interopérabilité. Comment le logiciel interagit-il avec les autres composants du système ?
  • Conformité. Le logiciel respecte-t-il les lois et les directives applicables ?
  • Sécurité. Le logiciel peut-il traiter les transactions de données de manière sûre ?
2. Fiabilité Capacité du logiciel à fonctionner dans des conditions spécifiées pendant une durée définie, y compris lorsque des composants tombent en panne.
  • Maturité. À quelle fréquence le logiciel tombe-t-il en panne ?
  • Capacité de récupération. Dans quelle mesure le système peut-il reprendre un fonctionnement complet après une panne ?
3. Facilité d’utilisation Degré de facilité avec lequel une fonction peut être utilisée.
  • Compréhensibilité. Les utilisateurs comprennent-ils facilement les fonctions ?
  • Facilité d’apprentissage. Quel effort les utilisateurs de différents niveaux d’expérience doivent-ils fournir pour comprendre les fonctions ?
4. Efficience Elle dépend généralement de l’architecture et des pratiques de programmation employées lors du développement.

5. Maintenabilité Aussi appelée facilité de maintenance, elle dépend fortement de la lisibilité et de la complexité du code. Elle concerne la capacité à repérer et à corriger les défauts.
  • Facilité d’analyse. Est-il facile de trouver la cause principale d’une défaillance ?
  • Facilité de modification. Quel effort faut-il fournir pour modifier le code et corriger un défaut ?
  • Stabilité. Dans quelle mesure le comportement du système reste-t-il stable après une modification ?
  • Testabilité. Quel effort faut-il fournir pour tester le système ?
6. Portabilité Capacité du système à s’adapter aux changements de son environnement.
  • Adaptabilité. Le système s’adapte-t-il facilement aux changements de ses spécifications ?
  • Facilité d’installation. Est-il facile d’installer le système ?
  • Conformité. Elle correspond à la conformité dans la catégorie de la fonctionnalité.
  • Facilité de remplacement. Est-il facile de remplacer un composant du système dans un environnement donné ?

Coût de la qualité logicielle Les tests demandent du temps, de l’argent et du travail. L’analyse des coûts de la qualité logicielle aide à comprendre le retour sur cet investissement (ROI).

Cost of Software QualityCost ofSoftwareQualityPreventionCostsTestabilityAutomation Testing(Unit and Integration)ContinuousIntegrationAppraisal CostsQA Test PlansUATManual TestingInternal FailureCostsOperationalDowntimeExternal FailureCostsFinancial LossesLoss of Business
Ouvrir le schéma en taille réelle

Coût de la qualité logicielle

Les coûts de la qualité comprennent les coûts de conformité et de non-conformité. Les coûts de conformité incluent les postes suivants.
  1. Coûts de prévention. Ils couvrent la bonne application des pratiques d’assurance qualité, notamment la formation des équipes, les revues de code et les autres activités d’assurance qualité.
  2. Coûts d’évaluation. Ils couvrent la planification et la réalisation des tests, dont la conception et l’exécution des cas de test.
Les coûts de non-conformité proviennent des défaillances suivantes.
  1. Défaillances internes. Les coûts surviennent lorsque les premiers tests internes échouent. Ils comprennent le travail nécessaire aux développeurs pour corriger les défauts détectés lors des tests unitaires ou des tests de composants.
  2. Défaillances externes. Les coûts surviennent lorsque les clients découvrent des défauts qui ont échappé aux testeurs. Ils sont beaucoup plus élevés que les coûts des défaillances internes, surtout si les clients sont mécontents ou signalent une défaillance qui doit être traitée à un niveau supérieur.
Coût des défaillances logicielles Plusieurs facteurs peuvent contribuer aux défaillances logicielles.
  1. Difficulté à suivre l’évolution des besoins. À mesure que le logiciel vieillit, l’ajout de fonctionnalités sans revoir le code existant peut le rendre plus volumineux et plus difficile à maintenir. Avec le temps, il devient difficile de repérer les parties du code à modifier.
  2. Les performances peuvent se dégrader lorsque le logiciel, sa charge de travail ou ses données évoluent. Par exemple, une fuite de mémoire peut augmenter la consommation de mémoire pendant l’exécution. Mesurez le problème et recherchez sa cause avant de décider de corriger, de mettre à niveau ou de remplacer le logiciel.
  3. Une correction peut introduire une régression, en particulier si d’autres composants dépendent du code modifié. Confirmez que la correction résout le problème d’origine et testez les comportements concernés. Tenez compte des résultats, du coût de maintenance et de l’impact sur l’activité pour décider de la suite.
Tests logiciels et assurance qualité Dans le secteur informatique, on confond souvent l’assurance qualité logicielle et les tests logiciels. Les testeurs sont parfois présentés comme des professionnels de l’assurance qualité, car les deux activités visent à obtenir un logiciel de qualité.
L’assurance qualité définit et met en œuvre les processus nécessaires pour répondre aux exigences de qualité du client et suivre les procédures du cycle de développement. Elle adopte une démarche proactive axée sur les éléments suivants.
  1. Prévention des défauts
  2. Processus
  3. Amélioration continue de ces processus
Les tests logiciels examinent rigoureusement le logiciel pour détecter des défauts et des erreurs. Ils cherchent les écarts à corriger par rapport aux exigences du client. Les tests constituent une activité du contrôle qualité axée sur le produit. Ils détectent les défauts. Leur correction relève du débogage.

Assurance qualité et contrôle qualité L’assurance qualité et le contrôle qualité sont étroitement liés et remplissent des rôles différents. L’assurance qualité s’appuie sur les processus pour prévenir les problèmes. Le contrôle qualité regroupe les activités qui repèrent et traitent les problèmes de qualité du produit.
Les tests font partie du contrôle qualité. L’assurance qualité et le contrôle qualité contribuent tous deux à la gestion de la qualité. L’assurance qualité définit et améliore les processus qui aident les équipes à répondre aux exigences du client.

Quality Management, Assurance and ControlQuality ManagementQuality AssuranceQuality Control
Ouvrir le schéma en taille réelle

Assurance qualité et contrôle qualité

Le contrôle qualité comprend les activités qui vérifient et maîtrisent les caractéristiques du produit et s’assurent que le développement respecte les exigences définies. Ses principales activités sont l’examen et les tests du produit.

Une équipe de contrôle qualité repère les produits ou les services qui ne répondent pas aux normes de qualité de l’entreprise. Si elle détecte un problème, elle peut arrêter la production jusqu’à sa résolution.

Importance des audits et des inspections

Un audit examine systématiquement la façon dont une organisation effectue les tests logiciels. Les auditeurs examinent les processus documentés et vérifient si l’organisation ou l’équipe respecte les normes définies.

Une inspection est une revue formelle d’un produit de travail, comme les exigences, la conception ou le code. Des personnes autres que l’auteur recherchent des défauts et des écarts par rapport aux normes convenues. Une inspection type comprend les activités suivantes.

  1. Planification
  2. Présentation générale et préparation individuelle
  3. Réunion d’inspection
  4. Corrections
  5. Suivi




Nous vous garantissons que votre formation gratuite en ligne vous permettra de réussir l’examen de certification en test logiciel !

  1. 01

    Inscrivez-vous en ligne

    Choisissez votre certification accréditée et terminez votre inscription.

  2. 02

    Recevez votre code d’accès

    Votre code d’accès personnel à l’examen vous est envoyé immédiatement par e-mail.

  3. 03

    Préparez et passez l’examen

    Suivez votre formation gratuite et répondez en ligne aux 50 questions à choix multiple.

  4. 04

    Obtenez une certification à vie

    Recevez votre certificat valable dans le monde entier et votre badge numérique vérifiable.

Exemple de certificat Accredited Software Test Manager Certification™
S’inscrire à la certification

VOTRE FORMATION PREMIUM GRATUITE EN LIGNE

La deuxième édition de Software Testing Revealed est à votre disposition.

Nous avons créé votre formation avec un groupe de dirigeants et de responsables d’équipe renommés, de coachs en test logiciel, de mentors, d’experts et de spécialistes reconnus des principaux secteurs. Elle est accessible à toute personne qui visite International Software Test Institute™. Vous trouverez les ressources dans les rubriques Votre livre gratuit sur les tests logiciels et Votre formation premium gratuite en test logiciel du menu principal.

Ces ressources sont la propriété intellectuelle d’International Software Test Institute™ et sont protégées par le droit d’auteur. Nous les partageons librement avec tous, car mettre notre expertise à disposition aide les professionnels du test logiciel et fait progresser la discipline.

Votre examen de certification comprend des questions à choix multiple. Suivez votre formation en ligne pour acquérir les connaissances nécessaires pour réussir l’examen et obtenir votre certification en test logiciel.

Nous vous garantissons que votre formation premium gratuite en ligne vous permettra de réussir l’examen de certification en test logiciel !