Développement logiciel et gestion de projet

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) ?

  1. A2
  2. B3
  3. C4
Afficher la réponse et l'explication

Réponse : A. 2

Il y a trois instructions : fan = HIGH, fan = LOW et log(). Une seule de fan = HIGH et fan = LOW est exécutée lors d'une exécution, si bien qu'il faut au moins deux exécutions ; par exemple, les deux cas de test (temp > 80, err vrai) et (temp ≤ 80, err faux) exécutent les trois instructions. 3 est le nombre obtenu en faisant un cas de test par instruction, et 4 le nombre de toutes les combinaisons de vrai et faux pour les deux conditions (tous les chemins). La couverture des instructions est le critère de couverture le plus faible ; par exemple, on peut l'atteindre sans jamais emprunter le côté faux du second if (le chemin qui ne fait rien).

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

Autres questions sur Développement logiciel et gestion de projet

  1. 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) ?
  2. 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 ?
  3. 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 ?
  4. Pendant les tests, on a tracé une courbe de croissance de fiabilité avec le temps de test (ou le nombre de cas de test exécutés) en abscisse et le nombre cumulé de défauts trouvés en ordonnée. La courbe monte encore, sans signe de saturation (de palier). Quel jugement est le plus approprié ?
  5. Lors du test d'intégration d'un micrologiciel de 25 KLOC (25 000 lignes), on a trouvé 30 défauts. D'après les résultats passés de l'organisation, la valeur de référence des défauts trouvés dans cette phase est de 2 à 4 par KLOC. Quelle est l'évaluation la plus appropriée de ce résultat ?