Aller au contenu

PD-106 - Scenarios de tests contractuels

1. References

  • Specification : PD-106-specification.md
  • Epic : PD-195 - Application mobile iOS zero-knowledge
  • JIRA : PD-106

2. Matrice de couverture

ID Invariant ID Critere ID Test Couverture Commentaire
INV-106-01 CA-106-01 TC-NOM-01 Oui Point d'entree Settings unique et coherent.
INV-106-02 CA-106-02 TC-NOM-01 Oui Profil minimal en lecture seule.
INV-106-03 CA-106-03 TC-NOM-01 Oui Identification visuelle non ambigue du compte connecte.
INV-106-04 CA-106-04 TC-NOM-01 Oui Lecture etat MFA au chargement et affichage coherent.
INV-106-04 CA-106-04 TC-ERR-03 Oui En echec de lecture, etat inconnu et pas de stale state.
INV-106-05 CA-106-05 TC-NOM-03 Oui Re-authentification exigee pour chaque operation critique.
INV-106-05 CA-106-05 TC-NOM-11 Oui Re-authentification validee depuis plus de 5 minutes : rejet.
INV-106-05 CA-106-05 TC-NOM-12 Oui Re-authentification invalidee apres sortie de flux/navigation intermediaire.
INV-106-06 - TC-NOM-03 Oui Re-authentification non reutilisable implicitement.
INV-106-07 CA-106-06 TC-NOM-02 Oui Activation MFA validee uniquement apres confirmation serveur.
INV-106-07 CA-106-07 TC-ERR-05 Oui Code TOTP invalide ne produit jamais un succes.
INV-106-08 CA-106-17 TC-INV-01 Oui Absence de persistance locale durable et absence de logs secrets.
INV-106-09 CA-106-08 TC-NOM-02 Oui Codes affiches en clair uniquement apres generation/re-generation.
INV-106-09 CA-106-08 TC-NOM-10 Oui Hors affichage unique, aucun code en clair visible.
INV-106-10 CA-106-09 TC-NOM-04 Oui Invalidation des anciens codes apres regeneration.
INV-106-11 CA-106-10 TC-NOM-05 Oui Confirmation explicite + re-authentification requises.
INV-106-11 CA-106-10 TC-ERR-06 Oui Refus explicite sans re-authentification valide.
INV-106-12 CA-106-11 TC-ERR-09 Oui Mismatch confirmation bloque localement.
INV-106-12 CA-106-12 TC-ERR-10 Oui Motif serveur exploitable restitue.
INV-106-13 CA-106-13 TC-NOM-07 Oui Session serveur invalidee au logout.
INV-106-13 CA-106-14 TC-NOM-07 Oui Nettoyage des donnees sensibles locales de session.
INV-106-13 - TC-ERR-11 Oui Fallback degradation gracieuse : deconnexion locale forcee si invalidation serveur echoue.
INV-106-14 CA-106-15 TC-NOM-08 Oui Irreversibilite + confirmation renforcee + re-authentification.
INV-106-14 CA-106-15 TC-ERR-12 Oui Confirmation renforcee invalide bloque la suppression.
INV-106-14 CA-106-15 TC-ERR-13 Oui Re-authentification echouee bloque la suppression.
INV-106-15 CA-106-16 TC-NOM-08 Oui Compte supprime puis inutilisable, utilisateur deconnecte.
INV-106-15 CA-106-16 TC-ERR-14 Oui Echec suppression ne doit jamais afficher un faux succes.
INV-106-16 CA-106-07 TC-INV-02 Oui Aucune erreur critique silencieuse.
INV-106-16 CA-106-12 TC-ERR-10 Oui Erreur mot de passe restituee clairement.
INV-106-16 - TC-ERR-01 Oui Session expiree : message explicite + protection etat.
INV-106-16 - TC-ERR-02 Oui Reseau indisponible : message explicite, pas de succes implicite.
INV-106-16 - TC-ERR-04 Oui Echec enrollement MFA explicite.
INV-106-16 - TC-ERR-08 Oui Echec regeneration explicite.
INV-106-16 - TC-ERR-11 Oui Echec logout : deconnexion locale forcee avec message explicite.
INV-106-16 - TC-ERR-15 Oui Rate-limit explicite et exploitable.
INV-106-17 CA-106-18 TC-NOM-09 Oui Localisation conforme a la langue active.
INV-106-18 CA-106-19 TC-INV-03 NON TESTABLE Hors perimetre mobile : preuve backend/compliance requise.

