Test Flashcards
(18 cards)
C’est quoi un groupe d’assurance/qualité logiciel
Équipe de personnes avec les compétences et la formation nécessaires
pour s’assurer que toutes les actions nécessaires sont prises durant le
processus de développement afin que le logiciel résultant soit conforme
aux exigences techniques établies.
Différence entre une validation et une vérification
Vérification
Évaluation d’un système ou composant
logiciel pour déterminer si les
produits d’une phase donnée du
développement sont conformes aux
conditions imposées au début de cette
phase. Activités: inspections et
revues par les pairs de divers livrables
associés au logiciel, etc.
Validation
Évaluation d’un système ou composant
logiciel durant ou à la fin d’un
cycle de développement, dans le but de
déterminer si les exigences
spécifiées sont satisfaites. La validation est
habituellement associée à
des tests traditionnels basés sur
l’exécution, c’est-à-dire en sollicitant le
logiciel avec des cas de test.
Missions de l’assurance qualité
Découvrir les fautes dans les documents où elles sont introduites, d’une manière systématique, afin d’éviter les effets de propagation. Les études structurées et systématiques de
documentation logicielle sont appelées inspections.
Dériver, d’une manière systématique, des cas de test efficaces
pour découvrir les anomalies.
Automatiser et étendre les activités de test et d’inspection à leur
maximum possible.
Surveiller et contrôler la qualité, e.g., fiabilité, facilité de
maintenance, sécurité, à travers toutes les phases et les activités
du projet.
Tout ceci implique de mesurer par une métrique appropriée le
produit logiciel et ses processus de même qu’une évaluation
empirique du test et des technologies d’inspection.
Principaux problème du développement logiciel
Le logiciel est le plus souvent livré en retard, avec des surcoûts et une qualité insatisfaisante.
La validation et la vérification de logiciel sont rarement systématiques et ne sont pas souvent basées sur des techniques sûres et bien définies.
Les processus de développement de logiciel sont habituellement instables et incontrôlés.
La qualité du logiciel est naïvement mesurée, surveillée et
contrôlée.
Qualite des produit logiciel
Exactitude
Fiabilité
Robustesse
Performance
Convivialité
Facilité de vérification
Facilité de réparation
Facilité d’évolution
Facilité de réutilisation
Portabilité
Facilité de compréhension
Interopérabilité
Facilité de maintenance
Qu’est ce qu’un programme correct
Un programme est correct s’il obéit à sa spécification. On
ne peut établir qu’un programme est correct mais on peut
en évaluer la fiabilité (approximation statistique)
Qu’est ce qu’un programme robuste
Un programme est robuste s’il agit raisonnablement sous
des conditions sévères, inhabituelles ou illégales.
c’est quoi une Défaillance rare, catastrophique ou gênante
rare = programme fiable mais pas correct
catastrophique= programme peut etre robuste mais pas securitaire
gênante:=programme sécuritaire mais pas fiable
Trois principal catégorie du traitement de faute
Évitement des fautes, la détection des faute et la tolérance au faute
différence entre error defect et défaillance
Erreur (Error)
Action humaine qui produit un résultat incorrect (ISO 24765).
Défaut ou faute (Defect)
Une erreur qui, si elle n’est pas corrigée, pourra causer une défaillance (failure) ou produire des résultats incorrects (ISO
24765). Un défaut est introduit dans le logiciel comme conséquence
d’une erreur.
Défaillance ou panne (Failure)
Cessation de l’aptitude d’un produit à accomplir une fonction requise ou de son incapacité à s’en acquitter à l’intérieur des
limites spécifiées précédemment (ISO 25000).
Test vs débogage
Test de logiciel : Exécuter le logiciel pour trouver les fautes ou gagner en confiance dans le système.
deboggage: localiser le problème et le réparer
c’est quoi un cas de test?
Cas de test: Item relié aux tests et qui contient
Un ensemble de données d’entrée de test: reçues d’une source externe (matérielle, logicielle, ou humaine) par le code testé.
Des conditions d’exécution: requises pour exécuter le test, par exemple une base de données qui se trouve dans un certain état,
ou une configuration particulière d’un dispositif matériel.
Les sorties attendues. Il s’agit des résultats spécifiés que le code testé doit produire.
C’est quoi un jeu de test?
Ensemble de cas de test,
combiné ou non à un ensemble de procédure de test.
c’est quoi le buts d’un test
Aucune certitude absolue ne peut être déduite du test.
Le test devrait être intégré avec d’autres activités de vérification, e.g., les inspections.
But principal : démontrer que le logiciel a une sûreté de fonctionnement suffisante.
qu’est ce que le test exhaustif?
Le test exhaustif, i.e., test d’un système logiciel utilisant toutes les
données possibles, est la plupart du temps impossible.
caractéristique d’un test boite noire
le logiciel à tester est considéré comme une boite opaque
le testeur sait ce que fait le logiciel, mais pas comment
applicable à tous les niveaux (fonction, module, système
complet)
particulièrement utile pour révéler des défauts au niveau des spécifications
caracteristique d’un test boite blanche
concentrés sur la structure interne du code
le code (ou un pseudo-code “fidèle”) doit être disponible au testeur
cas de tests conçus pour exercer certaines structures spécifiques
plus longs à concevoir, coder, exécuter, et analyser les résultats, donc typiquement appliqués à des “petits” éléments logiciels
utiles pour révéler des défauts reliés à la conception, ou au code (contrôle, logique, séquences, initialisation, flux de données)