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. Préparer le dépôt
Pourquoi ? Le test vit à côté du code qu'il protège.
Dans un dépôt, créezdocker-compose.yml(httpbin sur le port 8080) ettests/perf/smoke.js(10 VU, 30 s, seuils p95 < 300 ms et échecs < 1 %) visanthttp://localhost:8080/get.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.ymldéclenché sur les pull requests.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. 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
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
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 ...