3. Scenarios de test - Flux nominaux

TEST-ID: TC-NOM-01 - Acces Settings et consultation profil
Reference spec: F-106-01, INV-106-01, INV-106-02, INV-106-03, INV-106-04, CA-106-01, CA-106-02, CA-106-03, CA-106-04

GIVEN
  - Un utilisateur U1 est authentifie avec une session valide S1.
  - Le backend retourne un profil deterministe (nom, email, avatar ou initiales).
  - Le backend retourne un etat MFA deterministe (ex: `desactive`).
WHEN
  - U1 ouvre le parcours Settings.
THEN
  - Les entrees Profil, MFA, mot de passe, deconnexion et suppression de compte sont accessibles depuis le meme point d'entree Settings.
  - Le profil affiche nom, email et avatar ou initiales en lecture seule.
  - Le compte connecte est identifiable sans ambiguite (identifiant lisible present).
AND
  - Un appel de lecture d'etat MFA est effectue au chargement et l'etat affiche correspond strictement a la reponse serveur.
TEST-ID: TC-NOM-02 - Activation MFA TOTP reussie
Reference spec: F-106-02, INV-106-05, INV-106-07, INV-106-08, INV-106-09, CA-106-05, CA-106-06, CA-106-08

GIVEN
  - U1 est authentifie et MFA est `desactive` cote serveur.
  - La re-authentification immediate de U1 reussit.
  - Le serveur accepte l'initialisation d'enrolement TOTP puis la verification du code saisi.
WHEN
  - U1 lance l'activation MFA et soumet un code TOTP valide.
THEN
  - MFA passe a `active` uniquement apres confirmation serveur de verification.
  - Les codes de recuperation sont affiches en clair une seule fois avec avertissement de criticite.
AND
  - L'etat MFA est recharge depuis le serveur apres succes.
TEST-ID: TC-NOM-03 - Re-authentification non reutilisable entre operations critiques
Reference spec: INV-106-05, INV-106-06, CA-106-05

GIVEN
  - U1 est authentifie.
  - Une operation critique A a ete autorisee juste avant execution via re-authentification validee.
WHEN
  - U1 tente une operation critique B distincte sans nouvelle re-authentification.
THEN
  - L'operation B est refusee et une nouvelle re-authentification est exigee.
AND
  - Aucune mutation serveur liee a l'operation B n'est executee tant que la nouvelle re-authentification n'est pas validee.
TEST-ID: TC-NOM-04 - Regeneration codes de recuperation reussie
Reference spec: F-106-03, INV-106-05, INV-106-09, INV-106-10, CA-106-08, CA-106-09

GIVEN
  - U1 est authentifie et dispose d'un jeu de codes valide RC1.
  - U1 valide la confirmation explicite.
  - U1 reussit la re-authentification immediate.
WHEN
  - U1 regenere ses codes de recuperation.
THEN
  - Un nouveau jeu RC2 est emis et affiche une seule fois en clair avec avertissement.
AND
  - Tout code RC1 devient invalide et au moins un code RC2 est valide.
TEST-ID: TC-NOM-05 - Desactivation MFA reussie
Reference spec: F-106-04, INV-106-11, CA-106-10

GIVEN
  - U1 est authentifie et MFA est `active`.
  - U1 valide la confirmation explicite de desactivation.
  - U1 reussit la re-authentification immediate.
WHEN
  - U1 confirme la desactivation MFA.
THEN
  - Le serveur confirme la desactivation.
  - L'etat MFA final affiche est `desactive` apres relecture serveur.
AND
  - Aucun etat intermediaire de succes n'est conserve si la confirmation serveur n'est pas recue.
