Aller au contenu

PD-84-tests.md

1) Metadata

  • Story ID: PD-84
  • Epic: PD-185 — B2C-MINEURS
  • Titre: Cahier de tests — Encadrement contractuel de l'offre gratuite pour dossiers probatoires mineurs
  • Date: 2026-02-23
  • Version: 1.3.0

2) Matrice de couverture (INV/CA -> TC)

Couverture des invariants

Invariant Scénarios de couverture
INV-84-01 TC-11, TC-SEC-01
INV-84-02 TC-11, TC-SEC-01
INV-84-03 TC-01, TC-03, TC-SEC-05
INV-84-04 TC-02, TC-03, TC-04, TC-13, TC-LIM-01, TC-LIM-02, TC-16
INV-84-05 TC-10, TC-15
INV-84-06 TC-10
INV-84-07 TC-06
INV-84-08 TC-07, TC-08, TC-LIM-03
INV-84-09 TC-15
INV-84-10 TC-09
INV-84-11 TC-04, TC-LIM-02
INV-84-12 TC-SEC-03 (partiel, voir section 6)
INV-84-13 TC-14 (partiel, voir section 6)
INV-84-14 TC-05
INV-84-15 TC-13, TC-SEC-04

Couverture des critères d'acceptation

Critère d'acceptation Scénarios de couverture
CA-84-01 TC-01
CA-84-02 TC-02
CA-84-03 TC-03
CA-84-04 TC-04
CA-84-05 TC-05
CA-84-06 TC-06
CA-84-07 TC-07
CA-84-08 TC-08, TC-12 (révisé périmètre API, voir ECT-10)
CA-84-09 TC-09
CA-84-10 TC-10, TC-SLA-01
CA-84-11 TC-11
CA-84-12 TC-12-bis
CA-84-13 TC-13
CA-84-14 TC-14 (partiel, voir section 6)

Couverture des ajouts v1.3.0 (décisions PO ESCALADE)

Décision ESCALADE Scénarios de couverture
ESCALADE-01 (SLA mesure précisée) TC-SLA-01 (protocole de mesure révisé)
ESCALADE-02 (downgrade PREMIUM→FREE) TC-18 (capabilities), TC-19 (conservation + re-verrouillage)
ESCALADE-03 (PD-31 résilience hors périmètre) Hors périmètre PD-84 (contrat PD-31)
ESCALADE-04 (F-84-04/05 qualifiées FREE) TC-03, TC-04, TC-19 (PREMIUM >100 conservé)
ESCALADE-05 (CA-84-08 reformulée) TC-08 (refus systématique clôturé)

Couverture des ajouts v1.1.0

Écart / Ajout Scénarios de couverture
ECT-01/ECT-04 (SLA) TC-SLA-01
ECT-02 (concurrence déterministe) TC-LIM-01, TC-LIM-02
ECT-05/ECT-14 (catégorie invalide) TC-16
ECT-06 (CapabilityState calculé) TC-18
ECT-08 (endpoint stub plan) TC-10-bis
ECT-09 (équivalence algorithmique) TC-11
ECT-10 (CA-84-08 révisé) TC-12
ECT-11 (audit export FREE) TC-13 (action 5)
ECT-12 (idempotence clôture) TC-17

3) Scénarios de test

Préconditions communes (jeu de test déterministe)

  • Environnement isolé avec horloge système figée et base réinitialisée avant chaque scénario.
  • Comptes de test:
  • U_MINOR_A (plan FREE, rôle MINOR)
  • U_GUARDIAN_B (plan FREE, rôle LEGAL_GUARDIAN)
  • U_OTHER_C (plan FREE, rôle OTHER)
  • U_PREM_A (plan PREMIUM, pour comparaisons inter-plans)
  • Catégorie valide de dossier: CATEGORY_VALID_1 = B2C_EVIDENCE_MINOR. [Traçabilité: ECT-05/ECT-14]
  • Catégorie invalide de dossier: CATEGORY_INVALID_X = INVALID_TEST_CATEGORY.
  • Mécanisme de transition de plan disponible en test: PUT /account/plan ou stub événement interne. [Traçabilité: ECT-08]
  • Les appels API sont effectués avec authentification explicite par compte.
  • Les vérifications d'audit lisent les événements AuditLogEvent via canal d'observabilité de test (lecture seule).
  • Journal d'audit activé (PD-31).

