Aller au contenu

PD-248 - Scenarios de test de reference

1) Matrice de couverture

1.1 Couverture Invariants -> Tests

Invariant Tests associes
INV-248-01 TC-248-NOM-01, TC-248-NOM-02, TC-248-NOM-03, TC-248-NOM-04, TC-248-NOM-06
INV-248-02 TC-248-NOM-01, TC-248-NOM-02, TC-248-NOM-03, TC-248-NOM-04
INV-248-03 TC-248-NOM-05, TC-248-NOM-06
INV-248-04 TC-248-NOM-01, TC-248-NOM-02, TC-248-NOM-03, TC-248-NOM-04, TC-248-SIL-01
INV-248-05 TC-248-NOM-05, TC-248-NOM-07, TC-248-REG-01
INV-248-06 TC-248-ENV-02
INV-248-07 TC-248-CFG-01
INV-248-08 TC-248-PERF-01

1.2 Couverture Criteres d'acceptation -> Tests

Critere Tests associes
CA-248-01 TC-248-NOM-01
CA-248-02 TC-248-NOM-02, TC-248-NOM-06
CA-248-03 TC-248-NOM-03, TC-248-NOM-06
CA-248-04 TC-248-NOM-04
CA-248-05 TC-248-NOM-05, TC-248-NOM-07
CA-248-06 TC-248-PERF-01
CA-248-07 TC-248-NOM-01, TC-248-NOM-02, TC-248-NOM-03, TC-248-NOM-04, TC-248-SIL-01
CA-248-08 TC-248-ENV-02
CA-248-09 TC-248-CFG-01
CA-248-10 TC-248-ENV-01

2) Scenarios nominaux (happy path)

TC-248-NOM-01 - Blocage screenshot sur SCR-248-01 (MnemonicDisplay)

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • Ecran SCR-248-01 accessible.
  • Mnemonique fixe injectee: abandon amount liar amount expire adjust cage candy arch gather drum buyer ... (24 mots fixes, voir section 6).
  • OCR Tesseract disponible dans l'environnement de test.
  • Etapes
  • Naviguer vers SCR-248-01.
  • Declencher un screenshot iOS immediatement apres affichage puis un second screenshot 200 ms plus tard.
  • Executer OCR sur les images capturees.
  • Verification attendue
  • Aucune des deux images ne contient un des 24 mots de la mnemonique.
  • Resultat de capture classe BLOCKED.
  • Aucune alerte utilisateur visible/audible pendant l'action.

TC-248-NOM-02 - Blocage screenshot sur SCR-248-02 (MFASetupScreen)

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • Ecran SCR-248-02 accessible avec QR + secret MFA fixes.
  • Outil de decodage QR disponible.
  • OCR Tesseract disponible.
  • Etapes
  • Naviguer vers SCR-248-02.
  • Declencher un screenshot.
  • Tenter de decoder le QR de l'image.
  • Executer OCR sur l'image.
  • Verification attendue
  • Le QR present dans la capture n'est pas decodable en secret exploitable.
  • Le secret MFA attendu n'est pas lisible dans l'image.
  • Resultat de capture classe BLOCKED.
  • Aucune alerte utilisateur visible/audible.

TC-248-NOM-03 - Blocage screenshot sur SCR-248-03 (TOTPCodeDisplay)

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • Ecran SCR-248-03 accessible avec code TOTP fixe et horloge de test figee.
  • OCR Tesseract disponible.
  • Etapes
  • Naviguer vers SCR-248-03.
  • Declencher un screenshot.
  • Executer OCR sur l'image.
  • Verification attendue
  • Le code TOTP attendu n'est pas detecte.
  • Resultat de capture classe BLOCKED.
  • Aucune alerte utilisateur visible/audible.

TC-248-NOM-04 - Blocage screenshot sur SCR-248-04 (APIKeyDisplay)

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • Si SCR-248-04 existe dans la build, token API de test fixe affiche.
  • OCR Tesseract disponible.
  • Etapes
  • Verifier la presence de SCR-248-04 dans l'application testee.
  • Si present: naviguer vers SCR-248-04 et declencher un screenshot.
  • Executer OCR sur l'image.
  • Verification attendue
  • Si present: le token API attendu n'est pas lisible et la capture est BLOCKED; aucune alerte utilisateur.
  • Si absent: test marque N/A avec preuve d'absence de route/composant dans la build testee.

TC-248-NOM-05 - Sortie sensible -> non sensible

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • Un ecran non sensible de reference (NS-REF-01) accessible.
  • Etapes
  • Ouvrir un ecran sensible (SCR-248-01).
  • Naviguer vers NS-REF-01.
  • Declencher un screenshot.
  • Verification attendue
  • La capture est ALLOWED.
  • L'image contient le contenu visible attendu de NS-REF-01 (golden image ou assertions visuelles definies).