TEST-ID: TC-NOM-06 - Changement de mot de passe reussi
Reference spec: F-106-05, INV-106-05, INV-106-12

GIVEN
  - U1 est authentifie.
  - `ancien_mdp` est valide, `nouveau_mdp` respecte la politique serveur, `confirmation_mdp` = `nouveau_mdp`.
  - La re-authentification immediate est validee.
WHEN
  - U1 soumet la demande de changement de mot de passe.
THEN
  - Le serveur confirme le changement.
  - La session courante est invalidee cote serveur.
AND
  - Les donnees sensibles locales de session sont supprimees.
  - U1 est redirige vers un etat non authentifie.
TEST-ID: TC-NOM-07 - Deconnexion reussie
Reference spec: F-106-06, INV-106-13, CA-106-13, CA-106-14

GIVEN
  - U1 est authentifie avec session valide S1.
  - Des donnees sensibles de session existent localement (token/session en cours).
WHEN
  - U1 confirme la deconnexion.
THEN
  - La session S1 est invalidee cote serveur.
  - Les donnees sensibles locales de session sont supprimees.
AND
  - U1 est redirige vers un etat non authentifie.
TEST-ID: TC-NOM-08 - Suppression de compte reussie
Reference spec: F-106-07, INV-106-14, INV-106-15, CA-106-15, CA-106-16

GIVEN
  - Un compte de test destructible U2 existe et est authentifie.
  - U2 valide la confirmation renforcee attendue par l'interface.
  - U2 reussit la re-authentification immediate.
WHEN
  - U2 confirme la suppression de compte.
THEN
  - La validation initiale de confirmation renforcee est demandee et validee.
  - La confirmation finale distincte est demandee et validee.
AND
  - La suppression est confirmee par le serveur.
  - U2 est deconnecte immediatement.
  - Toute tentative ulterieure d'utilisation du compte U2 echoue.
TEST-ID: TC-NOM-09 - Localisation des textes PD-106
Reference spec: INV-106-17, CA-106-18

GIVEN
  - Deux langues supportees L1 et L2 sont configurees.
  - U1 est authentifie.
WHEN
  - U1 bascule la langue active de L1 vers L2 puis ouvre le parcours Settings.
THEN
  - Les libelles, messages et confirmations du parcours PD-106 sont affiches dans la langue active.
AND
  - Aucun placeholder de cle i18n brut n'apparait.
TEST-ID: TC-NOM-10 - Codes de recuperation masques hors affichage unique
Reference spec: F-106-03, INV-106-09, CA-106-08

GIVEN
  - U1 est authentifie.
  - Aucun evenement de generation/regeneration de codes n'a eu lieu dans la session en cours.
WHEN
  - U1 ouvre la section codes de recuperation.
THEN
  - Aucun code en clair n'est affiche.
AND
  - Un message explicite indique la necessite de regeneration pour afficher un nouveau jeu de codes.
TEST-ID: TC-NOM-11 - Re-authentification expiree (>5 minutes) avant operation critique
Reference spec: INV-106-05, CA-106-05

GIVEN
  - U1 est authentifie.
  - Une re-authentification valide est effectuee.
  - Plus de 5 minutes se sont ecoulees depuis cette validation, sans nouvelle re-authentification.
WHEN
  - U1 tente d'executer une operation critique.
THEN
  - L'operation est rejetee.
AND
  - Une nouvelle re-authentification est exigee avant execution.
  - Aucune mutation serveur liee a l'operation critique n'est appliquee.
TEST-ID: TC-NOM-12 - Re-authentification invalidee apres sortie de flux/navigation intermediaire
Reference spec: INV-106-05, CA-106-05

GIVEN
  - U1 est authentifie.
  - Une re-authentification valide est effectuee dans le flux d'une operation critique.
WHEN
  - U1 quitte ce flux vers un autre parcours, puis revient et tente d'executer l'operation critique.
THEN
  - L'operation est rejetee.
AND
  - Une nouvelle re-authentification est exigee avant execution.
  - Aucune mutation serveur liee a l'operation critique n'est appliquee.

