PD-3 — Scénarios de tests contractuels
1. Références
- Spécification : PD-3-specification.md
- Epic : PD-193 INFRA
- User Story : PD-3
2. Matrice de couverture
| ID Invariant | ID Critère | ID Test | Couverture | Commentaire |
| INV-01 | CA-01 | TC-INV-01 | Oui | Vérifie l’absence de perte silencieuse |
| INV-02 | CA-02 | TC-INV-02 | Oui | Vérifie l’observabilité continue |
| INV-03 | CA-04 | TC-INV-03 | Oui | Vérifie persistance + reprise |
| INV-04 | CA-03 | TC-INV-04 | Oui | Vérifie signalement explicite |
| — | CA-05 | TC-DOC-01 | Oui | Vérifie documentation opérable |
3. Scénarios de test — Flux nominaux
TEST-ID: TC-NOM-01
Référence spec: INV-01, INV-02, CA-01, CA-02
GIVEN
- Une tâche est enregistrée dans la file
- Le service est opérationnel
WHEN
- La tâche est prise en charge et exécutée
THEN
- La tâche atteint un état final explicite (succès ou échec)
AND
- L’état final est consultable via un mécanisme observable
TEST-ID: TC-NOM-02
Référence spec: INV-03, CA-04
GIVEN
- Une tâche est en cours d’exécution
WHEN
- Une interruption complète du service survient
AND
- Le service redémarre
THEN
- La tâche reste identifiable
AND
- La tâche reprend ou bascule dans un état d’échec explicite sans intervention humaine
4. Scénarios de test — Cas d’erreur
TEST-ID: TC-ERR-01
Référence spec: ERR-02, CA-03
GIVEN
- Une tâche valide enregistrée
WHEN
- L’exécution de la tâche échoue
THEN
- L’état d’échec est explicitement détectable
AND
- Un signal d’incident est observable
TEST-ID: TC-ERR-02
Référence spec: ERR-01, INV-03
GIVEN
- Plusieurs tâches en attente et en cours
WHEN
- Une interruption brutale du service survient
THEN
- Aucune tâche n’est perdue
AND
- Toutes les tâches restent identifiables avec un état cohérent
TEST-ID: TC-ERR-03
Référence spec: ERR-03
GIVEN
- Une tâche en cours d’exécution
WHEN
- Un événement de force majeure simulé survient
THEN
- Une information explicite d’exécution incomplète est observable
5. Tests d’invariants (non négociables)
| Invariant | Test(s) dédiés | Observable | Commentaire |
| INV-01 | TC-INV-01 | États persistés | Aucune tâche fantôme |
| INV-02 | TC-INV-02 | Consultation d’état | Observabilité continue |
| INV-03 | TC-INV-03 | Reprise post-interruption | Pas de perte d’historique |
| INV-04 | TC-INV-04 | Signal incident | Détection systématique |
TEST-ID: TC-INV-01
Référence spec: INV-01
GIVEN
- Un ensemble de tâches enregistrées
WHEN
- Le cycle complet d’exécution est terminé
THEN
- Chaque tâche est associée à un état final explicite
AND
- Aucune tâche n’est absente de l’état persistant
6. Tests de non-régression
| Test ID | Objet | Observable | Commentaire |
| TC-NR-01 | Redémarrage service | États des tâches | États inchangés |
| TC-NR-02 | Charge nominale | Visibilité états | Aucun état manquant |
7. Tests négatifs et adversariaux
| Test ID | Situation abusive | Résultat attendu | Observable |
| TC-NEG-01 | Interruption répétée | Aucun état incohérent | États persistés |
| TC-NEG-02 | Échec massif de tâches | Signal global d’anomalie | Alertes visibles |
8. Observabilité requise pour les tests
- État persistant des tâches (liste + statut)
- Signal explicite d’incident
- Historique des transitions d’état
- Indicateur de reprise automatique
- Documentation opératoire accessible
9. Règles non testables
| Règle | Raison | Impact |
| Aucune | — | — |
10. Verdict QA
- ✅ Testable intégralement
- Aucune règle bloquante identifiée
- La conformité peut être démontrée sans accès au code