TC-01 — Création dossier FREE autorisée entre 0 et 2 actifs

  • Préconditions
  • U_MINOR_A possède 0 dossier ACTIVE.
  • Action
  • POST /folders (1re création).
  • POST /folders (2e création).
  • POST /folders (3e création).
  • Résultat attendu
  • Les 3 créations réussissent.
  • Chaque dossier est ACTIVE, avec display_name et category persistés.
  • GET /folders retourne exactement 3 dossiers ACTIVE pour U_MINOR_A.
  • Couvre
  • INV-84-03, INV-84-04
  • CA-84-01

TC-02 — Refus du 4e dossier FREE

  • Préconditions
  • U_MINOR_A possède exactement 3 dossiers ACTIVE.
  • Action
  • POST /folders pour créer un 4e dossier.
  • Résultat attendu
  • Requête refusée avec code métier QUOTA_FOLDER_LIMIT_REACHED.
  • Aucun nouveau dossier n'est créé.
  • Un événement d'audit de refus quota est enregistré.
  • Couvre
  • INV-84-04, INV-84-15
  • CA-84-02

TC-03 — Passage de 99 à 100 documents autorisé

  • Préconditions
  • Dossier F1 ACTIVE de U_MINOR_A avec sealed_document_count = 99.
  • Action
  • POST /folders/{F1}/documents pour ajouter 1 document.
  • Résultat attendu
  • Ajout accepté.
  • sealed_document_count passe à 100.
  • Le document ajouté possède probatory_seal_ref, integrity_state, anchoring_state non vides.
  • Couvre
  • INV-84-03, INV-84-04
  • CA-84-03

TC-04 — Refus du 101e document avec message Premium

  • Préconditions
  • Dossier F1 ACTIVE de U_MINOR_A avec sealed_document_count = 100.
  • Action
  • POST /folders/{F1}/documents pour ajouter un 101e document.
  • Résultat attendu
  • Requête refusée avec QUOTA_DOCUMENT_LIMIT_REACHED.
  • Message fonctionnel indique disponibilité Premium.
  • sealed_document_count reste à 100.
  • Audit de refus quota document présent.
  • Couvre
  • INV-84-04, INV-84-11, INV-84-15
  • CA-84-04

TC-05 — Export probatoire refusé en FREE

  • Préconditions
  • U_MINOR_A en plan FREE, dossier F1 existant.
  • Action
  • POST /folders/{F1}/exports/composite
  • POST /folders/{F1}/exports/archive
  • Résultat attendu
  • Les 2 requêtes sont refusées avec PREMIUM_REQUIRED.
  • Aucun artefact d'export n'est généré.
  • Couvre
  • INV-84-14
  • CA-84-05

TC-06 — État UI export grisé + texte + CTA en FREE

  • Préconditions
  • Session authentifiée U_MINOR_A en FREE, dossier F1 affichable.
  • Action
  • Ouvrir l'écran détail dossier.
  • Résultat attendu
  • Contrôles d'export visibles mais désactivés.
  • Texte exact attendu: présence de "Disponible en Premium".
  • CTA Premium visible et actionnable.
  • Couvre
  • INV-84-07
  • CA-84-06