4. Scenarios de test - Cas d'erreur

TEST-ID: TC-ERR-01 - Session expiree pendant action critique
Reference spec: ERR-106-SESSION-EXPIRED, INV-106-16

GIVEN
  - U1 apparait authentifie cote client.
  - Cote serveur, la session est expiree/invalide au moment de l'action.
WHEN
  - U1 execute une operation critique.
THEN
  - L'action est rejetee.
  - L'application force un etat non authentifie.
AND
  - Un message explicite est affiche et aucun effet critique n'est applique.
TEST-ID: TC-ERR-02 - Erreur reseau/time-out
Reference spec: ERR-106-NETWORK, INV-106-16

GIVEN
  - U1 est authentifie.
  - La requete necessaire a l'operation cible est en time-out ou reseau indisponible.
WHEN
  - U1 valide l'operation.
THEN
  - Un message d'erreur explicite est affiche.
AND
  - Aucun changement d'etat local n'est presente comme succes.
TEST-ID: TC-ERR-03 - Lecture etat MFA indisponible
Reference spec: ERR-106-MFA-STATE-UNAVAILABLE, INV-106-04, CA-106-04

GIVEN
  - U1 est authentifie.
  - La lecture d'etat MFA retourne une erreur deterministe.
WHEN
  - U1 ouvre Settings.
THEN
  - L'etat MFA affiche est `inconnu`.
AND
  - Les actions exigeant un etat MFA fiable sont bloquees avec message explicite.
TEST-ID: TC-ERR-04 - Echec initialisation enrolement MFA
Reference spec: ERR-106-MFA-ENROLL-FAILED, INV-106-16, CA-106-07

GIVEN
  - U1 est authentifie et re-authentifie.
  - L'initialisation d'enrolement TOTP echoue cote serveur.
WHEN
  - U1 lance l'activation MFA.
THEN
  - MFA reste `desactive`.
  - Un message explicite est affiche.
AND
  - Aucune persistance locale durable de secret n'est observee.
TEST-ID: TC-ERR-05 - Code TOTP invalide a la verification
Reference spec: ERR-106-MFA-CODE-INVALID, INV-106-07, CA-106-07

GIVEN
  - U1 est dans le flux d'activation MFA avec re-authentification valide.
  - Le code TOTP soumis est invalide.
WHEN
  - U1 soumet le code invalide.
THEN
  - L'activation MFA n'est pas validee.
  - Un message explicite est affiche.
AND
  - Aucun indicateur de succes n'est presente.
TEST-ID: TC-ERR-06 - Refus desactivation MFA sans re-authentification valide
Reference spec: ERR-106-MFA-DISABLE-DENIED, INV-106-11, CA-106-10

GIVEN
  - U1 est authentifie et MFA est `active`.
  - La re-authentification est absente ou invalide.
WHEN
  - U1 tente de desactiver MFA.
THEN
  - La desactivation est refusee.
AND
  - MFA reste `active` et un message explicite est affiche.
TEST-ID: TC-ERR-07 - Consultation codes hors affichage unique
Reference spec: ERR-106-RECOVERY-NOT-AVAILABLE, INV-106-09, CA-106-08

GIVEN
  - U1 est authentifie.
  - Aucun affichage unique valide n'est disponible.
WHEN
  - U1 tente de consulter les codes de recuperation.
THEN
  - Aucun code en clair n'est affiche.
AND
  - Un message explicite indique la regeneration necessaire.
TEST-ID: TC-ERR-08 - Echec regeneration codes de recuperation
Reference spec: ERR-106-RECOVERY-REGEN-FAILED, INV-106-16

GIVEN
  - U1 est authentifie, confirme l'action et reussit la re-authentification.
  - Le serveur echoue la regeneration.
WHEN
  - U1 confirme la regeneration.
THEN
  - Un message explicite est affiche.
AND
  - Tant que la regeneration n'est pas confirmee serveur, l'ancien jeu de codes reste valide.
