# 🧪 Guide de Test - Mode Assisté

## 🎯 Objectif

Tester le Mode Assisté en conditions réelles pour valider son fonctionnement.

## ✅ Prérequis

1. Tous les tests unitaires passent :
   ```bash
   geniusia2/venv/bin/python test_mode_assiste_complet.py
   ```
   Résultat attendu : 4/4 tests réussis ✅

2. L'application se lance :
   ```bash
   cd geniusia2
   ./run.sh
   ```

## 📋 Scénarios de Test

### Scénario 1 : Apprentissage Simple

**Objectif** : Créer une tâche simple et vérifier qu'elle est apprise.

**Étapes** :

1. **Lancer l'application**
   ```bash
   cd geniusia2
   ./run.sh
   ```

2. **Démarrer la capture**
   - Cliquer sur "Start"
   - Vérifier que le statut passe à "Running"

3. **Effectuer une action répétitive (3x)**
   - Exemple : Cliquer 3 fois sur le même bouton
   - Attendre 1-2 secondes entre chaque clic
   - Observer les logs

4. **Vérifier la création de tâche**
   - Regarder les logs : "Pattern détecté"
   - Vérifier : "Tâche créée"
   - Noter le nom de la tâche

5. **Arrêter la capture**
   - Cliquer sur "Stop"

**Résultat attendu** :
- ✅ Pattern détecté après 3 actions
- ✅ Tâche créée avec un nom descriptif
- ✅ Fichiers créés dans `data/user_profiles/`

### Scénario 2 : Suggestion Simple

**Objectif** : Vérifier qu'une suggestion apparaît pour une action similaire.

**Étapes** :

1. **Avoir une tâche apprise** (Scénario 1)

2. **Redémarrer la capture**
   - Cliquer sur "Start"

3. **Effectuer une action similaire**
   - Faire la même action qu'avant (1 fois)
   - Attendre quelques secondes

4. **Observer la suggestion**
   - Un overlay devrait apparaître
   - Vérifier le contenu :
     - Nom de la tâche
     - Confiance (%)
     - Instructions (Entrée/Échap/Alt+C)

**Résultat attendu** :
- ✅ Overlay apparaît après l'action
- ✅ Confiance >= 75%
- ✅ Nom de tâche correct
- ✅ Instructions visibles

### Scénario 3 : Acceptation de Suggestion

**Objectif** : Tester l'exécution automatique d'une suggestion.

**Étapes** :

1. **Avoir une suggestion affichée** (Scénario 2)

2. **Accepter la suggestion**
   - Appuyer sur **Entrée**

3. **Observer l'exécution**
   - Regarder les logs : "Suggestion acceptée"
   - Observer l'exécution automatique
   - Vérifier le résultat

4. **Vérifier la notification**
   - Message de succès/échec
   - Nombre d'actions exécutées

**Résultat attendu** :
- ✅ Suggestion acceptée
- ✅ Actions exécutées automatiquement
- ✅ Notification de succès
- ✅ Overlay disparaît

### Scénario 4 : Refus de Suggestion

**Objectif** : Tester le refus d'une suggestion.

**Étapes** :

1. **Avoir une suggestion affichée** (Scénario 2)

2. **Refuser la suggestion**
   - Appuyer sur **Échap**

3. **Observer le comportement**
   - Regarder les logs : "Suggestion rejetée"
   - Vérifier que l'overlay disparaît
   - Vérifier qu'aucune action n'est exécutée

**Résultat attendu** :
- ✅ Suggestion rejetée
- ✅ Aucune action exécutée
- ✅ Overlay disparaît
- ✅ Notification de refus

### Scénario 5 : Timeout de Suggestion

**Objectif** : Vérifier que la suggestion expire après 10 secondes.

**Étapes** :

1. **Avoir une suggestion affichée** (Scénario 2)

2. **Ne rien faire**
   - Attendre 10 secondes
   - Ne pas appuyer sur de touches

3. **Observer le timeout**
   - Regarder les logs : "Suggestion expirée"
   - Vérifier que l'overlay disparaît

**Résultat attendu** :
- ✅ Suggestion expire après 10s
- ✅ Overlay disparaît
- ✅ Aucune action exécutée
- ✅ Log de timeout

### Scénario 6 : Actions Multiples

**Objectif** : Tester une tâche avec plusieurs actions.

**Étapes** :

1. **Créer une tâche complexe**
   - Effectuer une séquence : clic → type → clic
   - Répéter 3 fois la même séquence

2. **Vérifier la création**
   - Tâche créée avec plusieurs actions
   - Signatures pour chaque action

3. **Tester la suggestion**
   - Refaire la première action
   - Accepter la suggestion

4. **Observer l'exécution**
   - Toutes les actions sont rejouées
   - Dans le bon ordre
   - Avec les bons délais

**Résultat attendu** :
- ✅ Tâche multi-actions créée
- ✅ Suggestion apparaît
- ✅ Toutes les actions rejouées
- ✅ Ordre correct

