PD-252 — Scenarios de tests contractuels (v3)
1. References
- Specification : PD-252-specification.md
- Epic : EPIC-XX
2. Matrice de couverture
| ID Invariant | ID Critere | ID Test | Couverture | Commentaire |
| INV-252-01 | CA-01 | TC-NOM-01 | Oui | Existence du fichier policy verifiee a l’emplacement cible fige. |
| INV-252-01 | CA-08 | TC-NOM-01 | Oui | Lien explicite depuis ch08 vers la policy present. |
| INV-252-02 | CA-02 | TC-NOM-02 | Oui | 5 categories obligatoires presentes et liste canonique exacte des 14 formats verifiee. |
| INV-252-03 | CA-03 | TC-NOM-03 | Oui | Mapping format -> niveau unique et definitions formelles presentes. |
| INV-252-04 | CA-04 | TC-NOM-04 | Oui | Conversions documentees avec statut story separee, non bloquant v1. |
| INV-252-05 | CA-05 | TC-NOM-05 | Oui | 5 validations d’ingestion minimales presentes, dont SHA3-384, avec statut implementation. |
| INV-252-06 | CA-10 | TC-NOM-06 | Oui | Contrats de donnees centralises en §5.1 et references sans redefinition. |
| INV-252-07 | CA-11 | TC-NOM-07 | Oui | Etats, transitions autorisees/interdites et retours explicites verifies. |
| INV-252-08 | CA-07 | TC-NOM-09 | Oui | References ISO/NF/ISO 19005-½/3 et RFC interne presentes. |
| INV-252-08 | CA-09 | TC-NOM-09 | Oui | Trace explicite GAP-FINAL-004 presente. |
| INV-252-09 | N/A | TC-INV-09 | Oui | Toute regle non testable est marquee explicitement NON TESTABLE. |
| N/A | CA-06 | TC-NOM-08 | Oui | Matrice format x duree complete et coherente avec niveaux/sections normatives. |
| N/A | CA-12 | TC-NOM-10 | Oui | Parametres numeriques avec bornes, unites, contexte et hors bornes. |
| N/A | N/A | TC-MEC-01 | Oui | Mecanisme de validation par revue documentaire structuree verifie. |
3. Scenarios de test - Flux nominaux
TEST-ID: TC-NOM-01
Reference spec: INV-252-01, CA-01, CA-08
GIVEN
- Le repository documentaire contient le manuel SAE et la policy cible
- Le chemin cible est fige a `docs/sae-manual/preservation-format-policy.md`
WHEN
- On verifie la presence du fichier `preservation-format-policy.md`
- On inspecte le chapitre ch08 du manuel SAE
THEN
- Le fichier `preservation-format-policy.md` existe a l'emplacement contractuel
- Le chapitre ch08 contient un lien explicite vers cette policy
AND
- Le lien est syntaxiquement correct (chemin relatif Markdown valide vers un fichier existant dans le repository)
TEST-ID: TC-NOM-02
Reference spec: INV-252-02, CA-02, §5.4, §5.4b
GIVEN
- La section catalogue des formats de la policy est presente
WHEN
- On controle les categories et leur contenu
THEN
- Les 5 categories obligatoires existent: Documents textuels, Images, Donnees structurees, Texte brut, Audio/Video
- La liste canonique exacte des 14 formats est presente:
PDF/A-1B, PDF/A-2B, PDF/A-3B, JPEG, PNG, TIFF, JSON, XML, FACTUR-X, TXT, CSV, MP4, WAV, MOV
- Chaque format est associe a son `mimeType` et `preservationLevel` comme defini en §5.4b
AND
- Aucune categorie backend (`DEFAULT`, `B2C_EVIDENCE_MINOR`) n'est redefinie comme categorie de policy
TEST-ID: TC-NOM-03
Reference spec: INV-252-03, CA-03, §5.1
GIVEN
- Le tableau des formats de preservation est disponible
WHEN
- On verifie chaque ligne format
THEN
- Chaque `formatName` est unique
- Chaque format a exactement un `preservationLevel` parmi `COMPLETE|BITSTREAM`
- Les definitions formelles de `COMPLETE` et `BITSTREAM` sont presentes dans la policy
AND
- Aucune ligne n'a double affectation de niveau
TEST-ID: TC-NOM-04
Reference spec: INV-252-04, CA-04, §5.5
GIVEN
- La section conversions a l'ingestion est presente
WHEN
- On audite chaque regle de conversion documentee
THEN
- Chaque ligne comporte format source, format cible, `conversionPriority` (`P1|P2|P3`)
- Chaque ligne mentionne explicitement le statut `story separee`
- Les statuts planifies utilisent `PD-NEW` avec la note backlog associee
AND
- La section mentionne explicitement le caractere `non bloquant v1`
TEST-ID: TC-NOM-05
Reference spec: INV-252-05, CA-05, §5.6
GIVEN
- La section validations d'ingestion est disponible
WHEN
- On compare le contenu a la liste contractuelle minimale
THEN
- Les 5 validations sont presentes: MIME, PDF/A, hash, taille, malware
- L'algorithme d'integrite est explicitement `SHA3-384`
- Chaque validation a un `Statut implementation` (`IMPLEMENTE` ou `PLANIFIE (PD-NEW)`)
AND
- Le controle MIME precise `declare vs contenu reel`
- Les validations `PLANIFIE (PD-NEW)` incluent la clause de non-conformite technique (exigences cibles, pas declarations de conformite)
TEST-ID: TC-NOM-06
Reference spec: INV-252-06, CA-10, §5.1
GIVEN
- Le document policy complet est disponible
WHEN
- On verifie l'emplacement des definitions contractuelles de donnees
THEN
- Les contraintes de `formatName`, `mimeType`, `preservationLevel`, `retentionDuration`, `conversionPriority`, `normativeReference`, `integrityHashAlgorithm` sont toutes definies en §5.1
- Les autres sections referencent ces contraintes sans les redefinir
AND
- Le comportement `si invalide => rejet` est explicite pour chaque donnee
TEST-ID: TC-NOM-07
Reference spec: INV-252-07, CA-11, §5.8
GIVEN
- Le modele d'etats de classification est documente
WHEN
- On verifie la matrice des transitions
THEN
- Les transitions autorisees depuis `UNCLASSIFIED` sont explicitement listees
- Les transitions depuis `COMPLETE`, `BITSTREAM`, `REJECTED` sont explicites et interdites
- Les transitions inverses (`COMPLETE <-> BITSTREAM`, retours vers `UNCLASSIFIED`) sont explicitement interdites
AND
- Le caractere hors perimetre de toute reclassification post-ingestion est indique
TEST-ID: TC-NOM-08
Reference spec: CA-06, §5.2, §5.7
GIVEN
- La matrice formats x durees legales est presente
WHEN
- On audite chaque type documentaire cible
THEN
- Les lignes suivantes sont presentes avec valeurs exactes:
1) Contrats commerciaux | P10Y | PDF/A-1B, PDF/A-2B, PDF/A-3B | COMPLETE
2) Factures | P10Y | PDF/A-1B, PDF/A-2B, PDF/A-3B, FACTUR-X | COMPLETE
3) Documents probatoires (textuels) | P30Y | PDF/A-1B, PDF/A-2B | COMPLETE
4) Documents probatoires (images) | P30Y | TIFF | BITSTREAM
5) Preuves numeriques (mineurs) | P30Y | JPEG, PNG, TIFF, MP4, WAV, MOV | BITSTREAM
6) Donnees techniques (structurees) | P5Y | JSON, XML | COMPLETE
7) Donnees techniques (texte brut) | P5Y | CSV, TXT | BITSTREAM
AND
- Chaque type documentaire cite au moins une reference normative ou citation documentaire justifiant la duree
TEST-ID: TC-NOM-09
Reference spec: INV-252-08, CA-07, CA-09, §5.1 (`normativeReference`)
GIVEN
- La section references et tracabilite de la policy est disponible
WHEN
- On controle les citations et liens de tracabilite
THEN
- Les references structurees (champ `normativeReference`) suivantes sont presentes et conformes a la regex `^[A-Z0-9 .:_-]+ §[0-9.]+$` : ISO 14641 §10.1.1, NF Z42-013 §6.2.4
- Les citations documentaires suivantes sont presentes textuellement : ISO 19005-1, ISO 19005-2, ISO 19005-3, RFC-PV-PACK
- La mention `GAP-FINAL-004` est explicite
AND
- Le texte relie explicitement `GAP-FINAL-004` a l'objectif de conformite de la policy
- Les citations documentaires ne sont PAS des valeurs du champ `normativeReference` (pas de regex appliquee)
TEST-ID: TC-NOM-10
Reference spec: CA-12, §5.2, §5.3
GIVEN
- Les parametres numeriques contractualises sont documentes
WHEN
- On controle les colonnes valeur par defaut/min/max/unite/contexte/hors bornes
THEN
- Tous les parametres identifies ont bornes et unites explicites
- Les regles hors bornes sont explicites (`rejet ingestion` ou `rejet policy` selon contexte)
AND
- La mention `Aucune transition temporelle identifiee` est presente en section SLA
TEST-ID: TC-MEC-01
Reference spec: §5.9
GIVEN
- La policy est candidate a l'audit
WHEN
- On applique la revue documentaire structuree (checklist ISO 14641)
THEN
- Le mecanisme de validation est explicite comme revue documentaire
- Les erreurs §6 sont evaluables via cette revue
AND
- Aucun moteur applicatif de validation n'est exige dans PD-252
4. Scenarios de test - Cas d'erreur
TEST-ID: TC-ERR-01
Reference spec: ERR-252-01, §5.9
GIVEN
- Une entree de format apparait hors liste autorisee de la policy
WHEN
- La revue documentaire structuree de conformite est evaluee
THEN
- L'entree concernee est rejetee
- Motif explicite: format non liste
AND
- La policy est non conforme tant que l'erreur persiste
TEST-ID: TC-ERR-02
Reference spec: ERR-252-02, §5.1 (`mimeType`), §5.9
GIVEN
- Une ligne contient `mimeType=application` (sans subtype) apres normalisation lowercase
WHEN
- La policy est validee contre le contrat de donnees via revue documentaire
THEN
- La ligne est rejetee
- Motif explicite: non conformite regex RFC
AND
- La policy est non conforme tant que l'erreur persiste
TEST-ID: TC-ERR-03
Reference spec: ERR-252-03, §5.1 (`preservationLevel`), §5.9
GIVEN
- Une ligne contient `preservationLevel=ARCHIVAL`
WHEN
- Validation contractuelle de la policy via revue documentaire
THEN
- Rejet de la ligne
- Motif explicite: valeur hors enum `COMPLETE|BITSTREAM`
AND
- La policy est non conforme tant que l'erreur persiste
TEST-ID: TC-ERR-04
Reference spec: ERR-252-04, §5.1 (`retentionDuration`), §5.2
GIVEN
- Une duree est exprimee en format invalide (`10Y`) ou valeur hors matrice attendue (`P12Y` pour factures)
WHEN
- Validation de la matrice legale
THEN
- Rejet de la policy
- Motif explicite: duree non ISO 8601 contractuelle (sous-ensemble mono-composant) ou hors valeurs autorisees
- Aucune interpretation implicite n'est autorisee
TEST-ID: TC-ERR-05
Reference spec: ERR-252-05, §5.1 (`normativeReference`)
GIVEN
- Une reference normative est absente ou mal formee (sans `§section`)
WHEN
- Verification des references
THEN
- Rejet de la policy
- Motif explicite: reference normative absente/mal formee
- Aucune exception manuelle admise
TEST-ID: TC-ERR-06
Reference spec: ERR-252-06, §5.5
GIVEN
- Une regle de conversion est documentee sans priorite
WHEN
- Controle de la section conversion
THEN
- Rejet de la policy
- Motif explicite: conversion sans priorite contractuelle
- Aucune conversion implicite n'est acceptee
TEST-ID: TC-ERR-07
Reference spec: ERR-252-07, INV-252-07
GIVEN
- Une transition d'etat est appliquee ou supposee sans etre documentee dans §5.8
WHEN
- Audit de conformite du modele d'etats
THEN
- Rejet de la policy
- Motif explicite: transition non documentee
- Le statut de conformite reste bloque en non conforme
TEST-ID: TC-ERR-08
Reference spec: ERR-252-08, INV-252-08
GIVEN
- La policy ne contient pas de reference explicite a `GAP-FINAL-004`
WHEN
- Audit de tracabilite ISO est execute
THEN
- Rejet de la policy
- Motif explicite: reference GAP manquante
- Aucun verdict `GO` ne peut etre prononce
5. Tests d'invariants (non negociables)
| Invariant | Test(s) dedies | Observable | Commentaire |
| INV-252-01 | TC-NOM-01 | Fichier policy present + lien ch08 resolvable | Conformite documentaire de base. |
| INV-252-02 | TC-NOM-02, TC-ERR-01 | 5 categories presentes/non vides + liste canonique 14 formats, format hors liste rejete | Exhaustivite et perimetre non ambigu. |
| INV-252-03 | TC-NOM-03, TC-ERR-03 | Niveau unique par format, enum strict | Cohesion de classification. |
| INV-252-04 | TC-NOM-04, TC-ERR-06 | Conversions documentees et non bloquantes v1, priorite obligatoire | Respect du hors perimetre implementation. |
| INV-252-05 | TC-NOM-05 | Liste minimale des 5 validations + SHA3-384 explicite + statut implementation | Robustesse d'ingestion documentee. |
| INV-252-06 | TC-NOM-06, TC-ERR-02, TC-ERR-04, TC-ERR-05 | Contrats centralises en §5.1 + rejet si invalide | Elimine les ambiguitees de format. |
| INV-252-07 | TC-NOM-07, TC-ERR-07 | Matrice transitions explicite + inverses interdites | Couvre transitions retour interdites. |
| INV-252-08 | TC-NOM-09, TC-ERR-08 | Mentions normatives + GAP-FINAL-004 explicite | Tracabilite audit ISO 14641. |
| INV-252-09 | TC-INV-09 | Regles non testables marquees NON TESTABLE + justification | Contractualisation verifiable des limites. |
TEST-ID: TC-INV-09
Reference spec: INV-252-09
GIVEN
- La specification contient une clarification ouverte (Q-252-05)
WHEN
- Le dossier de test est etabli
THEN
- Chaque regle non objectivement verifiable est marquee `NON TESTABLE`/`hors perimetre`
- La raison et l'impact sont explicitement documentes
AND
- Aucune regle ambigue n'est consideree conforme par defaut
6. Tests de non-regression
| Test ID | Objet | Observable | Commentaire |
| TC-NR-01 | Stabilite du catalogue des formats v1 | Meme liste canonique (14 formats, 5 categories) entre baseline et version candidate | Evite pertes/ajouts implicites hors story. |
| TC-NR-02 | Stabilite des niveaux de preservation | Aucun format existant ne change de COMPLETE vers BITSTREAM (ou inverse) sans justification versionnee | Protege l'immutabilite documentaire. |
| TC-NR-03 | Stabilite de la matrice legale | Les valeurs contractuelles de la matrice (§5.7) restent exactes (7 lignes: P10Y/P10Y/P30Y/P30Y/P30Y/P5Y/P5Y) | Evite regression normative silencieuse. |
| TC-NR-04 | Stabilite des references normatives | ISO/NF/ISO 19005-½/3/RFC/GAP restent cites apres mise a jour de forme | Protege la tracabilite d'audit. |
7. Tests negatifs et adversariaux
| Test ID | Entree invalide / abus | Resultat attendu | Observable |
| TC-NEG-01 | formatName=pdf/a (minuscules) | Rejet | Non-conformite regex ^[A-Z0-9/+.-]{1,32}$. |
| TC-NEG-02 | mimeType=Application/PDF (casse non canonique) | Normalisation en application/pdf, puis validation conforme | Contrat de normalisation lowercase respecte, pas de rejet si conforme apres normalisation. |
| TC-NEG-03 | retentionDuration=P1Y2M | Rejet volontaire | Hors sous-ensemble mono-composant ^P(\d+Y|\d+M|\d+D)$. |
| TC-NEG-04 | conversionPriority=P4 | Rejet | Hors enum P1|P2|P3. |
| TC-NEG-05 | normativeReference=ISO 14641 10.1.1 (sans symbole section) | Rejet | Regex NORME §section non satisfaite. |
| TC-NEG-06 | Tentative de transition BITSTREAM -> COMPLETE | Rejet | Transition inverse explicitement interdite. |
8. Observabilite requise pour les tests
- Etat systeme : presence/structure de
preservation-format-policy.md, sections et tableaux obligatoires detectables de facon statique. - Reponse API : NON APPLICABLE pour PD-252 (story documentaire uniquement) ; observable remplace par verdict de validation documentaire (
conforme/rejete) motive. - Journal d’audit : rapport de revue documentaire structuree listant chaque regle controlee, resultat binaire et motif en cas d’echec.
- Evenement signe / horodate : NON APPLICABLE en runtime ; exigence minimale = horodatage du run QA et identifiant de version du document teste.
- Export probatoire : dossier de preuves versionne (policy, extrait ch08, matrice couverture, rapport de validation, ecarts baseline/candidate).
9. Regles non testables
| Regle | Raison | Impact |
Modalite de lien tracable vers GAP-FINAL-004 (URL/ID/annexe) | Presence de la mention testable, mais forme de tracabilite attendue non specifiee (Q-252-05) | Mineur |
10. Verdict QA
- ⚠️ Testable avec reserve mineure
La specification est testable de facon deterministe (invariants, criteres, erreurs, non-regression, mecanisme de revue). Le verdict integral GO depend de la levee de Q-252-05 sur la forme exacte du lien de tracabilite vers GAP-FINAL-004.