TEST-ID: TC-ERR-09 - Confirmation mot de passe incoherente
Reference spec: ERR-106-PWD-CONFIRM-MISMATCH, INV-106-12, CA-106-11

GIVEN
  - U1 renseigne `nouveau_mdp` et `confirmation_mdp` differents.
WHEN
  - U1 soumet le formulaire de changement mot de passe.
THEN
  - Le rejet est immediat.
AND
  - Aucun appel critique de changement mot de passe n'est emis.
TEST-ID: TC-ERR-10 - Refus serveur politique mot de passe
Reference spec: ERR-106-PWD-POLICY, INV-106-12, INV-106-16, CA-106-12

GIVEN
  - U1 est authentifie.
  - Le serveur refuse la demande (ancien mot de passe invalide ou politique non respectee).
WHEN
  - U1 soumet la demande.
THEN
  - Le mot de passe reste inchange.
  - Le motif de refus est affiche de facon exploitable.
AND
  - Aucun etat de succes n'est affiche.
TEST-ID: TC-ERR-11 - Echec invalidation session au logout
Reference spec: ERR-106-LOGOUT-FAILED, INV-106-16

GIVEN
  - U1 est authentifie.
  - Le serveur retourne un echec lors de l'invalidation de session.
WHEN
  - U1 confirme la deconnexion.
THEN
  - Un message explicite est affiche.
  - Les donnees sensibles locales de session sont supprimees.
AND
  - L'application force un etat non authentifie.
TEST-ID: TC-ERR-12 - Confirmation renforcee invalide en suppression compte
Reference spec: ERR-106-DELETE-CONFIRMATION, INV-106-14, CA-106-15

GIVEN
  - U1 est sur le flux suppression de compte.
  - La confirmation renforcee saisie est invalide/incomplete.
WHEN
  - U1 soumet la suppression.
THEN
  - La suppression n'est pas executee.
AND
  - Un message explicite est affiche.
TEST-ID: TC-ERR-13 - Echec re-authentification en suppression compte
Reference spec: ERR-106-DELETE-REAUTH, INV-106-14, CA-106-15

GIVEN
  - U1 est sur le flux suppression de compte.
  - La confirmation renforcee est validee.
  - La re-authentification echoue.
WHEN
  - U1 tente de finaliser la suppression.
THEN
  - La suppression n'est pas executee.
AND
  - Un message explicite est affiche.
TEST-ID: TC-ERR-14 - Echec serveur suppression compte
Reference spec: ERR-106-DELETE-FAILED, INV-106-15, CA-106-16

GIVEN
  - U1 est sur le flux suppression avec confirmation renforcee et re-authentification valides.
  - Le serveur echoue la suppression.
WHEN
  - U1 confirme la suppression.
THEN
  - Un message explicite est affiche.
AND
  - Le compte n'est pas marque comme supprime et aucun etat de succes n'est presente.
TEST-ID: TC-ERR-15 - Rate limit sur re-authentification/TOTP
Reference spec: ERR-106-RATE-LIMIT, INV-106-16

GIVEN
  - U1 effectue des tentatives repetitives jusqu'au seuil de rate-limit defini par le serveur.
WHEN
  - U1 depasse le seuil.
THEN
  - Le serveur retourne l'erreur de rate-limit.
  - L'application affiche un message explicite, incluant la contrainte temporelle si disponible.
AND
  - Aucun changement d'etat critique n'est applique.

5. Tests d'invariants (non negociables)

