Compétence RNCP : C2.3.2
- Cahier de recettes : RECETTES.md
- Configuration Jest : jest.config.ts
Ce document décrit le processus mis en place pour détecter, qualifier, corriger et valider les anomalies et régressions identifiées lors de la phase de recette, afin de garantir le fonctionnement du logiciel conformément à l’attendu.
- Tests automatisés : Jest pour les tests unitaires
- Surveillance en développement : logs applicatifs (loggers), console et monitoring.
- Intégration continue : GitHub Actions pour exécuter automatiquement les suites de tests.
- Traçabilité : Outil de suivi Notion qui référence les bogues découverts
- Échecs des scénarios du cahier de recettes.
- Alertes CI/CD lors des push ou pull requests.
Chaque anomalie est consignée dans l’outil de suivi interne sous le format :
- ID unique
- Date
- Environnement
- Description
- Étapes de reproduction
- Résultat attendu
- Résultat obtenu
- Pièces jointes (logs, captures d’écran)
- Bloquant : empêche l’utilisation de la fonctionnalité principale.
- Majeur : impact significatif mais contournement possible.
- Mineur : gêne légère ou esthétique.
- Fonctionnelle : non-respect d’une spécification.
- Technique : problème de performance, compatibilité ou sécurité.
- Régression : fonctionnalité précédemment validée qui échoue.
Pour chaque test en échec :
- Identifier la cause racine via l’analyse des logs, reproduction contrôlée et revue de code.
- Évaluer l’impact sur les autres modules et fonctionnalités.
- Proposer la solution technique la plus adaptée.
- Création d’une branche Git dédiée au correctif.
- Implémentation du correctif en respectant les bonnes pratiques et normes de sécurité.
- Ajout ou mise à jour des tests unitaires.
- Exécution des tests en local.
- Création d’une Pull Request avec revue par IA.
- Validation automatique par la CI (GitHub Actions).
- Fusion et déploiement.
- Reproduction du scénario en production.
- Tous les tests du cahier de recettes sont passés.
- Aucune régression détectée.
- Code conforme aux règles ESLint et Prettier.
- Les bogues sont référencés dès leur détection dans l'outil de suivi interne.
- Ils sont étiquettés par les identifiants des scénarios de recettes concernés.
- Indicateurs de suivi :
- % d’anomalies corrigées dans les délais.
- Nombre de régressions post-correction.
- Évolution des anomalies critiques.
Les anomalies ci-dessous illustrent l’application de ce plan. Les autres sont consignées dans l’outil de suivi interne.
- Priorité : Mineur
- Catégorie : UX/Accessibilité
- Description : Le
onClickétait attaché au label au lieu de l’élément de liste, cliquer à côté du texte ne déclenchait pas la déconnexion. - Cause racine : Gestionnaire d’événement positionné sur le mauvais composant MUI.
- Correction : Déplacer
onClicksurListItem/ListItemButton - Validation : vérification manuelle du déclenchement sur toute la zone.
- Priorité : Majeur
- Catégorie : Technique/Documentation
- Description : Les noms exposés dans la documentation (OpenAPI/Swagger) ne correspondaient pas toujours aux objets réellement retournés.
- Cause racine : Divergence entre DTO/schema et la génération de doc.
- Correction : Aligner les schémas OpenAPI avec les DTO réels, régénérer la doc
- Validation : Documentation régénérée et relue
- Priorité : Bloquant (Sécurité)
- Catégorie : Sécurité/Fonctionnelle
- Description : Les utilisateurs voyaient les coffres-forts de tout le monde, de plus un coffre-fort créé n’était pas relié à l’utilisateur courant.
- Cause racine : Les requêtes ne sont pas filtrées par
userIdet absence de liaison propriétaire à la création. - Correction :
- Lecture : filtrer systématiquement par
userIdcôté serveur et non côté client. - Création : relier le coffre-fort au propriétaire au moment de l’insert.
- Ajouter des tests unitaires : un utilisateur A ne doit jamais voir/éditer les coffres-forts de B, création doit lier le
ownerId.
- Lecture : filtrer systématiquement par
- Validation : Tests unitaires OK (list/read/update/delete), vérification manuelle en recette avec deux comptes distincts.