TC-07 — Clôture dossier: lecture seule + libération slot + conservation preuves

  • Préconditions
  • U_MINOR_A a 3 dossiers ACTIVE; F1 contient au moins 1 document scellé.
  • Action
  • POST /folders/{F1}/close
  • GET /folders/{F1}
  • GET /folders
  • POST /folders (création d'un nouveau dossier)
  • Résultat attendu
  • F1 passe à CLOSED_READ_ONLY avec closed_at renseigné.
  • Les preuves scellées de F1 restent consultables en lecture.
  • Nombre de dossiers ACTIVE diminue de 1 puis permet une nouvelle création.
  • Couvre
  • INV-84-03, INV-84-08
  • CA-84-07

TC-08 — Dossier fermé: refus opérations d'écriture

  • Préconditions
  • F1 est CLOSED_READ_ONLY.
  • Action
  • POST /folders/{F1}/documents.
  • Résultat attendu
  • Requête refusée avec FOLDER_CLOSED_READ_ONLY.
  • Aucun changement sur documents existants.
  • Couvre
  • INV-84-08
  • CA-84-08 (couverture partielle, voir section 6)

TC-09 — Quotas indépendants entre comptes

  • Préconditions
  • U_MINOR_A possède 3 dossiers ACTIVE.
  • U_GUARDIAN_B possède 0 dossier.
  • Action
  • U_MINOR_A: tentative de 4e dossier.
  • U_GUARDIAN_B: création d'un 1er dossier.
  • Résultat attendu
  • U_MINOR_A reçoit QUOTA_FOLDER_LIMIT_REACHED.
  • U_GUARDIAN_B crée son dossier avec succès.
  • Les compteurs quota sont indépendants.
  • Couvre
  • INV-84-10, INV-84-04
  • CA-84-09

TC-10 — Upgrade FREE -> PREMIUM: capacités déverrouillées automatiquement

  • Préconditions
  • U_MINOR_A en FREE, dossier F1 existant.
  • GET /capabilities retourne export indisponible.
  • Action
  • Transition de plan de FREE vers PREMIUM via PUT /account/plan ou stub événement. [Traçabilité: ECT-08]
  • Sans autre action utilisateur, appel GET /capabilities.
  • Tentative d'export sur F1.
  • Résultat attendu
  • Capacités Premium actives immédiatement après changement de plan.
  • Exports deviennent autorisés sur dossier existant.
  • Événement d'audit changement de plan présent.
  • Couvre
  • INV-84-05, INV-84-06, INV-84-15
  • CA-84-10

TC-11 — Équivalence algorithmique de scellement FREE vs PREMIUM

  • Préconditions
  • Deux comptes test: un en FREE (U_MINOR_A), un en PREMIUM (U_PREM_A).
  • Dossiers actifs prêts à recevoir un document identique (même fichier source, même métadonnées fonctionnelles).
  • Action
  • Ajouter le document sur les deux dossiers via POST /folders/{folderId}/documents.
  • Collecter les métadonnées de scellement des deux documents produits.
  • Comparer:
    • algorithme de hash,
    • format d'horodatage,
    • mécanisme d'ancrage.
  • Résultat attendu
  • Les attributs de scellement sont strictement identiques entre FREE et PREMIUM (équivalence algorithmique, pas seulement présence).
  • Aucune divergence de pipeline de scellement.
  • Aucun champ de dégradation cryptographique lié au plan.
  • Couvre
  • INV-84-01, INV-84-02
  • CA-84-11
  • [Traçabilité: ECT-09]

TC-12 — Absence de remise à zéro mensuelle des quotas

  • Préconditions
  • U_MINOR_A est au plafond (3 dossiers actifs et/ou dossier à 100 documents).
  • Horloge de test avance d'un mois calendaire.
  • Action
  • Rejouer tentative de création dossier 4 et/ou ajout document 101 après changement de mois.
  • Résultat attendu
  • Les refus quota restent identiques (QUOTA_FOLDER_LIMIT_REACHED, QUOTA_DOCUMENT_LIMIT_REACHED).
  • Aucun mécanisme de reset périodique observé.
  • Couvre
  • INV-84-04
  • CA-84-12

TC-13 — Audit systématique des événements sensibles

  • Préconditions
  • Canal d'observabilité audit accessible en lecture.
  • Action
  • Provoquer refus quota dossier.
  • Provoquer refus quota document.
  • Clôturer un dossier.
  • Changer le plan FREE -> PREMIUM.
  • Tenter un export sur un dossier en plan FREE (avant changement de plan). [Traçabilité: ECT-11]
  • Résultat attendu
  • 5 événements d'audit distincts sont présents, corrélables à chaque action.
  • Chaque événement contient acteur, type, payload minimal et timestamp.
  • L'action #5 génère explicitement l'événement d'audit d'export refusé avec motif (user_id, folder_id, plan_type, motif de refus).
  • Couvre
  • INV-84-15, INV-84-04
  • CA-84-13

TC-14 — Parcours nominal sans blocage technique

  • Préconditions
  • Compte U_MINOR_A en FREE.
  • Action
  • Créer dossier.
  • Ajouter document.
  • Consulter dossier.
  • Constater export verrouillé avec CTA.
  • Clôturer dossier.
  • Résultat attendu
  • Aucune erreur bloquante inattendue sur le flux nominal.
  • Les messages d'erreur rencontrés (si quotas atteints) sont cohérents avec les codes métier documentés.
  • Couvre
  • INV-84-13 (partiel)
  • CA-84-14 (partiel, voir section 6)

TC-15 — Plan universel sans distinction d'âge

  • Préconditions
  • Comptes U_MINOR_A (MINOR) et U_OTHER_C (OTHER) en FREE.
  • Action
  • Exécuter le même scénario de quotas (créations dossiers jusqu'au plafond) sur les deux comptes.
  • Résultat attendu
  • Règles de quotas et comportements fonctionnels identiques, sans branchement par âge.
  • Aucun contrôle d'éligibilité d'âge n'est requis pour appliquer le plan.
  • Couvre
  • INV-84-09, INV-84-05
  • CA-84-01, CA-84-02

TC-16 — Catégorie invalide de dossier

  • But: valider le rejet avec code INVALID_FOLDER_CATEGORY.
  • Préconditions
  • U_MINOR_A en FREE.
  • Action
  • Tenter création dossier avec category = CATEGORY_INVALID_X.
  • Résultat attendu
  • Rejet avec code INVALID_FOLDER_CATEGORY.
  • Aucun dossier créé.
  • Couvre
  • INV-84-04
  • [Traçabilité: ECT-05/ECT-14]

TC-17 — Idempotence clôture (edge case)

  • But: vérifier le comportement sur dossier déjà clôturé.
  • Préconditions
  • Dossier F1 de U_MINOR_A en ACTIVE.
  • Action
  • Clôturer F1 via POST /folders/{F1}/close (succès attendu).
  • Rejouer POST /folders/{F1}/close sur même dossier.
  • Résultat attendu
  • 1er appel: succès, F1 passe à CLOSED_READ_ONLY.
  • 2e appel: retourne 409 CONFLICT avec code FOLDER_ALREADY_CLOSED.
  • Aucun effet de bord sur le dossier.
  • Couvre
  • INV-84-08
  • [Traçabilité: ECT-12]

TC-18 — CapabilityState calculé à la volée + downgrade PREMIUM→FREE

  • But: vérifier que CapabilityState reflète toujours plan_type courant sans désynchronisation, y compris après downgrade (spec 3.2.4).
  • Préconditions
  • U_MINOR_A en plan FREE.
  • Action
  • GET /capabilities → vérifier toutes capabilities à false.
  • Transition FREEPREMIUM via PUT /account/plan { "plan_type": "PREMIUM" }.
  • GET /capabilities → vérifier capabilities Premium à true.
  • Transition PREMIUMFREE via PUT /account/plan { "plan_type": "FREE" } (downgrade, spec 3.2.4).
  • GET /capabilities → vérifier toutes capabilities à false.
  • Résultat attendu
  • Les capabilities reflètent immédiatement le plan_type courant à chaque bascule.
  • Après downgrade : exports re-verrouillés, quotas FREE ré-appliqués.
  • Aucun état persistant contradictoire observé (pas de cache stale, pas de valeur orpheline).
  • Couvre
  • INV-84-06
  • [Traçabilité: ECT-06/ECT-v2-02, ESCALADE-02]

TC-19 — Downgrade PREMIUM→FREE : conservation dossiers + re-verrouillage

  • But: vérifier le comportement downgrade spécifié en 3.2.4 (décision PO ESCALADE-02).
  • Préconditions
  • U_MINOR_A en plan PREMIUM.
  • 4 dossiers ACTIVE (>3, au-delà du quota FREE).
  • Un dossier avec 110 documents scellés (>100).
  • Un export composite déjà généré sur un dossier.
  • Action
  • Downgrade PREMIUMFREE via PUT /account/plan { "plan_type": "FREE" }.
  • GET /folders → vérifier que les 4 dossiers sont toujours présents.
  • Tenter POST /folders pour créer un 5e dossier.
  • Tenter POST /folders/{folderOver100}/documents pour ajouter un 111e document.
  • Tenter POST /folders/{folder}/exports/composite pour générer un nouvel export.
  • Consulter l'export déjà généré.
  • Résultat attendu
  • Les 4 dossiers existants sont conservés intégralement.
  • Le dossier avec 110 documents conserve ses documents.
  • Action 3 : refus QUOTA_FOLDER_LIMIT_REACHED (4 > 3 actifs).
  • Action 4 : refus QUOTA_DOCUMENT_LIMIT_REACHED (110 > 100).
  • Action 5 : refus PREMIUM_REQUIRED.
  • Action 6 : l'export déjà généré reste consultable.
  • Couvre
  • Spec 3.2.4
  • [Traçabilité: ESCALADE-02]

4) Tests de limites et edge cases

TC-LIM-01 — Course concurrente sur création du 4e dossier (déterministe)

  • Préconditions
  • Compte FREE avec exactement 2 dossiers actifs.
  • Action
  • Lancer 2 requêtes POST /folders en parallèle strict (barrière de synchronisation).
  • Répéter le scénario 30 fois.
  • Résultat attendu
  • Exactement 1 succès et 1 refus QUOTA_FOLDER_LIMIT_REACHED à chaque itération.
  • État final: 3 dossiers actifs, jamais 4.
  • Résultat déterministe inter-runs.
  • Couvre
  • INV-84-04, INV-84-15
  • [Traçabilité: ECT-02]

TC-LIM-02 — Course concurrente sur 101e document (déterministe)

  • Préconditions
  • Dossier actif avec 99 documents.
  • Action
  • Lancer 2 requêtes POST /folders/{folderId}/documents en parallèle strict (barrière de synchronisation).
  • Répéter le scénario 30 fois.
  • Résultat attendu
  • Exactement 1 succès (100e), 1 refus QUOTA_DOCUMENT_LIMIT_REACHED à chaque itération.
  • État final: sealed_document_count = 100.
  • Résultat déterministe inter-runs.
  • Couvre
  • INV-84-04, INV-84-11
  • [Traçabilité: ECT-02]

TC-LIM-03 — Clôture au plafond puis réutilisation slot

  • Préconditions
  • Compte FREE avec 3 dossiers actifs; un dossier au plafond 100 docs.
  • Action
  • Clôturer le dossier au plafond.
  • Créer un nouveau dossier.
  • Vérifier que l'ancien dossier reste en lecture seule.
  • Résultat attendu
  • Slot libéré puis réalloué correctement.
  • Aucune altération des preuves du dossier clôturé.
  • Couvre
  • INV-84-08, INV-84-03

TC-LIM-04 — Upgrade plan pendant tentative d'export

  • Préconditions
  • Compte FREE, export initialement refusé.
  • Action
  • Lancer tentative d'export (refus attendu).
  • Basculer le plan en PREMIUM.
  • Relancer export immédiatement.
  • Résultat attendu
  • 1er appel: PREMIUM_REQUIRED.
  • 2e appel: autorisé, sans état intermédiaire incohérent.
  • Aucun PLAN_STATE_INCONSISTENT observé.
  • Couvre
  • INV-84-05, INV-84-06

4b) Tests SLA