Invariant Test(s) dedies Observable Commentaire
INV-106-01 TC-NOM-01 Presence d'un point d'entree Settings unique Couverture complete
INV-106-02 TC-NOM-01 Profil minimal visible et non editable Couverture complete
INV-106-03 TC-NOM-01 Identifiant compte lisible sans ambiguite Couverture complete
INV-106-04 TC-NOM-01, TC-ERR-03 Lecture serveur et fallback inconnu Couverture complete
INV-106-05 TC-NOM-03, TC-ERR-06 Blocage sans re-authentification valide Couverture complete
INV-106-06 TC-NOM-03 Seconde operation critique refusee sans nouvelle re-authentification Couverture complete
INV-106-07 TC-NOM-02, TC-ERR-05 Activation uniquement apres confirmation serveur Couverture complete
INV-106-08 TC-INV-01 Absence de secret en stockage durable et logs Couverture complete
INV-106-09 TC-NOM-02, TC-NOM-10, TC-ERR-07 Affichage unique + avertissement + masquage hors contexte Couverture complete
INV-106-10 TC-NOM-04 Invalidation anciens codes apres regeneration Couverture complete
INV-106-11 TC-NOM-05, TC-ERR-06 Confirmation + re-authentification pour desactivation MFA Couverture complete
INV-106-12 TC-NOM-06, TC-ERR-09, TC-ERR-10 Regles de changement mot de passe + feedback exploitable Couverture complete
INV-106-13 TC-NOM-07 Invalidation session serveur + nettoyage local Couverture complete
INV-106-14 TC-NOM-08, TC-ERR-12, TC-ERR-13 Irreversibilite + confirmation renforcee + re-authentification Couverture complete
INV-106-15 TC-NOM-08, TC-ERR-14 Inutilisabilite du compte apres suppression confirmee Couverture complete
INV-106-16 TC-INV-02 + TC-ERR-01..TC-ERR-15 Erreurs critiques explicites, jamais silencieuses Couverture complete
INV-106-17 TC-NOM-09 Localisation selon langue active Couverture complete
INV-106-18 TC-INV-03 Preuve RGPD complete backend/compliance NON TESTABLE dans le perimetre mobile

Detail des tests d'invariants dedies

TEST-ID: TC-INV-01 - Non persistance des secrets MFA et codes de recuperation
Reference spec: INV-106-08, CA-106-17

GIVEN
  - Un environnement de test permet d'injecter des valeurs sentinelles uniques dans le secret TOTP et les codes de recuperation.
  - U1 execute un flux d'activation MFA reussi puis un flux de regeneration codes reussi.
WHEN
  - Le flux est termine, puis l'application est relancee.
THEN
  - Les valeurs sentinelles ne sont retrouvees dans aucun stockage local durable de l'application.
  - Les valeurs sentinelles ne sont retrouvees dans aucun log applicatif accessible en environnement de test.
AND
  - Toute preuve de secret en clair dans ces surfaces constitue un echec bloquant.
TEST-ID: TC-INV-02 - Absence d'echec critique silencieux
Reference spec: INV-106-16, CA-106-07, CA-106-12

GIVEN
  - Chaque operation critique est testee avec une erreur serveur deterministe (ou erreur reseau) sur un jeu de cas couvre.
WHEN
  - U1 declenche chaque operation critique en situation d'echec.
THEN
  - Un message explicite et exploitable est affiche dans tous les cas.
AND
  - Aucun etat de succes ne s'affiche pour une operation ayant echoue.
TEST-ID: TC-INV-03 - Preuve RGPD art.17 complete (hors perimetre mobile)
Reference spec: INV-106-18, CA-106-19

GIVEN
  - Perimetre limite aux tests applicatifs mobile PD-106.
WHEN
  - L'auditeur tente de prouver l'effacement complet des donnees serveur et la politique de retention/purge.
THEN
  - La preuve exhaustive ne peut pas etre etablie depuis le mobile seul.
AND
  - La conformite doit etre validee via artefacts backend/compliance externes.

6. Tests de non-regression

Test ID Objet Observable Commentaire
TC-NR-01 Eviter etat MFA stale apres mutation Relecture serveur obligatoire apres activation/desactivation/regeneration Reutilise TC-NOM-02, TC-NOM-04, TC-NOM-05
TC-NR-02 Eviter activation MFA silencieusement echouee Message explicite + MFA non active en cas d'echec Reutilise TC-ERR-04, TC-ERR-05
TC-NR-03 Eviter bypass re-authentification operations critiques Operation refusee sans reauth valide immediate Reutilise TC-NOM-03, TC-ERR-06, TC-ERR-13
TC-NR-04 Eviter fuite locale de secrets MFA/recovery Aucun secret en stockage durable ni logs Reutilise TC-INV-01
TC-NR-05 Eviter exposition persistante des recovery codes Aucun code en clair hors affichage unique Reutilise TC-NOM-10, TC-ERR-07
TC-NR-06 Eviter faux succes suppression compte En echec suppression, compte toujours actif et message explicite Reutilise TC-ERR-14
TC-NR-07 Eviter deconnexion incomplete Session serveur invalidee + nettoyage local Reutilise TC-NOM-07
TC-NR-08 Eviter regression i18n des messages critiques Textes PD-106 changes selon langue active Reutilise TC-NOM-09

