Outils & qualité · 4 mondes · 12 étapes

Tests & déploiement

Des tests qui attrapent les bugs, une chaîne qui vérifie tout, une mise en production sans frayeur.

Progression

0 %

0/12 étapes terminées

Mode 7

Réviser vite, retenir longtemps

Des fiches express pour relire l'essentiel en deux minutes, des cartes mémoire qui reviennent au bon moment, et un jeu chronométré pour ancrer le vocabulaire.

« Résume les concepts les plus importants dans un guide clair et concis qui m'aide à réviser rapidement et à mémoriser les idées clés sans complexité inutile. »

Codey

Fiches express

L'essentiel, semaine par semaine

Semaine 1

5 points

Écrire des tests

  • Une assertion lève une erreur précise en cas d'écart.
  • Comparer des valeurs, pas des références.
  • Cas normal, limites, erreurs.
  • Une suite se juge aux mutants qu'elle attrape.
  • Le lanceur attend chaque test et ne s'arrête jamais sur un échec.
function egal(recu, attendu) {  const r = JSON.stringify(recu), a = JSON.stringify(attendu);  if (r !== a) throw new Error("Attendu " + a + ", reçu " + r);}

À retenir : Un test qui passe ne prouve que les cas qu'il teste.

Semaine 2

4 points

Des tests qui tiennent

  • Les dépendances arrivent en paramètres.
  • Bouchon : réponse fixée ; espion : réponse et appels enregistrés.
  • L'heure et le hasard sont des entrées comme les autres.
  • Vérifier le contenu exact des appels, pas seulement leur nombre.
function espion(retour) {  const f = (...args) => { f.appels.push(args); return retour; };  f.appels = [];  return f;}

À retenir : Mêmes entrées, même sortie, à chaque exécution.

Semaine 3

4 points

L'intégration continue

  • Des étapes en série, un code de sortie chacune.
  • Arrêt au premier échec.
  • Déclencheurs : événement, branches, fichiers ignorés.
  • Une matrice teste chaque combinaison.
for (const e of etapes) {  const code = await e.commande();  if (code !== 0) return { statut: "échoué", journal };}

À retenir : Une CI rouge se répare avant tout le reste.

Semaine 4

4 points

Mettre en production

  • La configuration vient de l'environnement, validée au démarrage.
  • Lister toutes les variables manquantes d'un coup.
  • Versions : majeure, mineure, correctif, comparées nombre par nombre.
  • Déployer par paliers, revenir en arrière au-delà du seuil.
for (const pourcentage of paliers) {  if (await mesurer(nouvelle, pourcentage) > seuil) return { version: actuelle };}

À retenir : Un déploiement petit, testé et réversible n'a rien d'effrayant.