Développement logiciel et gestion de projet

Un programme fixe le prix d'entrée selon l'âge (un entier supérieur ou égal à 0) : de 0 à 17 ans, tarif enfant ; de 18 à 64 ans, tarif adulte ; à partir de 65 ans, tarif senior. Quel jeu de valeurs de test est le plus approprié pour que l'analyse des valeurs limites vérifie les frontières où la catégorie de tarif change ?

  1. A10, 40, 90
  2. B17, 18, 64, 65
  3. C18, 65
Afficher la réponse et l'explication

Réponse : B. 17, 18, 64, 65

Comme les défauts ont tendance à se concentrer aux frontières entre classes d'équivalence, l'analyse des valeurs limites teste les valeurs situées immédiatement de part et d'autre de chaque frontière. À la frontière enfant/adulte, on choisit 17 et 18, et à la frontière adulte/senior, 64 et 65, soit les quatre valeurs 17, 18, 64 et 65. Des erreurs comme écrire « < » au lieu de « <= » dans une condition peuvent passer inaperçues si l'on ne teste qu'un côté d'une frontière. 10, 40 et 90 sont des valeurs de partitionnement en classes d'équivalence choisies comme représentants de chaque catégorie, et elles ne permettent pas de vérifier les erreurs aux frontières.

S'entraîner sur ce thème Retour au thème

Autres questions sur Développement logiciel et gestion de projet

  1. La spécification dit « émettre un avertissement si la température est de 85 °C ou plus », mais le micrologiciel contient par erreur « if (t > 85) ». La température t est un entier. Laquelle des valeurs de test suivantes permet de détecter cette erreur ?
  2. Les valeurs de temp et err peuvent être choisies indépendamment l'une de l'autre. Pour le code « if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); } », quel est le nombre minimal de cas de test nécessaires pour atteindre la couverture des instructions (exécuter chaque instruction au moins une fois) ?
  3. Les valeurs de vérité de a, b et c peuvent être choisies indépendamment les unes des autres. Pour le code « if (a) { S1; } if (b) { S2; } if (c) { S3; } », quel est le nombre minimal de cas de test nécessaires pour atteindre la couverture des branches (exécuter au moins une fois l'issue vraie et l'issue fausse de chaque décision) ?
  4. Pour la décision « A et B » (A et B sont des conditions dont les valeurs de vérité peuvent être fixées indépendamment), on a exécuté deux cas de test : (A = vrai, B = faux) et (A = faux, B = vrai). Quelle affirmation sur les critères de couverture est correcte ?
  5. Dans le test ascendant (bottom-up), que construit-on pour remplacer un module de niveau supérieur qui n'existe pas encore, afin qu'il appelle le module de niveau inférieur testé, lui transmette les données de test et reçoive les résultats ?