### Scénario 7 : Variations d'Interface

**Objectif** : Vérifier l'adaptation aux changements d'interface.

**Étapes** :

1. **Créer une tâche** sur une fenêtre

2. **Modifier légèrement l'interface**
   - Déplacer la fenêtre
   - Redimensionner
   - Changer de thème (si possible)

3. **Tester la suggestion**
   - Refaire l'action
   - Accepter la suggestion

4. **Observer l'adaptation**
   - Recherche visuelle fonctionne
   - Élément trouvé malgré les changements
   - Action exécutée correctement

**Résultat attendu** :
- ✅ Élément trouvé malgré les changements
- ✅ Confiance >= 70%
- ✅ Action exécutée correctement

## 📊 Grille d'Évaluation

### Fonctionnalités de Base

| Fonctionnalité | Testé | Résultat | Notes |
|----------------|-------|----------|-------|
| Apprentissage simple | ☐ | ☐ Pass ☐ Fail | |
| Suggestion apparaît | ☐ | ☐ Pass ☐ Fail | |
| Acceptation (Entrée) | ☐ | ☐ Pass ☐ Fail | |
| Refus (Échap) | ☐ | ☐ Pass ☐ Fail | |
| Timeout (10s) | ☐ | ☐ Pass ☐ Fail | |

### Fonctionnalités Avancées

| Fonctionnalité | Testé | Résultat | Notes |
|----------------|-------|----------|-------|
| Actions multiples | ☐ | ☐ Pass ☐ Fail | |
| Variations d'interface | ☐ | ☐ Pass ☐ Fail | |
| Confiance >= 75% | ☐ | ☐ Pass ☐ Fail | |
| Exécution correcte | ☐ | ☐ Pass ☐ Fail | |

### Interface Utilisateur

| Aspect | Testé | Résultat | Notes |
|--------|-------|----------|-------|
| Overlay visible | ☐ | ☐ Pass ☐ Fail | |
| Informations claires | ☐ | ☐ Pass ☐ Fail | |
| Réactivité | ☐ | ☐ Pass ☐ Fail | |
| Notifications | ☐ | ☐ Pass ☐ Fail | |

## 🐛 Problèmes Connus

### Problème 1 : Pas de Suggestion

**Symptôme** : Aucune suggestion n'apparaît après une action similaire.

**Causes possibles** :
- Confiance < 75%
- Pas de tâche similaire dans l'index
- Contexte trop différent

**Solutions** :
1. Vérifier les logs : "Similarité: X%"
2. Baisser le seuil dans `config.yaml` : `similarity_threshold: 0.65`
3. Recréer la tâche avec plus d'exemples

### Problème 2 : Exécution Échoue

**Symptôme** : La suggestion est acceptée mais l'exécution échoue.

**Causes possibles** :
- Élément non trouvé
- Interface a trop changé
- Permissions insuffisantes

**Solutions** :
1. Vérifier les logs : "Élément non trouvé"
2. Refaire l'apprentissage
3. Vérifier les permissions (X11, Wayland)

### Problème 3 : Overlay ne Disparaît Pas

**Symptôme** : L'overlay reste affiché après acceptation/refus.

**Causes possibles** :
- Bug dans la GUI
- Callback non appelé

**Solutions** :
1. Appuyer sur Échap
2. Redémarrer l'application
3. Vérifier les logs

## 📝 Rapport de Test

### Informations Système

- **OS** : Linux / Windows / macOS
- **Version Python** : 3.12
- **Date** : ___________
- **Testeur** : ___________

### Résultats Globaux

- **Scénarios testés** : ___ / 7
- **Scénarios réussis** : ___ / 7
- **Taux de réussite** : ___%

### Observations

**Points positifs** :
- 
- 
- 

**Points à améliorer** :
- 
- 
- 

**Bugs trouvés** :
- 
- 
- 

### Recommandations

**Priorité Haute** :
- 
- 

**Priorité Moyenne** :
- 
- 

**Priorité Basse** :
- 
- 

## 🎯 Critères de Validation

Le Mode Assisté est considéré comme **validé** si :

✅ Au moins 5/7 scénarios passent  
✅ Aucun bug bloquant  
✅ Confiance >= 75% pour les suggestions  
✅ Exécution réussie >= 80% du temps  
✅ Interface utilisateur claire et réactive  

## 🚀 Après les Tests

### Si Validation OK

1. Documenter les résultats
2. Passer au Mode Autopilot
3. Implémenter les transitions

### Si Validation KO

1. Identifier les problèmes
2. Prioriser les corrections
3. Corriger et re-tester

## 📞 Support

En cas de problème :

1. Vérifier les logs : `geniusia2/data/logs/`
2. Lancer les tests unitaires : `test_mode_assiste_complet.py`
3. Consulter la documentation : `MODE_ASSISTE_FINAL.md`

---

**Bon test ! 🧪**
