1.9 KiB
1.9 KiB
ADR-007 : Tests et Spécifications Exécutables
Statut : Accepté Date : 2025-01-17
Contexte
RoadWave nécessite une documentation des use cases qui soit à la fois lisible par tous les stakeholders et vérifiable automatiquement. Les scénarios utilisateurs (touriste, routier, commerçant) doivent être validés en continu.
Décision
Gherkin pour les spécifications avec Godog comme runner de tests.
Alternatives considérées
| Option | Lisibilité | Intégration Go | Maintenance |
|---|---|---|---|
| Gherkin + Godog | Excellente | Native | Faible |
| Gauge (Markdown) | Bonne | Plugin | Moyenne |
| Tests Go natifs | Faible (devs only) | Native | Faible |
| Concordion | Bonne | Java-centric | Élevée |
Justification
- Living Documentation : Les fichiers
.featureservent de documentation ET de tests - Accessibilité : Syntaxe Given/When/Then lisible par PO, devs, testeurs
- Cohérence stack : Godog est le standard BDD pour Go
- CI/CD : Intégration simple dans les pipelines
Structure
features/
├── recommendation/
│ ├── geolocalisation.feature
│ └── interets.feature
├── streaming/
│ ├── lecture.feature
│ └── buffering.feature
├── moderation/
│ └── signalement.feature
└── steps/
└── steps.go
Exemple
Feature: Recommandation géolocalisée
Scenario: Touriste près d'un monument
Given un utilisateur avec l'intérêt "tourisme" à 80%
And une position GPS à 100m de la Tour Eiffel
When le système calcule les recommandations
Then l'audio guide "Histoire de la Tour Eiffel" est en première position
Conséquences
- Dépendance :
github.com/cucumber/godog - Les use cases du README doivent être traduits en
.feature - CI exécute
godog runavant chaque merge