LyCode Lab

DOSSIER 6 : LA FIABILITÉ

Le contrôle qualité

Une fonction de la brigade a donné un résultat faux et a failli faire arrêter la mauvaise personne. Le commissaire Maréchal exige désormais que chaque fonction soit documentée, protégée et testée. Tu es chargé du contrôle qualité.

Questions de l'enquête

  1. Une fonction documentée

    Écris la fonction age_valide(age) : elle renvoie True si l'âge est compris entre 0 et 120, bornes incluses, False sinon. Elle doit avoir une docstring qui explique ce qu'elle fait (au moins une phrase).

  2. Des préconditions pour une heure

    Écris heure_en_minutes(heure) qui convertit une heure de la forme 'HH:MM' en nombre de minutes depuis minuit ('09:15' donne 555). Les préconditions, à vérifier avec assert : le texte a 5 caractères avec : en troisième position, les heures vont de 0 à 23 et les minutes de 0 à 59.

  3. Un jeu de tests efficace

    La fonction lancer_tests(f) doit renvoyer True si la fonction f (un plus_grand) réussit tous tes tests, False sinon. La brigade l'essaiera sur une fonction correcte et sur quatre fonctions fautives : ton jeu de tests doit accepter la bonne et rejeter les quatre autres. Ajoute des tests dans la liste tests (entrée, résultat attendu).

  4. Un test qui réussit ne prouve rien

    La fonction second est censée renvoyer, d'après sa docstring, le plus grand élément strictement inférieur au maximum. Sur [1, 2, 3], elle donne bien 2... mais elle est fausse. Trouve une liste contre_exemple (avec au moins deux valeurs différentes) sur laquelle second se trompe, et la bonne réponse dans attendu.

Relire le cours du chapitre 6