Podcast
Questions and Answers
Quelle est la principale différence entre les tests de boîte noire et les tests de boîte blanche?
Quelle est la principale différence entre les tests de boîte noire et les tests de boîte blanche?
- Les tests de boîte noire nécessitent l'accès au code source, tandis que les tests de boîte blanche non.
- Les tests de boîte blanche nécessitent l'accès au code source, tandis que les tests de boîte noire non. (correct)
- Les tests de boîte noire sont plus rapides à exécuter que les tests de boîte blanche.
- Les tests de boîte blanche sont utilisés pour tester l'interface utilisateur, tandis que les tests de boîte noire testent la logique interne.
Un testeur, lors de la sélection des tests, doit ignorer la structure interne d'un composant.
Un testeur, lors de la sélection des tests, doit ignorer la structure interne d'un composant.
False (B)
Quel est l'objectif principal d'un testeur lors de la sélection des valeurs d'exécution pour tester un composant?
Quel est l'objectif principal d'un testeur lors de la sélection des valeurs d'exécution pour tester un composant?
Mettre en défaut le composant
Un composant effectue un ______ ou réalise une action en fonction de paramètres d’entrée.
Un composant effectue un ______ ou réalise une action en fonction de paramètres d’entrée.
Quelle stratégie un testeur doit-il utiliser pour déterminer les valeurs de test?
Quelle stratégie un testeur doit-il utiliser pour déterminer les valeurs de test?
Quelle est l'hypothèse principale de l'analyse partitionnelle concernant le comportement d'un composant pour les valeurs d'entrée?
Quelle est l'hypothèse principale de l'analyse partitionnelle concernant le comportement d'un composant pour les valeurs d'entrée?
Dans l'analyse partitionnelle, les classes d'équivalence peuvent se chevaucher partiellement pour assurer une couverture de test complète.
Dans l'analyse partitionnelle, les classes d'équivalence peuvent se chevaucher partiellement pour assurer une couverture de test complète.
Dans le contexte de l'analyse partitionnelle, comment définit-on un objectif de test à partir d'une classe d'équivalence Ci ?
Dans le contexte de l'analyse partitionnelle, comment définit-on un objectif de test à partir d'une classe d'équivalence Ci ?
Dans l'analyse partitionnelle, l'ensemble E des entrées admissibles du composant est l'______ des classes Ci.
Dans l'analyse partitionnelle, l'ensemble E des entrées admissibles du composant est l'______ des classes Ci.
Associez les termes à leur description correcte dans le contexte de l'analyse partitionnelle :
Associez les termes à leur description correcte dans le contexte de l'analyse partitionnelle :
Quelle technique de test se base uniquement sur les spécifications sans examiner les détails d'implémentation du code?
Quelle technique de test se base uniquement sur les spécifications sans examiner les détails d'implémentation du code?
La technique de test Boîte blanche génère des valeurs de test uniquement à partir des spécifications, sans considérer le graphe de flot de contrôle.
La technique de test Boîte blanche génère des valeurs de test uniquement à partir des spécifications, sans considérer le graphe de flot de contrôle.
Dans le contexte des tests, définissez ce qu'est un 'objectif de test'.
Dans le contexte des tests, définissez ce qu'est un 'objectif de test'.
Un _ est une combinaison de données d'entrée et du résultat attendu, le tout associé à un objectif de test.
Un _ est une combinaison de données d'entrée et du résultat attendu, le tout associé à un objectif de test.
Associez les éléments suivants relatifs à l'exemple d'achat de boisson:
Associez les éléments suivants relatifs à l'exemple d'achat de boisson:
Parmi les méthodes de sélection de tests Boîte noire, laquelle vise à identifier des ensembles de valeurs d'entrée ayant un comportement similaire du composant à tester?
Parmi les méthodes de sélection de tests Boîte noire, laquelle vise à identifier des ensembles de valeurs d'entrée ayant un comportement similaire du composant à tester?
Dans l'analyse partitionnelle, une classe d'équivalence représente un ensemble de valeurs pour lesquelles le comportement du composant est différent.
Dans l'analyse partitionnelle, une classe d'équivalence représente un ensemble de valeurs pour lesquelles le comportement du composant est différent.
Nommez au moins deux méthodes de sélection de tests Boîte noire.
Nommez au moins deux méthodes de sélection de tests Boîte noire.
Les données fournies en entrée à un système pour déclencher un objectif de test sont appelées _.
Les données fournies en entrée à un système pour déclencher un objectif de test sont appelées _.
Quel est le but principal du graphe de flot de contrôle dans la technique de test Boîte blanche?
Quel est le but principal du graphe de flot de contrôle dans la technique de test Boîte blanche?
Considérant les conditions C1 à C6 (a < 20
, b < 20
, c < 20
, a < b + c
, b < a + c
, c < a + b
), quel est l'impact le plus probable d'un défaut dans la condition C4 sur la classification des triangles?
Considérant les conditions C1 à C6 (a < 20
, b < 20
, c < 20
, a < b + c
, b < a + c
, c < a + b
), quel est l'impact le plus probable d'un défaut dans la condition C4 sur la classification des triangles?
Si les conditions C7, C8 et C9 (a = b
, a = c
, b = c
) sont toutes fausses, alors le triangle est nécessairement scalène.
Si les conditions C7, C8 et C9 (a = b
, a = c
, b = c
) sont toutes fausses, alors le triangle est nécessairement scalène.
Si les conditions C1, C2 et C3 (a < 20
, b < 20
, c < 20
) sont toutes vraies, mais que A5 ('Erreur d’entrée') est toujours retourné, quel type d'erreur pourrait être présent dans le code?
Si les conditions C1, C2 et C3 (a < 20
, b < 20
, c < 20
) sont toutes vraies, mais que A5 ('Erreur d’entrée') est toujours retourné, quel type d'erreur pourrait être présent dans le code?
Si les conditions C7 et C9 (a = b
, b = c
) sont vraies, alors le triangle est au minimum ______.
Si les conditions C7 et C9 (a = b
, b = c
) sont vraies, alors le triangle est au minimum ______.
Faites correspondre les conditions suivantes avec leur impact sur la classification des triangles:
Faites correspondre les conditions suivantes avec leur impact sur la classification des triangles:
Dans le contexte des tables de décision, qu'est-ce qu'un 'variant'?
Dans le contexte des tables de décision, qu'est-ce qu'un 'variant'?
Dans une table de décision, chaque condition $C_i$ doit avoir un ensemble infini de valeurs possibles $V_i$.
Dans une table de décision, chaque condition $C_i$ doit avoir un ensemble infini de valeurs possibles $V_i$.
Dans le problème FIZZBUZZ, si l'entrée est 30, quelle action (A1, A2, A3, A4) est réalisée selon la table de décision?
Dans le problème FIZZBUZZ, si l'entrée est 30, quelle action (A1, A2, A3, A4) est réalisée selon la table de décision?
Dans une table de décision, la réalisation d'une action $A_j$ est déterminée par une fonction $r_j$ qui prend en entrée un ______ et renvoie soit 0 soit 1.
Dans une table de décision, la réalisation d'une action $A_j$ est déterminée par une fonction $r_j$ qui prend en entrée un ______ et renvoie soit 0 soit 1.
Associez chaque condition du problème des triangles avec sa description:
Associez chaque condition du problème des triangles avec sa description:
Dans le contexte des tables de décision, quelle est l'utilité principale de définir des conditions $C_k$ et leurs valeurs possibles $V_i$?
Dans le contexte des tables de décision, quelle est l'utilité principale de définir des conditions $C_k$ et leurs valeurs possibles $V_i$?
Dans le problème FIZZBUZZ, si l'entrée est 7, l'action A4 (afficher '_') est réalisée car 7 n'est divisible ni par 3, ni par 5, ni par 15.
Dans le problème FIZZBUZZ, si l'entrée est 7, l'action A4 (afficher '_') est réalisée car 7 n'est divisible ni par 3, ni par 5, ni par 15.
Dans le problème des triangles, si a=5, b=5 et c=5, quelle action serait réalisée (A1, A2, A3, A4 ou A5)?
Dans le problème des triangles, si a=5, b=5 et c=5, quelle action serait réalisée (A1, A2, A3, A4 ou A5)?
Dans les tables de décision, un cas de test est défini par chaque ______.
Dans les tables de décision, un cas de test est défini par chaque ______.
Pourquoi est-il important d'identifier les 'variants impossibles' dans une table de décision comme mentionné dans le texte?
Pourquoi est-il important d'identifier les 'variants impossibles' dans une table de décision comme mentionné dans le texte?
Quelle est la principale utilité de l'analyse partitionnelle dans le test de logiciels?
Quelle est la principale utilité de l'analyse partitionnelle dans le test de logiciels?
Dans le contexte des tests de logiciels, une année séculaire est toujours bissextile.
Dans le contexte des tests de logiciels, une année séculaire est toujours bissextile.
Quel est l'avantage d'utiliser la méthode 'All pairs' par rapport à la méthode 'All singles' lors de la génération de jeux de tests, en particulier pour la fonction Lendemain
(qui calcule le lendemain d'une date) ?
Quel est l'avantage d'utiliser la méthode 'All pairs' par rapport à la méthode 'All singles' lors de la génération de jeux de tests, en particulier pour la fonction Lendemain
(qui calcule le lendemain d'une date) ?
La méthode générale de test combinant l'analyse partitionnelle et les tests aux limites implique le calcul des classes d'équivalence pour chaque ______ d'entrée.
La méthode générale de test combinant l'analyse partitionnelle et les tests aux limites implique le calcul des classes d'équivalence pour chaque ______ d'entrée.
Associez les types de tests aux cas d'utilisation appropriés :
Associez les types de tests aux cas d'utilisation appropriés :
Quelle est la plage d'années valides spécifiée pour la fonction datevalide(jour, mois, annee)
?
Quelle est la plage d'années valides spécifiée pour la fonction datevalide(jour, mois, annee)
?
La fonction datevalide(jour, mois, annee)
doit retourner 'Vrai' pour la date (31, 2, 2023).
La fonction datevalide(jour, mois, annee)
doit retourner 'Vrai' pour la date (31, 2, 2023).
Pourquoi est-il important de prendre en compte les années bissextiles lors de la validation d'une date?
Pourquoi est-il important de prendre en compte les années bissextiles lors de la validation d'une date?
Dans l'analyse partitionnelle, on choisit ______ valeur(s) à tester par classe d'équivalence.
Dans l'analyse partitionnelle, on choisit ______ valeur(s) à tester par classe d'équivalence.
Quelle est la condition pour qu'une année soit considérée comme bissextile?
Quelle est la condition pour qu'une année soit considérée comme bissextile?
La méthode 'All singles' teste toutes les paires de valeurs possibles des paramètres d'entrée.
La méthode 'All singles' teste toutes les paires de valeurs possibles des paramètres d'entrée.
Quel type de tests est particulièrement utile pour identifier les erreurs causées par des valeurs en dehors des limites spécifiées?
Quel type de tests est particulièrement utile pour identifier les erreurs causées par des valeurs en dehors des limites spécifiées?
Les tables de décision sont particulièrement adaptées aux programmes dont le comportement dépend de ______ conditions.
Les tables de décision sont particulièrement adaptées aux programmes dont le comportement dépend de ______ conditions.
Dans l'analyse partitionnelle de la fonction Lendemain
, pourquoi est-il important de considérer les fins de mois et d'année?
Dans l'analyse partitionnelle de la fonction Lendemain
, pourquoi est-il important de considérer les fins de mois et d'année?
Quelle est la première étape de la méthode générale combinant l'analyse partitionnelle et les tests aux limites?
Quelle est la première étape de la méthode générale combinant l'analyse partitionnelle et les tests aux limites?
Flashcards
Test Boîte Noire
Test Boîte Noire
Tests basés sur la connaissance des entrées et sorties, sans examiner le code interne.
Test Boîte Blanche
Test Boîte Blanche
Tests basés sur la connaissance de la structure interne (code) du composant.
Fonctionnement d'un composant
Fonctionnement d'un composant
Entrée -> Calcul/Action -> Sortie. Le testeur cherche les entrées qui causent des erreurs.
Rôle du testeur
Rôle du testeur
Signup and view all the flashcards
Stratégie de valeurs de test
Stratégie de valeurs de test
Signup and view all the flashcards
Classe d'équivalence
Classe d'équivalence
Signup and view all the flashcards
Analyse partitionnelle
Analyse partitionnelle
Signup and view all the flashcards
Domaine des entrées admissibles
Domaine des entrées admissibles
Signup and view all the flashcards
Union des classes d'équivalence
Union des classes d'équivalence
Signup and view all the flashcards
Hypothèse d'uniformité
Hypothèse d'uniformité
Signup and view all the flashcards
Boîte noire
Boîte noire
Signup and view all the flashcards
Boîte blanche
Boîte blanche
Signup and view all the flashcards
Données de test
Données de test
Signup and view all the flashcards
Résultat d’un test
Résultat d’un test
Signup and view all the flashcards
Cas de test
Cas de test
Signup and view all the flashcards
Objectif de test
Objectif de test
Signup and view all the flashcards
All singles et All pairs
All singles et All pairs
Signup and view all the flashcards
Classes d’équivalence
Classes d’équivalence
Signup and view all the flashcards
Tests aux limites
Tests aux limites
Signup and view all the flashcards
Triangle équilatéral
Triangle équilatéral
Signup and view all the flashcards
Triangle isocèle
Triangle isocèle
Signup and view all the flashcards
Triangle scalène
Triangle scalène
Signup and view all the flashcards
Pas un triangle
Pas un triangle
Signup and view all the flashcards
Erreur d’entrée
Erreur d’entrée
Signup and view all the flashcards
Variant (test)
Variant (test)
Signup and view all the flashcards
Condition (table de décision)
Condition (table de décision)
Signup and view all the flashcards
Action (table de décision)
Action (table de décision)
Signup and view all the flashcards
Exemple FIZZBUZZ : actions
Exemple FIZZBUZZ : actions
Signup and view all the flashcards
Contraintes d'entrée (triangle)
Contraintes d'entrée (triangle)
Signup and view all the flashcards
Table de décision
Table de décision
Signup and view all the flashcards
Couverture des variants
Couverture des variants
Signup and view all the flashcards
Variants impossibles
Variants impossibles
Signup and view all the flashcards
Actions Triangle : exemple
Actions Triangle : exemple
Signup and view all the flashcards
Fonction de réalisation (rj)
Fonction de réalisation (rj)
Signup and view all the flashcards
Valeur de test (partition)
Valeur de test (partition)
Signup and view all the flashcards
Fonction datevalide
Fonction datevalide
Signup and view all the flashcards
Année bissextile
Année bissextile
Signup and view all the flashcards
Fonction Lendemain
Fonction Lendemain
Signup and view all the flashcards
Méthode All Singles
Méthode All Singles
Signup and view all the flashcards
Méthode All Pairs
Méthode All Pairs
Signup and view all the flashcards
Analyse partitionnelle + tests aux limites
Analyse partitionnelle + tests aux limites
Signup and view all the flashcards
Contexte des tables de décision
Contexte des tables de décision
Signup and view all the flashcards
Classes d'équivalence (paramètres d'entrée)
Classes d'équivalence (paramètres d'entrée)
Signup and view all the flashcards
Données aux limites (test)
Données aux limites (test)
Signup and view all the flashcards
Analyse combinée
Analyse combinée
Signup and view all the flashcards
Study Notes
- Un composant effectue un calcul ou réalise une action en fonction de paramètres d'entrée.
- Le rôle du testeur est de trouver les "bonnes valeurs" d'exécution qui peuvent mettre le composant en défaut.
Techniques de Boîte Noire
- Ensemble de techniques basées uniquement sur les spécifications pour l'élaboration des valeurs de test.
- Les détails de réalisation ne sont pas pris en compte.
Techniques de Boîte Blanche
- Ensemble de techniques basées sur les détails de réalisation du programme pour générer les valeurs de tests.
- Les valeurs de tests peuvent être générées à partir du graphe de flot de contrôle associé au programme, qui décrit les chemins menant du point d'entrée à la sortie.
Vocabulaire du Test
- Objectif de test: comportement du système à tester.
- Données de test: données à fournir en entrée au système pour déclencher un objectif de test.
- Résultat d'un test: conséquences ou sorties de l'exécution d'un test (affichage à l'écran, modification des variables…).
- Cas de test: données d'entrée + résultat attendu, associés à un objectif de test.
Méthodes de Sélection de Tests (Boîte Noire)
- All singles et All pairs (CM du 29 janvier 2024).
- Analyse partitionnelle et tests aux limites.
- Tables de décision.
Analyse Partitionnelle
- Contexte: Il est impossible d'énumérer toutes les combinaisons possibles des valeurs de paramètres du composant à tester.
- Idée de la méthode: Analyse de la spécification du composant.
- Identification des ensembles de valeurs d'entrée pour lesquels le composant est susceptible de se comporter de manière identique.
- Une classe d'équivalence est un ensemble de valeurs pour lesquelles on ne peut pas distinguer le comportement du composant.
- Le comportement du composant (correct ou incorrect) est identique, quelles que soient les valeurs d'entrée appartenant à une même classe d'équivalence.
- On définit des classes d'équivalence sur le domaine des entrées d'un composant pour en déduire différents objectifs de test.
- Principe: À partir de l'ensemble E des entrées admissibles du composant, on construit un ensemble de classes Ci telles que:
- E est l'union des Ci.
- Les classes Ci sont deux à deux disjointes.
- Chaque classe Ci est un ensemble de valeurs pour lesquelles on ne peut pas distinguer le comportement du composant.
- Chaque classe d'équivalence Ci permet de définir un objectif de test.
- Hypothèse d'uniformité: Une seule valeur dans chaque Ci suffit à tester le comportement représenté par Ci.
- S'il existe une valeur d dans Ci qui conduit à une exécution correcte du composant (ou une erreur), alors toutes les valeurs de Ci conduisent à une exécution correcte (ou une erreur).
- Une seule valeur à tester par classe d'équivalence.
Analyse Partitionnelle - Exemple
-
Soit à tester une fonction
datevalide(jour, mois, annee)
qui renvoie Vrai si la date passée en paramètre est valide, et Faux sinon.- Entrées admissibles: trois entiers jour, mois, annee avec jour ∈ [1;31], mois ∈ [1;12] et annee ∈ [1582; 3000].
- Résultat: Vrai si la date saisie est valide, et Faux sinon.
-
La fonction
datevalide
détermine l'ensemble des triplets(jour, mois, annee)
appartenant à[1;31] × [1;12] × [1582; 3000]
qui correspondent à une date valide. -
Nécessité de prendre en compte : les mois de 30 et 31 jours, et les années bissextiles.
-
Les années bissextiles sont les années dont le millésime est divisible par 4, sauf celles séculaires dont le millésime n'est pas divisible par 400 (ex: 1700 n'est pas bissextile car non divisible par 400, mais 1600 et 2000 le sont).
-
Un partitionnement possible pour la datevalide (jour, mois, annee) :
[1;28] × [1;12] × [1582; 3000]
(ex: (14, 6, 1998) -> Vrai){29, 30, 31} × mois31 × [1582; 3000]
(ex: (30, 12, 1981) -> Vrai){31} × mois30 ∪ {2} × [1582; 3000]
(ex: (31, 4, 2050) -> Faux){29, 30} × mois30 × [1582; 3000]
(ex: (29, 9, 1900) -> Vrai){30} × {2} × [1582; 3000]
(ex: (30, 2, 1950) -> Faux){29} × {2} × années bissextiles dans [1582; 3000]
(ex: (29, 2, 2000) -> Vrai){29} × {2} × années non bissextiles dans [1582; 3000]
(ex: (29, 2, 1700) -> Faux)
-
Pour chaque classe, on choisit une valeur à tester et on donne le résultat attendu.
Analyse Partitionnelle : Example 2
- Soit à tester une fonction `Lendemain` qui calcule la date correspondant au lendemain d'une date passée en paramètre.
- Spécification de la fonction Lendemain:
- Entrées admissibles: trois entiers jour, mois, annee correspondants à une date valide et tq 3000 ≥ annee ≥ 1582 (année de mise en place du calendrier Grégorien)
- Résultat: trois entiers qui correspondent au lendemain de la date passée en entrée
- Le partitionnement prend en compte une entrée caractérisant une fin de mois, ou d'année
- jour ∈ [1;31]
- mois ∈ [1;12]
- annnee ∈ [1582; 3000]
- Et on peut génèrer les jeux de tests par la méthode All singles ou la méthode All pairs, si l'on veut tester la fonction Lendemain de manière plus approfondie.
- Seulement 5 valeurs de test par la méthode All singles
Tests aux Limites
- Principe: Construire des tests pour les valeurs limites du programme.
- Condition de boucle.
- Valeurs très grandes.
- Valeurs non valides (cf. programmation défensive).
- Utilisations:
- Conjointement avec l'analyse partitionnelle: données choisies aux bornes des intervalles des classes d'équivalences.
- Pour le test de robustesse: données choisies en dehors des valeurs autorisées.
Méthode Générale
- Pour chaque paramètre d'entrée, calculer les classes d'équivalences sur les domaines de valeurs de ce paramètre.
- S'il y a plusieurs paramètres, faire le produit cartésien des classes obtenues.
- Choisir les données de test:
- Une donnée pour chaque classe d'équivalence.
- Des données aux limites.
Tables de Décision
- Contexte:
- Programme dont le comportement peut être décrit par les actions qu'il effectue.
- Chacune de ces actions dépend de conditions dont les valeurs sont fournies au programme.
- L'ordre dans lequel les valeurs sont fournies au programme n'influe pas sur ses actions.
- La spécification peut être donnée sous la forme d'une table de décision.
- Table de décision:
- Un ensemble fini de conditions C1, ..., Ck (k ≥ 1).
- Pour chaque condition Ci, un ensemble fini Vi de valeurs possibles.
- Un ensemble fini d'actions A1, ..., Am (m ≥ 1) dont la réalisation dépend des valeurs prises par les conditions.
- Pour chaque j ∈ [1; m], la réalisation de Aj est donnée par une fonction rj: V1 × ... × Vk → {0, 1}.
- Un élément de V1 × ... × Vk est appelé variant.
- Chaque variant définit un cas de test.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Ce quiz explore les différences entre les tests de boîte noire et de boîte blanche. Il aborde les stratégies de sélection des tests et l'analyse partitionnelle.