Aller au contenu

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.