7. Tests negatifs et adversariaux

Test ID Entree invalide / abus Resultat attendu Observable
TC-NEG-01 Reutiliser une preuve de re-authentification deja consommee pour une autre operation critique Refus operation + nouvelle re-authentification demandee Meme comportement que TC-NOM-03
TC-NEG-02 Rafale de codes TOTP invalides Blocage rate-limit sans activation MFA ERR-106-RATE-LIMIT + MFA reste desactive
TC-NEG-03 Tentative d'exfiltration de secret via logs applicatifs Aucune valeur secretes en clair dans logs Meme observable que TC-INV-01
TC-NEG-04 Coupure reseau pendant une mutation critique Pas de succes implicite, message explicite ERR-106-NETWORK
TC-NEG-05 Tentative de suppression compte sans confirmation renforcee valide Suppression refusee ERR-106-DELETE-CONFIRMATION
TC-NEG-06 Tentative de desactivation MFA sans re-authentification valide Desactivation refusee, MFA reste active ERR-106-MFA-DISABLE-DENIED
TC-NEG-07 Consultation recovery codes apres fermeture/reouverture app Codes non affiches en clair sans nouvelle regeneration INV-106-09
TC-NEG-08 Session expiree pendant operation critique Basculer etat non authentifie, operation non executee ERR-106-SESSION-EXPIRED

8. Observabilite requise pour les tests

  • Controle deterministe des reponses backend (succes, erreurs metier, time-out, rate-limit) pour chaque endpoint PD-106.
  • Traces des appels reseau sortants (code HTTP, endpoint, payload redige) pour verifier absence de faux succes et ordre des mutations.
  • Inspection de l'etat UI (texte, etat MFA, messages d'erreur, navigation auth/non-auth).
  • Inspection du stockage local durable de l'application (surfaces de persistance applicative) apres chaque flux critique.
  • Export des logs applicatifs cote client pour verifier l'absence de secret TOTP/codes de recuperation en clair.
  • Verification serveur de l'invalidation de session (reutilisation token/session) et de l'inutilisabilite du compte apres suppression.
  • Possibilite de fournir des valeurs sentinelles de test pour detecter toute fuite de secret.
  • Horloge et jeux de donnees de test stables pour reproductibilite des cas TOTP/rate-limit.

Prerequis bloquants: - Un environnement de test permet d'orchestrer les reponses backend attendues. - Un compte de test destructible dedie a la suppression de compte est disponible.


9. Regles non testables

Regle Raison Impact
INV-106-18 / CA-106-19 (preuve RGPD art.17 complete) Hors perimetre mobile PD-106 ; necessite artefacts backend/compliance externes Bloquant pour verdict de conformite globale RGPD si artefacts absents
ERR-106-MFA-STATE-UNAVAILABLE ("actions necessitant un etat fiable") Liste exhaustive des actions bloquees non explicitee Mineur : test possible sur un sous-ensemble, couverture exhaustive non garantie

10. Verdict QA

  • Testable partiellement (avec reserves listees)
  • Couverture obtenue:
  • Invariants: 18/18 references, dont 1 NON TESTABLE par nature de perimetre (INV-106-18)
  • Criteres d'acceptation: 19/19 references, dont 1 NON TESTABLE dans ce perimetre (CA-106-19)
  • Cas d'erreur: 15/15 references
  • Condition de levee des reserves:
  • Fournir les artefacts backend/compliance pour RGPD art.17