Files
Geniusia_v2/docs/archive/old-summaries/GUIDE_TEST_MODE_ASSISTE.md
2026-03-05 00:20:25 +01:00

8.6 KiB
Raw Blame History

Guide de Test - Mode Assisté avec Suggestions

Date: 2025-11-19
Objectif: Valider le fonctionnement du Mode Assisté en conditions réelles
Durée estimée: 30-45 minutes


📋 Pré-requis

Vérifications avant de commencer

# 1. Vérifier que toutes les dépendances sont OK
python3 diagnostic_complet_systeme.py

# 2. Vérifier que les tâches critiques sont complétées
python3 verifier_tasks_mode_assiste.py

# 3. Activer l'environnement virtuel
source geniusia2/venv/bin/activate

Résultat attendu:

  • ✓ Système à 100%
  • ✓ 4/6 tâches complétées (dont les 3 critiques)

🎯 Scénarios de Test

Test 1: Détection de Workflow Simple

Objectif: Vérifier que le système détecte un workflow en cours

Étapes:

  1. Lancer l'application en mode Assist

    python3 geniusia2/main.py --mode assist
    
  2. Ouvrir la Calculatrice

    gnome-calculator &
    
  3. Effectuer une séquence d'actions connue:

    • Cliquer sur "7"
    • Cliquer sur "+"
    • Cliquer sur "3"
  4. Observer: Une suggestion devrait apparaître après 2-3 actions

Résultats attendus:

  • ✓ Le système détecte le workflow
  • ✓ Une suggestion apparaît dans les 2 secondes
  • ✓ La suggestion affiche le nom du workflow
  • ✓ La confiance est > 80%

Logs à vérifier:

tail -f geniusia2/data/logs/logs_2025-11-19.json | grep workflow_match

Test 2: Acceptation de Suggestion

Objectif: Vérifier que l'acceptation complète le workflow

Étapes:

  1. Reprendre le Test 1 jusqu'à l'apparition de la suggestion
  2. Appuyer sur Enter pour accepter
  3. Observer l'exécution automatique

Résultats attendus:

  • ✓ Le workflow se complète automatiquement
  • ✓ Les actions restantes sont exécutées
  • ✓ Le compteur de rejets ne change pas
  • ✓ Le workflow est marqué comme accepté

Vérification:

# Dans les logs, chercher:
# - "suggestion_accepted"
# - "workflow_acceptance_tracked"

Test 3: Rejet de Suggestion

Objectif: Vérifier que le rejet incrémente le compteur

Étapes:

  1. Reprendre le Test 1 jusqu'à l'apparition de la suggestion
  2. Appuyer sur Escape pour rejeter
  3. Continuer manuellement
  4. Répéter 3 fois pour tester l'ajustement de priorité

Résultats attendus:

  • ✓ La suggestion disparaît immédiatement
  • ✓ Le compteur de rejets s'incrémente
  • ✓ Après 3 rejets, la confiance est ajustée (× 0.9)
  • ✓ Les suggestions futures ont une confiance réduite

Vérification:

# Dans les logs, chercher:
# - "suggestion_rejected"
# - "workflow_rejection_tracked"
# - "workflow_priority_adjusted" (après 3 rejets)

Test 4: Timeout Automatique

Objectif: Vérifier que la suggestion disparaît après 10 secondes

Étapes:

  1. Reprendre le Test 1 jusqu'à l'apparition de la suggestion
  2. Ne rien faire pendant 10 secondes
  3. Observer la disparition automatique

Résultats attendus:

  • ✓ La suggestion disparaît après ~10 secondes
  • ✓ Aucun impact sur le compteur de rejets
  • ✓ Le callback on_suggestion_timeout est appelé

Vérification:

# Dans les logs, chercher:
# - "suggestion_timeout"

Test 5: Workflows Multiples

Objectif: Vérifier la sélection du meilleur match

Étapes:

  1. Créer 2 workflows similaires mais différents
  2. Commencer une séquence qui matche les deux
  3. Observer quelle suggestion apparaît

Résultats attendus:

  • ✓ Le workflow avec la meilleure confiance est suggéré
  • ✓ Un seul workflow est suggéré à la fois
  • ✓ La priorité ajustée est prise en compte

Test 6: Tolérance de Position

Objectif: Vérifier que la tolérance de 50px fonctionne

Étapes:

  1. Enregistrer un workflow avec des clics précis
  2. Rejouer en cliquant légèrement à côté (< 50px)
  3. Observer si le match fonctionne

Résultats attendus:

  • ✓ Le workflow est détecté malgré le décalage
  • ✓ La confiance reste élevée (> 80%)
  • ✓ Au-delà de 50px, le match échoue

Test 7: Fenêtre Différente

Objectif: Vérifier le filtrage par fenêtre

