365 lines
8.1 KiB
Markdown
365 lines
8.1 KiB
Markdown
# 🧪 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 ! 🧪**
|