TC-248-NOM-06 - Transition sensible -> sensible sans fenetre inactive

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • SCR-248-02 et SCR-248-03 accessibles.
  • Outils OCR/QR disponibles.
  • Etapes
  • Depuis SCR-248-02, declencher un screenshot juste avant action de navigation.
  • Lancer navigation vers SCR-248-03.
  • Declencher un screenshot pendant transition.
  • Declencher un screenshot a l'arrivee sur SCR-248-03.
  • Verification attendue
  • Les captures pendant transition et a l'arrivee sont BLOCKED.
  • Aucun secret MFA/TOTP lisible ni QR exploitable dans ces captures.
  • Aucune fenetre observable INACTIVE entre les deux ecrans (aucune capture ALLOWED sur les instants de transition testes).

TC-248-NOM-07 - Ecran non sensible hors perimetre sensible

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • Ecran non sensible de reference (NS-REF-02) accessible.
  • Etapes
  • Aller directement sur NS-REF-02 sans passer par un ecran sensible.
  • Declencher un screenshot.
  • Verification attendue
  • Capture ALLOWED.
  • Image conforme au rendu attendu de NS-REF-02.

TC-248-SIL-01 - Validation transverse du comportement silencieux

  • Prerequis
  • Build iOS testable (simulateur iOS >= 15.0).
  • Scenarios TC-248-NOM-01 a TC-248-NOM-04 executables.
  • Etapes
  • Executer TC-248-NOM-01 a TC-248-NOM-04.
  • Observer en parallele l'UI (modals, toasts, bannieres, overlays) et les signaux audibles eventuels detectables en simulateur.
  • Verification attendue
  • Aucune UI d'alerte screenshot pendant les captures sur ecrans sensibles.
  • Aucune emission sonore detectee en simulateur.

3) Scenarios d'erreur (cas definis dans la spec)

TC-248-ERR-01 - ERR-248-001 echec d'activation a l'entree sensible

  • Prerequis
  • Environnement de test permettant de provoquer de facon deterministe l'echec d'activation.
  • Acces a une preuve technique de l'evenement erreur (error_code).
  • Etapes
  • Provoquer l'echec d'activation lors d'une entree sur SCR-248-01 (ou autre ecran sensible).
  • Observer l'ecran dans les 500 ms apres tentative d'entree.
  • Verification attendue
  • La donnee sensible n'est jamais exposee a l'ecran.
  • Redirection hors ecran sensible en < 500 ms.
  • Evenement technique present avec error_code=ERR-248-001.

TC-248-ERR-02 - ERR-248-002 echec de maintien en transition sensible -> sensible

  • Prerequis
  • Environnement permettant d'injecter de facon deterministe un echec de maintien.
  • Acces a une preuve technique de l'evenement erreur.
  • Etapes
  • Demarrer sur SCR-248-02 puis lancer transition vers SCR-248-03.
  • Provoquer l'echec de maintien pendant transition.
  • Verification attendue
  • Meme reponse que TC-248-ERR-01: aucune donnee sensible affichee et redirection < 500 ms.
  • Evenement technique present avec error_code=ERR-248-002.

TC-248-ERR-03 - ERR-248-003 composant sensible non enregistre

  • Prerequis
  • Variante de build de test contenant volontairement un composant sensible non declare dans la liste contractuelle.
  • Etapes
  • Executer la suite de conformite PD-248 sur cette variante.
  • Verification attendue
  • Build marque non conforme (echec bloquant release).
  • Echec trace sur le controle de correspondance composants sensibles vs liste contractuelle.

TC-248-ERR-04 - ERR-248-004 environnement iOS non conforme (< 15.0)

  • Prerequis
  • Device/simulateur iOS < 15.0 disponible.
  • Etapes
  • Lancer l'application dans cet environnement.
  • Tenter d'acceder a un flux qui utiliserait la protection screenshot.
  • Verification attendue
  • Fonctionnalite declaree indisponible (etat explicite et verifiable).
  • Cas marque hors perimetre d'acceptation PD-248, sans faux positif de conformite.

4) Scenarios de performance (< 10 ms)

TC-248-PERF-01 - Latence activation protection

  • Prerequis
  • Instrumentation disponible pour mesurer le delai entre "ecran sensible affiche" et "protection ACTIVE".
  • Build iOS testable sur simulateur >= 15.0.
  • Etapes
  • Executer 100 iterations d'entree sur ecran sensible.
  • Mesurer, pour chaque iteration, le delai d'activation.
  • Calculer p95 et max.
  • Verification attendue
  • p95 < 10 ms.
  • max < 10 ms.
  • Resultats exportes et versionnes comme preuve de conformite.

5) Scenarios de regression (ecrans non sensibles)

TC-248-REG-01 - Capturabilite non sensible conservee apres exposition a des ecrans sensibles

  • Prerequis
  • Liste de reference des ecrans non sensibles: NS-REF-01, NS-REF-02, NS-REF-03.
  • Build iOS testable (simulateur iOS >= 15.0).
  • Etapes
  • Executer sequence: SCR-248-01 -> NS-REF-01 -> SCR-248-02 -> NS-REF-02 -> SCR-248-03 -> NS-REF-03.
  • Sur chaque NS-REF-*, declencher un screenshot.
  • Verification attendue
  • Toutes les captures sur NS-REF-* sont ALLOWED.
  • Le contenu visible attendu est present sur chaque capture.

