v1
This commit is contained in:
324
docs/TESTING.md
Normal file
324
docs/TESTING.md
Normal file
@@ -0,0 +1,324 @@
|
||||
# Checklist de Tests - Extension ASUS Keyboard RGB
|
||||
|
||||
Ce document fournit une checklist complète pour tester l'extension avant publication ou après modification.
|
||||
|
||||
## Prérequis pour les tests
|
||||
|
||||
- [ ] GNOME Shell 48 installé
|
||||
- [ ] Matériel ASUS avec clavier RGB supporté
|
||||
- [ ] Règles udev configurées (groupe `kbdled`)
|
||||
- [ ] Utilisateur membre du groupe `kbdled` (après déconnexion/reconnexion)
|
||||
|
||||
## 1. Installation
|
||||
|
||||
### 1.1 Installation initiale
|
||||
|
||||
- [ ] Le script `./tools/install-local.sh` s'exécute sans erreur
|
||||
- [ ] Les fichiers sont copiés dans `~/.local/share/gnome-shell/extensions/asus-kbd-rgb@gilles/`
|
||||
- [ ] Le schéma GSettings est compilé (`gschemas.compiled` existe)
|
||||
- [ ] L'extension apparaît dans `gnome-extensions list`
|
||||
|
||||
### 1.2 Activation
|
||||
|
||||
- [ ] La commande `gnome-extensions enable asus-kbd-rgb@gilles` fonctionne
|
||||
- [ ] Aucune erreur dans `journalctl -f -o cat /usr/bin/gnome-shell`
|
||||
- [ ] L'icône de clavier apparaît dans la barre supérieure (après rechargement)
|
||||
|
||||
## 2. Interface Utilisateur
|
||||
|
||||
### 2.1 Icône et menu
|
||||
|
||||
- [ ] L'icône `keyboard-brightness-symbolic` est visible dans le panneau
|
||||
- [ ] Clic sur l'icône ouvre le popover
|
||||
- [ ] Le popover affiche le titre "Rétroéclairage Clavier ASUS"
|
||||
- [ ] Le menu est bien formaté et lisible
|
||||
|
||||
### 2.2 Section Intensité
|
||||
|
||||
- [ ] Les 4 boutons d'intensité sont visibles (OFF, 1, 2, 3)
|
||||
- [ ] Clic sur "OFF" éteint le rétroéclairage
|
||||
- [ ] Clic sur "1" met l'intensité à faible
|
||||
- [ ] Clic sur "2" met l'intensité à moyenne
|
||||
- [ ] Clic sur "3" met l'intensité à forte (max)
|
||||
- [ ] Le bouton actif est surligné visuellement
|
||||
- [ ] Un seul bouton est actif à la fois
|
||||
|
||||
### 2.3 Section Sliders RGB
|
||||
|
||||
- [ ] Le slider Rouge fonctionne et affiche la valeur (0-255)
|
||||
- [ ] Le slider Vert fonctionne et affiche la valeur (0-255)
|
||||
- [ ] Le slider Bleu fonctionne et affiche la valeur (0-255)
|
||||
- [ ] Le slider Master fonctionne et affiche la valeur (0-100)
|
||||
- [ ] Déplacer un slider met à jour la valeur numérique en temps réel
|
||||
- [ ] Les sliders sont fluides (pas de lag visible)
|
||||
|
||||
### 2.4 Ligne d'information
|
||||
|
||||
- [ ] La ligne d'info affiche `RGB=(r,g,b)` correctement
|
||||
- [ ] Le code HEX `#RRGGBB` est correct
|
||||
- [ ] L'intensité `Intensité=n/3` est correcte
|
||||
- [ ] Les valeurs se mettent à jour après changement de slider
|
||||
- [ ] Les valeurs se mettent à jour après clic sur preset
|
||||
- [ ] Les valeurs se mettent à jour après changement d'intensité
|
||||
|
||||
### 2.5 Section Presets
|
||||
|
||||
- [ ] 6 boutons de preset sont visibles
|
||||
- [ ] Les couleurs de fond correspondent aux presets :
|
||||
- Preset 1 : Orange (#FFA500)
|
||||
- Preset 2 : Rouge (#FF0000)
|
||||
- Preset 3 : Vert (#00FF00)
|
||||
- Preset 4 : Bleu (#0000FF)
|
||||
- Preset 5 : Blanc (#FFFFFF)
|
||||
- Preset 6 : Cyan (#00FFFF)
|
||||
- [ ] Clic sur un preset applique la couleur immédiatement
|
||||
- [ ] Les sliders RGB se mettent à jour après clic sur preset
|
||||
- [ ] La ligne d'info se met à jour après clic sur preset
|
||||
|
||||
## 3. Fonctionnalités Backend
|
||||
|
||||
### 3.1 Écriture brightness
|
||||
|
||||
- [ ] Passage de OFF (0) à 1 allume le clavier
|
||||
- [ ] Passage de 1 à 2 augmente la luminosité
|
||||
- [ ] Passage de 2 à 3 augmente encore la luminosité
|
||||
- [ ] Passage de 3 à OFF éteint le clavier
|
||||
- [ ] Les valeurs sont écrites correctement dans `/sys/class/leds/asus::kbd_backlight/brightness`
|
||||
|
||||
### 3.2 Écriture RGB
|
||||
|
||||
- [ ] Changement de Rouge modifie la couleur du clavier
|
||||
- [ ] Changement de Vert modifie la couleur du clavier
|
||||
- [ ] Changement de Bleu modifie la couleur du clavier
|
||||
- [ ] Les valeurs RGB sont clampées (0-255)
|
||||
- [ ] Format dans `kbd_rgb_mode` est correct : `1 0 R G B 0\n`
|
||||
|
||||
### 3.3 Master Gain
|
||||
|
||||
- [ ] Master à 100% : couleurs normales
|
||||
- [ ] Master à 50% : couleurs à mi-intensité
|
||||
- [ ] Master à 0% : noir (aucune couleur visible)
|
||||
- [ ] Master à 75% : couleurs proportionnellement réduites
|
||||
- [ ] Le gain est appliqué à toutes les composantes RGB
|
||||
|
||||
### 3.4 Debouncing
|
||||
|
||||
- [ ] Déplacer rapidement un slider ne spam pas sysfs (vérifier logs)
|
||||
- [ ] Il y a un délai de ~75ms entre les écritures
|
||||
- [ ] La dernière valeur est bien appliquée après l'arrêt du slider
|
||||
- [ ] Aucun message d'erreur de permission dû au spam
|
||||
|
||||
### 3.5 Comportement brightness=0
|
||||
|
||||
- [ ] Si brightness=0, changement RGB ne modifie pas le clavier (reste éteint)
|
||||
- [ ] Les valeurs RGB sont mémorisées dans GSettings
|
||||
- [ ] Passage de brightness 0→1 restaure la dernière couleur RGB
|
||||
- [ ] Aucun message d'erreur lors du changement RGB avec brightness=0
|
||||
|
||||
## 4. Persistance (GSettings)
|
||||
|
||||
### 4.1 Sauvegarde
|
||||
|
||||
- [ ] Changer Rouge, fermer le menu, rouvrir → valeur conservée
|
||||
- [ ] Changer Vert, fermer le menu, rouvrir → valeur conservée
|
||||
- [ ] Changer Bleu, fermer le menu, rouvrir → valeur conservée
|
||||
- [ ] Changer Master, fermer le menu, rouvrir → valeur conservée
|
||||
- [ ] Changer Brightness, fermer le menu, rouvrir → valeur conservée
|
||||
- [ ] Appliquer un preset, fermer le menu, rouvrir → preset appliqué
|
||||
|
||||
### 4.2 Restauration au démarrage
|
||||
|
||||
- [ ] Configurer RGB (ex: rouge pur), brightness à 2
|
||||
- [ ] Fermer la session, se reconnecter
|
||||
- [ ] L'extension restaure automatiquement RGB rouge et brightness 2
|
||||
- [ ] Le clavier affiche la bonne couleur dès le démarrage
|
||||
- [ ] Les sliders affichent les bonnes valeurs
|
||||
|
||||
### 4.3 Commandes GSettings manuelles
|
||||
|
||||
```bash
|
||||
# Tester la lecture
|
||||
gsettings get org.gnome.shell.extensions.asuskbdrgb red
|
||||
gsettings get org.gnome.shell.extensions.asuskbdrgb green
|
||||
gsettings get org.gnome.shell.extensions.asuskbdrgb blue
|
||||
gsettings get org.gnome.shell.extensions.asuskbdrgb master-gain
|
||||
gsettings get org.gnome.shell.extensions.asuskbdrgb brightness-level
|
||||
```
|
||||
|
||||
- [ ] Les commandes retournent les bonnes valeurs
|
||||
- [ ] Modifier via `gsettings set`, rouvrir le menu → nouvelle valeur affichée
|
||||
|
||||
## 5. Gestion des Erreurs
|
||||
|
||||
### 5.1 Matériel non supporté
|
||||
|
||||
Tester sur une machine sans clavier ASUS :
|
||||
|
||||
- [ ] L'extension charge sans crash
|
||||
- [ ] Le popover affiche "❌ Matériel non supporté"
|
||||
- [ ] Message clair : "Aucun clavier ASUS RGB détecté"
|
||||
- [ ] Pas de sliders ni boutons (seulement le message d'erreur)
|
||||
|
||||
### 5.2 Permissions insuffisantes
|
||||
|
||||
Tester sans règles udev (ou retirer l'utilisateur du groupe `kbdled`) :
|
||||
|
||||
- [ ] L'extension charge sans crash
|
||||
- [ ] Le popover affiche "⚠️ Permissions insuffisantes"
|
||||
- [ ] Message clair avec référence à `docs/INSTALL.md`
|
||||
- [ ] Pas de tentative d'écriture sysfs (pas d'erreur dans logs)
|
||||
|
||||
### 5.3 Valeurs invalides
|
||||
|
||||
- [ ] Entrer une valeur RGB > 255 → clampée à 255
|
||||
- [ ] Entrer une valeur RGB < 0 → clampée à 0
|
||||
- [ ] Entrer une valeur Master > 100 → clampée à 100
|
||||
- [ ] Entrer une valeur Master < 0 → clampée à 0
|
||||
- [ ] Brightness > 3 → clampée à 3
|
||||
|
||||
## 6. Logs et Debug
|
||||
|
||||
### 6.1 Logs au démarrage
|
||||
|
||||
```bash
|
||||
journalctl -f -o cat /usr/bin/gnome-shell | grep -i asus
|
||||
```
|
||||
|
||||
- [ ] Message "Activation de l'extension ASUS Keyboard RGB"
|
||||
- [ ] Message "Extension ASUS Keyboard RGB activée avec succès"
|
||||
- [ ] Aucune erreur JavaScript
|
||||
|
||||
### 6.2 Logs pendant l'utilisation
|
||||
|
||||
- [ ] Changement RGB affiche "RGB mis à (r, g, b) [master: X%]"
|
||||
- [ ] Changement brightness affiche "Brightness mise à N (valeur)"
|
||||
- [ ] Aucune erreur "Permission denied"
|
||||
- [ ] Aucun spam (grâce au debouncing)
|
||||
|
||||
### 6.3 Logs à la désactivation
|
||||
|
||||
```bash
|
||||
gnome-extensions disable asus-kbd-rgb@gilles
|
||||
```
|
||||
|
||||
- [ ] Message "Désactivation de l'extension ASUS Keyboard RGB"
|
||||
- [ ] Message "Extension ASUS Keyboard RGB désactivée"
|
||||
- [ ] Aucune erreur de nettoyage
|
||||
|
||||
## 7. Robustesse
|
||||
|
||||
### 7.1 Rechargement GNOME Shell
|
||||
|
||||
- [ ] Alt+F2, `r` → l'extension se recharge correctement (X11)
|
||||
- [ ] Logout/login → l'extension se recharge correctement (Wayland)
|
||||
- [ ] État restauré après rechargement
|
||||
|
||||
### 7.2 Désactivation/Réactivation
|
||||
|
||||
```bash
|
||||
gnome-extensions disable asus-kbd-rgb@gilles
|
||||
gnome-extensions enable asus-kbd-rgb@gilles
|
||||
```
|
||||
|
||||
- [ ] Pas d'erreur lors de la désactivation
|
||||
- [ ] Pas d'erreur lors de la réactivation
|
||||
- [ ] L'icône réapparaît
|
||||
- [ ] Fonctionnalités intactes
|
||||
|
||||
### 7.3 Utilisation intensive
|
||||
|
||||
- [ ] Déplacer rapidement tous les sliders pendant 30 secondes
|
||||
- [ ] Cliquer rapidement sur tous les boutons
|
||||
- [ ] Alterner rapidement entre presets
|
||||
- [ ] Aucun crash
|
||||
- [ ] Aucune fuite mémoire visible
|
||||
- [ ] Performances stables
|
||||
|
||||
## 8. Compatibilité
|
||||
|
||||
### 8.1 GNOME Shell 48
|
||||
|
||||
- [ ] Extension fonctionne sur GNOME 48.0
|
||||
- [ ] Extension fonctionne sur GNOME 48.x (dernière version)
|
||||
|
||||
### 8.2 Debian 13 (Trixie)
|
||||
|
||||
- [ ] Installation réussie
|
||||
- [ ] Toutes les fonctionnalités opérationnelles
|
||||
- [ ] Aucun conflit de packages
|
||||
|
||||
## 9. Documentation
|
||||
|
||||
- [ ] README.md est à jour
|
||||
- [ ] INSTALL.md couvre tous les cas
|
||||
- [ ] TROUBLESHOOTING.md aide à résoudre les problèmes courants
|
||||
- [ ] CLAUDE.md guide correctement les futures instances
|
||||
- [ ] CHANGELOG.md est à jour
|
||||
- [ ] UI_SCHEMA.md correspond à l'implémentation
|
||||
|
||||
## 10. Code Quality
|
||||
|
||||
### 10.1 Linting JavaScript
|
||||
|
||||
```bash
|
||||
# Si eslint est disponible
|
||||
eslint extension/*.js
|
||||
```
|
||||
|
||||
- [ ] Aucune erreur de syntaxe
|
||||
- [ ] Pas d'imports manquants
|
||||
- [ ] Variables non utilisées supprimées
|
||||
|
||||
### 10.2 Revue de code
|
||||
|
||||
- [ ] Commentaires en français présents et clairs
|
||||
- [ ] Fonctions documentées
|
||||
- [ ] Code modulaire et lisible
|
||||
- [ ] Pas de code mort (dead code)
|
||||
- [ ] Gestion d'erreurs présente
|
||||
|
||||
## Résumé des Tests
|
||||
|
||||
**Total des tests** : ~120 items
|
||||
|
||||
### Statut Critique (Bloquant si échec)
|
||||
- Installation et activation
|
||||
- Détection matériel et permissions
|
||||
- Fonctionnalités core (brightness, RGB, presets)
|
||||
- Persistance GSettings
|
||||
- Pas de crash
|
||||
|
||||
### Statut Important (À corriger rapidement)
|
||||
- UI correcte et responsive
|
||||
- Debouncing fonctionnel
|
||||
- Messages d'erreur clairs
|
||||
- Logs appropriés
|
||||
|
||||
### Statut Nice-to-have (Améliorations)
|
||||
- Performance optimale
|
||||
- Style CSS parfait
|
||||
- Documentation exhaustive
|
||||
|
||||
---
|
||||
|
||||
## Rapport de Test
|
||||
|
||||
Compléter après les tests :
|
||||
|
||||
**Date** : _______________
|
||||
|
||||
**Testeur** : _______________
|
||||
|
||||
**GNOME Shell version** : _______________
|
||||
|
||||
**Matériel** : _______________
|
||||
|
||||
**Tests réussis** : ______ / 120
|
||||
|
||||
**Tests échoués** : ______
|
||||
|
||||
**Bugs trouvés** :
|
||||
-
|
||||
-
|
||||
|
||||
**Notes** :
|
||||
Reference in New Issue
Block a user