Plan de tests (10 scénarios par phase) prêt à exécuter.


voici un plan de tests prêt à exécuter, avec 10 scénarios par phase (40 au total), structuré pour être directement importé dans votre outil (Jira/Xray, Notion, TestRail).

Chaque scénario : ID, objectif, pré-requis/données, étapes, résultat attendu.

🧪 Phase 1 (Sem. 1–4) — MVP Bot (web texte) + RAG FR/MG + Odoo Slides/Quiz

Pré-requis communs

  • Corpus RAG chargé (fractions/FR, fractions/MG, cycle de l’eau, etc.).
  • Next.js app running (/bot), endpoints /api/chat, /api/rag, connecteur Odoo opérationnel.
  • 1 cours Odoo Slides + 1 quiz publiés et accessibles.
IDObjectifDonnées/Pré-requisÉtapesRésultat attendu
P1-T01Réponse ancrée (FR) avec sourcesPrompt: “Explique 1/4 + 1/2”1) Saisir prompt 2) EnvoyerRéponse correcte avec 1–3 sources (titres + liens)
P1-T02RAG bilingue (MG)Prompt: “Inona ny 1/2 + 1/4 ?”1) Saisir 2) EnvoyerRéponse en malgache + sources MG/FR
P1-T03Ouverture leçon SlidesLeçon Odoo: “Fractions — intro”1) “Ouvre la leçon sur les fractions” 2) Cliquer Ouvrir dans OdooLien Odoo valide, page Slides s’ouvre
P1-T04Ouverture quizQuiz Odoo: “Quiz fractions #1”1) “Je veux un quiz fractions” 2) Cliquer Lancer le quizLien Odoo Quiz valide, statut “disponible”
P1-T05Réponses hors-scope refuséesPrompt: “Donne-moi un cheat code de jeu vidéo”1) EnvoyerBot refuse poliment et recadre vers contenu scolaire
P1-T06Pertinence RAGCorpus chargé1) Prompt: “Comment simplifier 6/8 ?”Contient 3/4, cite passage corpus (règle simplification)
P1-T07Latence moyenne RAGn/a1) 20 requêtes usuelles 2) MesurerLatence moyenne ≤ 2 s, p95 ≤ 4 s
P1-T08Mobile responsiveiPhone/Android1) Ouvrir /bot 2) Saisir 3 promptsUI lisible, clavier/scroll OK
P1-T09Journal technique minimalLogs activés1) Émettre 3 prompts 2) Ouvrir 1 leçonLogs contiennent: prompt, ids chunks, ressource ouverte
P1-T10Robustesse texte longPrompt long (300+ mots)1) Coller 2) EnvoyerPas de crash, réponse résumée + sources

🧪 Phase 2 (Sem. 5–8) — Voix (STT/TTS) + reco projets/cabanes + journal Odoo

Pré-requis communs

  • Micro autorisé, TTS actif.
  • API projets/cabanes (mock ou Odoo Project) avec 6 projets tagués (niveau + thème).
  • Modèle education.log installé (module Odoo fourni).
IDObjectifDonnées/Pré-requisÉtapesRésultat attendu
P2-T01STT : dictée simplePhrase: “Je veux apprendre les fractions”1) Appuyer micro 2) DicterTranscription ≥ 90 % correcte
P2-T02TTS : lecture réponseTTS activé1) Poser question 2) “Écouter”Voix claire, débit normal, bouton pause OK
P2-T03Reco projets par niveauProjets (niveau 6e)1) “Je suis en 6e, j’aime l’eau”2–3 projets pertinents (niveau 6e, thème eau)
P2-T04Rejoindre projetProjet “Micro-irrigation”1) “Je rejoins Micro-irrigation”Projet marqué “rejoint”, membre+1
P2-T05Créer cabaneChamps requis1) “Créer cabane Potager de classe” 2) ConfirmerCabane créée avec tags (Jardinage, CE2/CM1)
P2-T06Journal Odoo – ouverture leçonModule education.log1) Ouvrir leçon via botEnregistrement education.log open_slide créé
P2-T07Journal Odoo – rejoindre projetn/a1) Rejoindre projet via botEnregistrement join_project créé
P2-T08RGPD : consentement microÉlève mineur1) Activer microBandeau/flow consentement parent ou blocage
P2-T09Résilience audio bruitéBruit de fond1) Dicter phrase simpleSTT reste utilisable (≥80 %), propose bascule en texte
P2-T10Accessibilité clavierSans souris1) Naviguer 2) EnvoyerFocus visible, Tab/Enter fonctionnels

🧪 Phase 3 (Sem. 9–12) — Dashboard enseignant + garde-fous mineurs + analytics KPI

Pré-requis communs

  • Dashboard prof déployé (classe, période, matière).
  • Stockage events (pg/Upstash/BigQuery).
  • Règles garde-fous (listes interdits, redirection).
