Adloun

Une fonction ajouter note(carnet, eleve, note) range une note dans un…

Application directe du cours · niveau 1 (application) · NSI (première), chapitre 11 — Conduire un projet · Tester et garder trace

Énoncé

Une fonction ajouter_note(carnet, eleve, note) range une note dans un dictionnaire. Classer ces six cas de test dans les trois familles du chapitre 3 : (a) un élève déjà présent, à qui l'on ajoute une deuxième note ; (b) une note de ; (c) un carnet vide ; (d) un élève inconnu ; (e) une note de ; (f) une note égale à la chaîne "12".

Corrigé

FamilleCas
nominaux(a) élève déjà présent, (d) élève inconnu --- ce sont les deux comportements

ordinaires, et il en faut un de chaque</td></tr><tr style=""><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">limites</td><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">(b) la note , valeur extrême admise ; (c) le carnet vide, structure de taille minimale</td></tr><tr style="border-bottom:1.5px solid #2E2C26"><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">erreur</td><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top">(e) note négative, hors de l'intervalle ; (f) note qui n'est pas un nombre</td></tr></table></div>

Deux points à discuter, et c'est le but de l'exercice.

  • (d) « élève inconnu » est-il un cas d'erreur ? Cela dépend de la spécification. Si la fonction doit créer l'entrée, c'est un cas nominal — et sans doute le plus fréquent. Si elle doit refuser un élève non inscrit, c'est un cas d'erreur. Le classement d'un cas de test dépend de la spécification, pas du code.
  • (b) la note est un cas limite et non nominal : c'est la borne. On y ajouterait volontiers , l'autre borne, et , juste au-delà — trois valeurs pour un intervalle, c'est le compte habituel.

Ce qu'il faut en retenir : on ne peut pas classer les cas de test avant d'avoir écrit la spécification. Quand le classement hésite, ce n'est pas le testeur qui manque de méthode, c'est la spécification qui manque d'une phrase.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.