TC-SLA-01 — SLA propagation capabilities après changement de plan

  • But: chiffrer la conformité SLA de propagation.
  • Préconditions
  • U_MINOR_A en FREE, dossier F1 existant.
  • Protocole de mesure (décision PO ESCALADE-01):
  • Point de départ : instant de réception de la requête PUT /account/plan par le serveur (timestamp serveur).
  • Point d'arrivée : enregistrement effectif dans le journal append-only (PD-31).
  • Fréquence de polling : GET /capabilities toutes les 200ms.
  • Taille d'échantillon : N = 50 répétitions pour calcul p95 significatif.
  • Action
  • Déclencher transition FREE -> PREMIUM via PUT /account/plan.
  • Mesurer délai entre réception API et visibilité effective des capabilities (GET /capabilities retourne can_export_composite=true).
  • Répéter 50 fois pour calcul p95.
  • Résultat attendu
  • p95 < 5s.
  • Aucun cas > 30s; sinon état PLAN_STATE_INCONSISTENT émis et audité.
  • Couvre
  • INV-84-05, INV-84-06
  • CA-84-10
  • [Traçabilité: ECT-01, ECT-04, ESCALADE-01]

5) Tests de sécurité

TC-SEC-01 — Parité cryptographique FREE/PREMIUM

  • Préconditions
  • Deux comptes plans différents, même document d'entrée.
  • Action
  • Sceller le document dans chaque plan et comparer les attributs de sécurité attendus.
  • Résultat attendu
  • Même niveau d'artefacts cryptographiques (présence hash/horodatage/ancrage), sans mode allégé FREE.
  • Couvre
  • SEC-84-01
  • INV-84-01, INV-84-02

