Jeux d'essais

Concevoir le jeu d'essais d'un programme : un essai est une entrée et un résultat attendu, avec des cas nominaux, des cas limites et des cas d'erreur, des valeurs choisies pour révéler les défauts et une table d'essais.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Essai : de quoi s'agit-il ?

    Voir la réponse

    Une entrée précise donnée au programme, associée au résultat qu'il doit produire pour cette entrée.

    valeur_absolue(-3) doit donner 3 : l'essai est le couple (-3, 3). Un jeu d'essais est une liste de tels couples, rangés dans une table d'essais.

  • Quel essai montre qu'une version qui ne teste que a % 4 == 0 est fausse ?

    ```python
    def est_bissextile(a):
    return a % 4 == 0 and a % 100 != 0 or a % 400 == 0
    `

    • 1900, attendu False
    • 2000, attendu True
    • 2023, attendu False
    • 2024, attendu True
    Voir la réponse

    1900, attendu False

    1900 est divisible par 4 mais pas bissextile, car divisible par 100 sans l'être par 400 : la version simplifiée rendrait True. Les trois autres années donnent le bon résultat avec ou sans la règle des siècles.

  • Un essai associe une … et un …, fixé avant l'exécution.

    Voir la réponse

    Un essai associe une entrée et un résultat attendu, fixé avant l'exécution.

    Fixer le résultat avant d'exécuter évite de se laisser convaincre par la sortie du programme, qu'elle soit juste ou non.

  • Résultat attendu : de quoi s'agit-il ?

    Voir la réponse

    Valeur que le programme doit rendre pour une entrée donnée, fixée avant l'exécution à partir de la spécification.

    On le calcule à la main ou on le tire du cahier des charges. Le recopier depuis la sortie du programme ne prouverait rien : le défaut serait recopié avec lui.

  • Tu écris le résultat attendu d'un essai. D'où doit-il venir ?

    • De la spécification ou d'un calcul à la main, avant d'exécuter
    • De la sortie du programme, qu'on recopie après l'avoir exécuté
    • Du résultat d'une autre fonction du même programme
    • De la valeur qui paraît la plus probable après un coup d'œil au code
    Voir la réponse

    De la spécification ou d'un calcul à la main, avant d'exécuter

    Un attendu recopié depuis la sortie vaut toujours True : si le programme est faux, l'essai l'est aussi. L'attendu mesure le programme parce qu'il vient d'ailleurs que lui.