Les tests de non-régression

Vérifier qu'une modification n'a rien cassé : rejouer la suite après chaque changement, écrire un test par bogue corrigé, comparer deux rapports, choisir les tests à rejouer et se méfier des tests instables.

  • 22 cartes
  • 3 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

Quelques cartes du deck

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

    Voir la réponse

    Comportement qui marchait avant une modification et qui ne marche plus après elle.

    Elle survient souvent loin de ce qu'on a modifié, parce qu'une fonction partagée sert à plusieurs endroits.

  • Un bogue signalé vient d'être reproduit à la main. Quelle étape vient ensuite, avant de toucher au code ?

    • Écrire un test qui reproduit le bogue et voir qu'il échoue
    • Corriger le code, puis écrire un test qui vérifie la correction
    • Supprimer le test qui échoue pour que la suite repasse au vert
    • Relancer la suite existante pour voir quel test signale déjà le bogue
    Voir la réponse

    Écrire un test qui reproduit le bogue et voir qu'il échoue

    Un test écrit après la correction ne prouve pas qu'il aurait vu le bogue. Le voir échouer d'abord montre qu'il le reproduit, et le voir passer ensuite montre que la correction agit. Si la suite existante avait couvert ce cas, le bogue n'aurait pas échappé : il lui manque justement ce test.

  • Quand on corrige un bogue, on écrit d'abord un test qui l'…, puis on corrige, afin que ce bogue ne revienne pas sans être détecté.

    Voir la réponse

    Quand on corrige un bogue, on écrit d'abord un test qui l'expose, puis on corrige, afin que ce bogue ne revienne pas sans être détecté.

    Le test reste dans la suite : il devient un garde-fou pour toutes les modifications futures.

  • Test de non-régression : de quoi s'agit-il ?

    Voir la réponse

    Test qui garde une fonctionnalité déjà correcte sous surveillance et qu'on rejoue après chaque changement pour s'assurer qu'elle l'est restée.

    Ce n'est pas une sorte particulière de test : n'importe quel test réussi devient de non-régression à partir du moment où on le rejoue.

  • Après la correction du calcul de TVA, l'export PDF affiche des totaux faux. Quelle est la cause la plus probable ?

    • Le générateur de PDF est incompatible avec la nouvelle version du code
    • L'export utilise la même fonction de calcul et aucun test ne le couvre
    • La correction de TVA était fausse dès le départ
    • La suite de tests de TVA n'a pas été lancée avant la correction
    Voir la réponse

    L'export utilise la même fonction de calcul et aucun test ne le couvre

    Une fonction partagée corrigée pour un usage change aussi les autres. L'export, jamais testé, n'a levé aucune alerte. La solution : un test sur les totaux de l'export, rejoué à chaque modification de la fonction.