TC-SEC-02 — Accès strict propriétaire

  • Préconditions
  • U_MINOR_A possède F1; U_GUARDIAN_B n'en est pas propriétaire.
  • Action
  • U_GUARDIAN_B tente GET /folders/{F1}, POST /folders/{F1}/documents, POST /folders/{F1}/close.
  • Résultat attendu
  • Refus d'accès sur toutes les opérations non autorisées.
  • Aucun effet de bord sur F1.
  • Couvre
  • SEC-84-02

TC-SEC-03 — Non exposition des preuves chiffrées par la plateforme

  • Préconditions
  • Dossier avec documents scellés existants.
  • Action
  • Inspecter les réponses GET /folders et GET /folders/{folderId}.
  • Résultat attendu
  • Les API n'exposent pas de contenu probatoire en clair; uniquement métadonnées autorisées.
  • Couvre
  • SEC-84-04 (partiel)
  • INV-84-12 (partiel)

TC-SEC-04 — Audit des événements sensibles sécurité

  • Préconditions
  • Canal audit lisible.
  • Action
  • Générer refus quota, clôture, changement de plan, tentative d'accès non autorisé.
  • Résultat attendu
  • Chaque événement sensible est journalisé avec identité acteur et horodatage.
  • Couvre
  • SEC-84-03
  • INV-84-15