TC-248-REG-02 - Non-regression hors perimetre sensible

  • Prerequis
  • Parcours utilisateur standard sans ecran sensible defini.
  • Etapes
  • Executer le parcours complet non sensible.
  • Declencher au moins une capture par etape cle du parcours.
  • Verification attendue
  • Aucune capture n'est bloquee a tort.
  • Aucune degradation visuelle introduite par le mecanisme de protection.

6) Donnees de test (valeurs et mocks requis)

Donnee Valeur / regle Usage
Mnemonique 24 mots abandon amount liar amount expire adjust cage candy arch gather drum buyer acid basic chaos dream eager echo fabric giant habit ice kangaroo lab Detection OCR negative TC-248-NOM-01
Secret MFA JBSWY3DPEHPK3PXP OCR negative TC-248-NOM-02
URI QR MFA otpauth://totp/ProbatioVault:qa?secret=JBSWY3DPEHPK3PXP&issuer=ProbatioVault&digits=6&period=30 Decodage QR negatif TC-248-NOM-02
Code TOTP attendu 123456 avec horloge figee a timestamp fixe OCR negative TC-248-NOM-03
Token API test pv_test_9f3dA7KlmN42Qp OCR negative TC-248-NOM-04
Ecrans non sensibles reference NS-REF-01/02/03 identifies nominalement avant execution CA-248-05 et regression
Outil OCR Tesseract (version fixee dans pipeline, ex: 5.x) Objectivation "non lisible"
Outil QR decode Decodeur QR fixe (version fixee) Objectivation "QR non exploitable"
Capture iOS Methode native iOS (simulateur/commande officielle) Reproductibilite
Build cible iOS EAS production + build test simulateur CA-248-08 et CA-248-10

7) Verdict (non testables et risques)

7.1 Points NON TESTABLES / partiellement testables

ID Point Statut Justification
NT-248-01 INV-248-04 "silencieuse" pour vibration haptique reelle PARTIELLEMENT TESTABLE Le simulateur ne reproduit pas fidelement les vibrations/haptiques physiques; validation complete requiert device reel instrumente.
NT-248-02 INV-248-07 "pour cette capacite" (attribution causale d'une dependance) PARTIELLEMENT TESTABLE L'inventaire dependances confirme presence/absence, mais l'affectation exacte d'usage a la capacite screenshot peut necessiter preuve de tracabilite documentaire.
NT-248-03 ERR-248-003 en environnement strictement black-box NON TESTABLE en black-box pur Ce cas exige une variante de build volontairement non conforme ou une preuve de registre de composants; sans cela, impossibilite de declencher le defaut de facon deterministe.

7.2 Risques qualifies

ID risque Description Impact conformite Mitigation test
R-248-01 Liste des ecrans non sensibles de reference non figee Ambiguite sur CA-248-05 et regressions Geler contractuellement NS-REF-* avant execution
R-248-02 Variabilite OCR (langue/police/rendu) Faux positifs/negatifs sur "non lisible" Versionner OCR, dictionnaires et seuils de matching
R-248-03 TOTP non fige dans le temps Non-determinisme des assertions Horloge de test figee et valeur TOTP fixee

8) Scenarios environnement / conformite globale

TC-248-ENV-01 - Testabilite simulateur iOS (CA-248-10)

  • Prerequis
  • Simulateur iOS >= 15.0 operationnel.
  • Mecanismes de capture, OCR et decode QR disponibles.
  • Etapes
  • Executer tous les scenarios: TC-248-NOM-01..07, TC-248-ERR-01..04, TC-248-PERF-01, TC-248-REG-01..02, TC-248-CFG-01, TC-248-SIL-01.
  • Verification attendue
  • Tous les scenarios annonces "executables sur simulateur" s'executent sans blocage environnemental.

TC-248-ENV-02 - Conformite build production EAS (CA-248-08)

  • Prerequis
  • Binaire iOS EAS Build profil production disponible.
  • Etapes
  • Installer le binaire EAS sur environnement de test compatible.
  • Rejouer le sous-ensemble contractuel: TC-248-NOM-01..07, TC-248-SIL-01, TC-248-PERF-01, TC-248-CFG-01.
  • Verification attendue
  • Tous les criteres CA-248-01..CA-248-07 sont satisfaits sur binaire production.

TC-248-CFG-01 - Contrainte de dependance (CA-248-09)

  • Prerequis
  • Inventaire complet des dependances de la build testee.
  • Etapes
  • Analyser l'inventaire des dependances utilisees pour la capacite de protection screenshot.
  • Verification attendue
  • expo-screen-capture est la seule dependance de cette capacite.
  • Aucune dependance native additionnelle dediee a cette capacite n'est presente.