Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Tester le code d'une IA

Après cette leçon: Je peux tester le code d'une IA avec mes propres cas.

Leçon de 50 minAucune commande

Livraison offerte, ou pas

Une boutique de vêtements à Toulouse offre la livraison dès 35 € d'achat. Un assistant écrit la règle, et elle a l'air juste. Une cliente commande pour 35 € tout rond et paie 5 € de livraison.

Un seul test avec 35 € aurait trouvé l'erreur en une seconde. Cette leçon apprend à choisir ce test vous-même.

À la fin de cette leçon

Remarque

Je peux tester le code d'une IA avec mes propres cas.

Mots clés

MotCe que ça veut direExemple
Cas de testune entrée et le résultat attendu
Résultat attendula bonne réponse, tirée de la règle
assertune ligne Python qui s'arrête si une condition est fausseassert frais_livraison(20) == 5
Seuilla valeur exacte où la règle change35
Cas limiteune entrée inhabituelle, vide ou nulle

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un cas de test associe entrée et réponse

Un cas de test est une entrée et le résultat que vous attendez. Calculez ce résultat à partir de la règle, avant de lancer le code. Si vous lisez la réponse dans le code, vous vérifiez seulement que le code est d'accord avec lui-même.

En Python, assert vérifie un cas. Si la condition est fausse, le programme s'arrête et affiche le message du cas.

À vous : tester la livraison

Code: python
# Règle : la livraison coûte 5 euros,
# elle est offerte dès 35 euros d'achat.
# L'assistant a écrit ceci :
def frais_livraison(total):
    if total > 35:
        return 0
    return 5

# Nos propres cas, écrits à partir de la règle.
assert frais_livraison(20) == 5, "cas courant"
assert frais_livraison(60) == 0, "cas courant, offerte"
assert frais_livraison(35) == 0, "seuil : 35 pile"
print("Tous les cas passent")

# Lancez. Quel cas échoue ? Corrigez la fonction, puis relancez.

Trois sortes de cas à choisir

Les bons cas sont de trois sortes. Un cas courant est une valeur de tous les jours. Un seuil est la valeur exacte où la règle change, avec les valeurs juste avant et juste après. Un cas limite est inhabituel : vide, zéro, négatif ou très grand.

Les assistants réussissent bien le cas courant. Leurs erreurs se cachent aux seuils et dans les cas limites.

Exemple : des cas pour la livraison

SorteMontant du panierFrais attendusPourquoi ce cas
Courant20 €5 €Une petite commande habituelle
Courant60 €0 €Une grosse commande habituelle
Seuil35 €0 €La valeur où la règle change
Seuil34,99 €5 €Juste sous le seuil
Limite0 €à demanderUn panier vide : la règle ne dit rien

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À vous : ajouter vos propres cas

Code: python
# Règle : un code postal français a 5 chiffres.
def code_postal_valide(cp):
    return len(cp) == 5 and cp.isdigit()

assert code_postal_valide("69003") == True, "cas courant"
assert code_postal_valide("Lyon") == False, "pas des chiffres"

# Ajoutez trois cas sous cette ligne :
# "7500" (4 chiffres), "" (vide) et "75 01" (avec une espace).

print("Tous les cas passent")

Une erreur fréquente

Attention

Beaucoup pensent qu'il suffit de demander les tests au même assistant. Des tests venus de la même source partagent souvent sa mauvaise compréhension. Quand le code compte, écrivez vous-même les résultats attendus, à partir de la règle.

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.