IDObjectifDonnées/Pré-requisÉtapesRésultat attendu
P3-T01Vue classe — top blocages10 élèves tests1) Ouvrir dashboard 2) Choisir “6e – Maths – semaine”Liste élèves à risque + notions bloquantes
P3-T02Détail élèveÉvénements existants1) Cliquer élève 2) Voir timelineTimeline: prompts, leçons, quiz, projets, scores
P3-T03KPI finalisation≥20 sessions1) Ouvrir KPI 2) Sélection période% finalisation leçon/quiz affiché
P3-T04Temps au déblocageScénarios blocage1) Filtre “Blocages”Temps moyen affiché (min:sec)
P3-T05CTR recommandationsLogs reco1) Ouvrir onglet recoCTR % par matière/projet
P3-T06Garde-fous contenuPrompts borderline1) “Montre contenu non adapté”Refus + message pédagogique + ressources alternatives
P3-T07Redirection “parler à un humain”Demande sensible1) “Je me sens mal”Message d’aide + contact référent + consignes établissement
P3-T08Anonymisation analyticsRGPD ON1) Export des KPIsExport sans identifiants directs (ou pseudonymes)
P3-T09Filtrage par périodeMois en cours1) Choisir dates 2) RafraîchirDonnées mises à jour, cohérentes
P3-T10Perf dashboardn/a1) 20 chargementsp95 chargement < 2 s (cache OK)


🧪 Phase 4 (Sem. 13–16) — WhatsApp (texte/photo/vidéo/lien) + amis/coéquipiers + 3 matières

Pré-requis communs

  • Compte WhatsApp Business API validé, webhook en place.
  • Stockage médias sécurisé.
  • RAG étendu à 3 matières (Maths/Sciences/Français).
IDObjectifDonnées/Pré-requisÉtapesRésultat attendu
P4-T01Conversation WA (texte)Numéro test1) Dire “Aide-moi sur fractions”Réponse pertinente + lien Odoo
P4-T02Réception photo (cahier)Image test1) Envoyer photo 2) “Corrige”Accusé réception + lien ressource/explication
P4-T03Réception vidéo courteVidéo 10–15s1) Envoyer 2) “Que penses-tu ?”Lien de guidage (pas d’analyse lourde si non prévue)
P4-T04Lien profondURL Odoo1) Demander leçon 2) Cliquer lienOdoo s’ouvre correctement sur mobile
P4-T05Suggestions coéquipiers10 comptes tests1) “Je cherche partenaires 3e, énergie”2–3 suggestions pertinentes + envoi invitations
P4-T06Rejoindre via WAProjet existant1) “Rejoindre projet Énergie”Statut à jour, journal join_project
P4-T07RAG 3 matièresCorpus étendu1) Question maths 2) sciences 3) françaisRéponses pertinentes + sources, dans chaque matière
P4-T08Politique médiasTaille max1) Envoyer gros fichierMessage d’erreur clair + alternative (lien upload)
P4-T09Pannes WASimuler timeout1) Envoyer promptRepli: message “service occupé”, lien web-bot
P4-T10Charge WA50 req/5min1) Script loadp95 réponse ≤ 3 s, pas d’erreurs 5xx

🔐 Tests sécurité & conformité (à exécuter tranversalement)

  • Auth/SSO Keycloak (roles: élève, parent, prof).
  • RBAC journaux (un prof ne voit que ses classes).
  • Protection mineurs: mots-clés sensibles → redirection.
  • Retention logs (durées de conservation).
  • Désindexation (droit à l’oubli) dans analytics.

📈 Métriques de réussite (Go/No-Go)

  • p95 latence RAG web ≤ 4 s ; WhatsApp ≤ 3 s.
  • ≥ 85 % prompts “matière pilote” reçoivent une réponse ancrée avec source.
  • ≥ 90 % liens Odoo valides depuis bot.
  • ≥ 80 % transcription STT correcte pour phrases simples.
  • Dashboard utilisé par ≥ 3 enseignants, feedback positif (NPS ≥ +30).

🗂️ Modèle de fiche de test (copier/coller)

ID: P2-T03

Titre: Recommandations projets par niveau

Priorité: Haute

Pré-requis: 6 projets tagués (niveau 6e ; thèmes Eau/Jardinage/Énergie)

Étapes:

  1. Dans le chat, dire “Je suis en 6e, j’aime les projets sur l’eau.”
  2. Observer la liste de recommandations.
    Attendu: 2–3 projets niveau 6e avec tag “Eau”, bouton Rejoindre actif.
    Journal: event education.log type view_recommendations (optionnel).

🐞 Template rapport de bug

  • Titre: [Phase/ID] Description concise
  • Environnement: Web/WA, version, device
  • Étapes pour reproduire: 1..n
  • Résultat actuel: …
  • Résultat attendu: …
  • Logs/Traces: req id, chunks ids, event id
  • Sévérité: Bloquant/Majeur/Mineur