Étapes:

  1. Enregistrer un workflow dans la Calculatrice
  2. Ouvrir une autre application (ex: gedit)
  3. Effectuer des actions similaires
  4. Observer qu'aucune suggestion n'apparaît

Résultats attendus:

  • ✓ Pas de suggestion dans une fenêtre différente
  • ✓ Le filtrage par fenêtre fonctionne
  • ✓ Les workflows sont spécifiques à l'application

🔍 Vérifications Techniques

Vérifier les Workflows Disponibles

# Lister les workflows
ls -la geniusia2/data/user_profiles/workflows/

# Afficher le contenu d'un workflow
cat geniusia2/data/user_profiles/workflows/workflow_*.json | jq .

Vérifier les Logs en Temps Réel

# Tous les événements
tail -f geniusia2/data/logs/logs_2025-11-19.json

# Seulement les workflows
tail -f geniusia2/data/logs/logs_2025-11-19.json | grep workflow

# Seulement les suggestions
tail -f geniusia2/data/logs/logs_2025-11-19.json | grep suggestion

Vérifier l'État du SuggestionManager

# Dans une console Python avec l'app en cours
from geniusia2.core.orchestrator import Orchestrator

# Accéder au SuggestionManager
stats = orchestrator.suggestion_manager.get_stats()
print(stats)

# Vérifier les rejets
print(orchestrator.suggestion_manager.workflow_rejections)

# Vérifier les ajustements
print(orchestrator.suggestion_manager.workflow_priority_adjustments)

📊 Métriques à Collecter

Pendant les Tests

Métrique Valeur Attendue Valeur Réelle
Temps de détection < 2s
Confiance moyenne > 80%
Taux de faux positifs < 10%
Taux de faux négatifs < 5%
Temps d'exécution ~500ms/action

Après les Tests

# Analyser les logs
python3 analyser_logs_tests.py

🐛 Problèmes Courants

Problème 1: Aucune Suggestion n'Apparaît

Causes possibles:

  • Pas de workflows enregistrés
  • Confiance < 80%
  • Fenêtre différente
  • Vérification périodique désactivée

Solutions:

# Vérifier les workflows
ls geniusia2/data/user_profiles/workflows/

# Vérifier les logs
tail -f geniusia2/data/logs/logs_*.json | grep workflow_match

# Réduire le seuil temporairement (pour debug)
# Dans config: "min_confidence": 0.60

Problème 2: Suggestions Trop Fréquentes

Causes possibles:

  • Seuil de confiance trop bas
  • Tolérance de position trop large
  • Workflows trop génériques

Solutions:

  • Augmenter min_confidence à 0.85
  • Réduire position_tolerance à 30px
  • Affiner les workflows enregistrés

Problème 3: Exécution Échoue

Causes possibles:

  • Élément UI introuvable
  • Timing trop rapide
  • Fenêtre changée

Solutions:

  • Vérifier les logs de TaskReplayEngine
  • Augmenter les délais entre actions
  • Vérifier que la fenêtre est au premier plan

Checklist de Validation

Fonctionnalités Core

  • Détection de workflow fonctionne
  • Suggestions apparaissent dans les 2s
  • Confiance > 80% pour les bons matchs
  • Acceptation complète le workflow
  • Rejet incrémente le compteur
  • Timeout après 10 secondes
  • Ajustement après 3 rejets

Performance

  • Latence de détection < 2s
  • Pas de lag pendant l'utilisation
  • Mémoire stable
  • CPU raisonnable

Robustesse

  • Tolérance de position fonctionne
  • Filtrage par fenêtre fonctionne
  • Gestion des erreurs correcte
  • Pas de crash

📝 Rapport de Test

Template à Remplir

# Rapport de Test - Mode Assisté

**Date**: 2025-11-19
**Testeur**: [Nom]
**Durée**: [XX minutes]

## Résultats Globaux

- Tests réussis: X/7
- Bugs trouvés: X
- Améliorations suggérées: X

## Détails par Test

### Test 1: Détection de Workflow
- Statut: ✓ / ✗
- Notes: ...

### Test 2: Acceptation
- Statut: ✓ / ✗
- Notes: ...

[etc.]

## Bugs Identifiés

1. [Description du bug]
   - Sévérité: Critique / Importante / Mineure
   - Reproduction: [Étapes]
   - Logs: [Extraits]

## Recommandations

1. [Recommandation 1]
2. [Recommandation 2]

## Conclusion

[Résumé global]

🚀 Prochaines Étapes

Après les tests:

  1. Si tout fonctionne

    • Passer à Task 8 (ajustement des seuils)
    • Ou améliorer l'UI (Tasks 4 & 5)
  2. Si des bugs sont trouvés

    • Documenter dans le rapport
    • Prioriser les corrections
    • Re-tester après correction
  3. Si des améliorations sont identifiées ⚠️

    • Ajouter dans le backlog
    • Évaluer la priorité
    • Planifier l'implémentation

Bon test ! 🧪