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-01accessible. - 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-02accessible 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-03accessible 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-04existe dans la build, token API de test fixe affiche. - OCR Tesseract disponible.
- Etapes
- Verifier la presence de
SCR-248-04dans l'application testee. - Si present: naviguer vers
SCR-248-04et 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/Aavec 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-02etSCR-248-03accessibles.- 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
INACTIVEentre les deux ecrans (aucune captureALLOWEDsur 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-02sans 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-02puis lancer transition versSCR-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-*sontALLOWED. - 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-captureest la seule dependance de cette capacite.- Aucune dependance native additionnelle dediee a cette capacite n'est presente.