TC-SEC-05 — Freemium n'empêche pas le dossier minimal

  • Préconditions
  • Compte MINOR en FREE, sans dossier.
  • Action
  • Créer 1 dossier puis ajouter 1 document.
  • Résultat attendu
  • Flux minimal entièrement réalisable sans Premium.
  • Couvre
  • SEC-84-05
  • INV-84-03

6) Tests non testables (avec justification)

Référence Statut Justification
SLA-84-01 TESTABLE (v1.1.0) Résolu: p95 < 5s, borne absolue <= 30s, couvert par TC-SLA-01.
CA-84-08 (partie "modif/suppression") NON TESTABLE PARTIEL Les interfaces fournies n'exposent pas d'endpoint de modification/suppression de dossier/document; seule l'ajout document est testable directement. Couvert par TC-12 (révisé périmètre API). [Traçabilité: ECT-10]
CA-84-14 (partie "vocabulaire ambigu") NON TESTABLE PARTIEL Aucun glossaire, score de lisibilité, ni règle sémantique formelle fournis pour qualifier l'ambiguïté linguistique.
INV-84-13 NON TESTABLE PARTIEL "Parcours compréhensible adolescent" nécessite métrique UX définie (questionnaire, SUS, taux de compréhension) absente de la spécification.
INV-84-12 / SEC-84-04 (niveau "inaccessibles plateforme" complet) NON TESTABLE PARTIEL La spécification ne fournit pas de protocole d'audit infra/backoffice. Couverture API possible, couverture plateforme complète non démontrable sans exigences techniques supplémentaires.

7) Verdict de testabilité (couverture globale)

  • Couverture INV: 15/15 couverts par au moins un scénario, dont 3 avec couverture partielle signalée (INV-84-12, INV-84-13, et aspect gouvernance UX de INV-84-13).
  • Couverture CA: 14/14 couverts par au moins un scénario, dont 2 partiels (CA-84-08, CA-84-14) pour manque de critères/points d'API mesurables. CA-84-08 révisé au périmètre API PD-84 (ECT-10).
  • Couverture sécurité SEC: 5/5 adressés, avec SEC-84-04 partiellement démontrable côté API uniquement.
  • Tests ajoutés v1.1.0: TC-16 (catégorie invalide), TC-17 (idempotence clôture), TC-SLA-01 (SLA propagation).
  • Tests renforcés v1.1.0: TC-11 (équivalence algorithmique), TC-13 (5e action audit export), TC-LIM-01 et TC-LIM-02 (déterminisme 30 itérations + barrière synchro).
  • Conclusion: testabilité globale élevée; SLA-84-01 résolu en v1.1.0. Conformité objectivable sous réserve de lever les ambiguïtés restantes en section 6 (critères UX mesurables, surfaces API manquantes, exigences plateforme internes).

8) Traçabilité écarts -> tests/spec

Écart Tests couvrants Section spec
ECT-01/ECT-04 TC-SLA-01 Spec 3.2.2, 9 (SLA chiffré)
ECT-02 TC-LIM-01, TC-LIM-02 Spec 3.4 (concurrence)
ECT-03/ECT-07 TC-19 (downgrade + quotas PREMIUM levés) Spec 2.3, 3.3, 3.2.4 (PREMIUM / downgrade)
ECT-05/ECT-14 TC-16 + Préconditions Spec 4 (F-84-19), 7.1, 7.2
ECT-06 TC-18 (CapabilityState calculé à la volée) Spec 3.1 entité 4
ECT-08 TC-10 (endpoint stub) Spec 3.2.3, 7.1
ECT-09 TC-11 (renforcé) Spec 8.3
ECT-10 TC-12 (CA-84-08 révisé) Spec 6 (CA-84-08 révisé)
ECT-11 TC-13 action 5 Spec 8.2
ECT-12 TC-17 Spec 3.2.1, 7.1, 7.2