Chapitre 13 : Vérification & Validation Flashcards
Comment commence le processus de vérification et validation ?
Par le déboggage
Qu’est-ce que le déboggage ?
Processus méthodique de trouver et réduire le nombre de défauts dans un programme lors de l’exécution afin qu’il se comporte tel qu’attendu
Comment agis le déboggage ?
Un débogueur simule l’exécution du code à examiner en pouvant l’exécuter et le suspendre lorsque des conditions spécifiques sont rencontrées
Quelles sont les sévérités des défauts ?
- Bloqueur: empêche de poursuivre les tests jusqu’à ce qu’il soit corrigé ou une alternative est identifiée
- Critique: impossible d’éviter la perturbation d’opérations essentielles; sécurité compromise
- Majeur: opération essentielle est affectée, mais on peut continuer
- Mineur: opération non-essentielle est perturbée
- Inconséquent: pas d’impact significatif sur les
opérations
Quelles sont les méthodes de déboggage ?
Assertions, exceptions, traçage, log Manuel, d’éboueur interactif, déboggage en direct
Explique le concept d’assertion ?
- Vérifier une condition lors de l’exécution et mettre fin au programme en cas d’échec
- Utilisé dans les tests unitaires
Explique le concept d’exception ?
- Détecter une erreur logique ou un cas extrême
- Lancer une exception quand une erreur se produit
- Traiter une exception pour corriger l’erreur
- Continuer l’exécution, arrêter l’exécution, ou propager (récursivement) l’exception au module supérieur
Explique le concept de traçage ?
La trace d’appels (stack trace) retrace l’historique d’exécution du programme
Explique le concept de Log Manuel ?
- Afficher l’information sur l’état du programme ou son flux de contrôle dans un log
- Instructions manuellement insérées dans le code
- S’affiche dans la console, un fichier, etc.
Quels sont les logiciels de suivi de bogue ?
JIRA, Taiga, OpenProject
Quelles doivent être les qualités du logiciel ?
Pertinence fonctionnelle, performance, compatibilité, utilisabilité, fiabilité, sécurité, maintenabilité, transférabilité
Explique la différence entre la validation et la vérification (V&V)
Vérification : Est-ce que le projet a été fait correctement ?
Validation : Est-ce que le logiciel fait la bonne chose ?
Explique ce qu’est la vérification sans exécution
Principe fondamental
➢On ne révise pas son propre travail
➢Synergie entre l’équipe de développeurs et celle
de l’AQ
- Tester le logiciel sans exécuter de cas de test
- Révision du logiciel: lire attentivement
- Vérifier tous les artéfacts produits par chaque workflow à chaque incrément
Qu’est-ce qu’un test ?
- Processus de trouver les différences entre
- Le comportement attendu et
- Le comportement observé
- Technique de détection de fautes qui tente de faire échouer le logiciel ou l’amener à un état erroné, de façon planifiée
Vrai ou faux ? Les tests supposent que la spécification est correcte
Vrai, c’est pour ça qu’il faut toujours valider les spécifications avant de tester
Qu’est-ce qui guide nos tests ?
Spécifications
* Ignore le code: utilise les spécifications pour choisir les cas de test
* Test à la boîte noire, dirigé par les données, par le I/O, par les fonctionnalités
Code
* Ignore les spécifications: utilise le code pour choisir les cas de test
* Test à la boîte blanche, dirigé par la logique, par la structure du code
Quel est la différence entre la boîte noire et la boîte blanche ?
Boite noire
Test fonctionnel
Vérifie si le comportement externe du logiciel est conforme aux exigences
Boite blanche
Test structurel
Vérifie si l’implémentation du logiciel est correcte
Explique l’art du test
- L’art du test est un problème d’optimisation
- Sélectionner un petit ensemble de cas de test gérable, afin de * Maximiser les chances de détecter une faute, tout en
- Minimisant les chances de gaspiller un cas de test
Quels sont les types de test ?
Test unitaire : Chaque module individuellement
Test d’intégration : Groupes de modules interdépendant
Test système : Système complet
Test d’acceptation : Système final (par le client)
Quelle est la différence entre le test alpha et beta ?
Alpha (sur application)
– Effectués par des développeurs
– Environnement contrôlé
– Test à la boite noire et boite blanche
Beta (sur produit)
– Effectués par des utilisateurs
– Conditions normales d’utilisation – Test à la boite noire