RousselTMLEARNING

TP · Grafana k6 : tests de charge et de performance

TP Final : Test de performance bloquant en intégration continue

Ce que vous allez apprendre dans ce TP
  • Écrire un test smoke pour la CI
  • Créer le workflow
  • Constater un blocage

Introduction #

Ce que vous allez apprendre dans cette section
  • Écrire un test smoke pour la CI
  • Créer le workflow
  • Constater un blocage

Contexte. Une régression de performance est passée en production le mois dernier. Désormais, aucune pull request ne doit dégrader la latence au-delà du SLO.

Prérequis : Compte GitHub, dépôt de test  ·  Durée estimée : 40 min

La performance testée à chaque modification.

Mise en place #

Étapes guidées, avec leur correction.

  1. 1. Préparer le dépôt

    Pourquoi ? Le test vit à côté du code qu'il protège.

    Dans un dépôt, créez docker-compose.yml (httpbin sur le port 8080) et tests/perf/smoke.js (10 VU, 30 s, seuils p95 < 300 ms et échecs < 1 %) visant http://localhost:8080/get.
  2. 2. Écrire le workflow

    Pourquoi ? Les actions officielles installent k6 et exécutent le script ; un seuil non respecté fait échouer le job.

    Créez .github/workflows/perf.yml déclenché sur les pull requests.
  3. 3. Ouvrir une pull request saine

    Pourquoi ? Vérifier le chemin nominal.

    Poussez sur une branche et ouvrez une pull request : le job doit réussir.
  4. 4. Simuler une régression

    Pourquoi ? La preuve que le garde-fou fonctionne.

    Changez la route testée pour /delay/1 (simulant un code plus lent), poussez et observez le résultat.

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 40 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

Articles recommandés

k6 en intégration continue et sur Kubernetes (k6-operator)

Automatiser les tests de performance : k6 dans GitHub Actions et GitLab CI avec seuils bloquants,...

Bonnes pratiques des tests de performance avec k6

Check-list pour des tests de charge utiles : objectifs, scénarios réalistes, environnement, seuil...

Mur de la confusion

Le 'mur de la confusion' (ou 'wall of confusion') est une métaphore souvent utilisée dans le cont...

Soutien Logistique Intégré

Soutien Logistique Intégré (SLI) (L'Integrated Logistics Support (ILS) en anglais), est une appro...

Application 12 Facteurs

Un guide détaillé sur la méthodologie des 12 facteurs pour le développement d'applications modern...

Le framework CALMS : Les 5 piliers du DevOps

Découvrez le framework CALMS, le socle indispensable pour réussir votre transformation DevOps à t...

Bonnes pratiques DevOps : culture, CI/CD, infrastructure as code et mesure

Bonnes pratiques DevOps : culture et collaboration, intégration et livraison continues, trunk-bas...

Tests de charge avec Grafana k6 : pourquoi et quels types de tests

Pourquoi tester la performance avant la production, les types de tests (smoke, charge, stress, pi...

Écrire des scripts k6 : requêtes, vérifications, scénarios et exécuteurs

La structure d'un script k6 (init, setup, default, teardown), les requêtes HTTP, les checks, les ...