-
Notifications
You must be signed in to change notification settings - Fork 0
QA Strategy
Cette QA Strategy définit les normes, processus et outils mis en place pour garantir la qualité, la stabilité et la maintenabilité du projet OMGG.
Elle est conçue pour permettre un suivi clair par l’équipe de développement, tout en intégrant les normes d’accessibilité numérique pour les personnes en situation de handicap.
Objectifs principaux :
- Limiter les régressions fonctionnelles et réseau
- Assurer la reproductibilité des builds
- Garantir des performances stables et mesurables
- Structurer l’organisation de l’équipe autour de processus qualité définis
- Intégrer l’accessibilité dès la conception des fonctionnalités
- Conventions de nommage et de structure Unity respectées
- Pull Requests obligatoires pour toute modification
- Checklist obligatoire sur chaque PR :
- Tester les modifications de manière approfondie
- Le code respecte le guide de style et les conventions de codage du projet
- J'ai mis à jour la documentation correspondante (si applicable).
- Tous les tests ont été réussis.
- J'ai vérifié l'absence de conflits potentiels avec d'autres branches.
- Validation des performances (Profiler / Rendering Stats) (Uniquement pour les fonctionnalités concernées)
- Vérification des critères d’accessibilité (Uniquement pour les fonctionnalités concernées)
- Toute nouvelle fonctionnalité doit être documentée dans le Wiki du projet, elle peut être écrite plus tard si la tache n'est pas terminé (si applicable)
- Les sessions de profiling et captures de performance sont archivées et datées
| Type de test | Objectif | Outils / Méthodes |
|---|---|---|
| Unit Tests | Vérifier la logique métier isolée | Unity Test Framework |
| Tests fonctionnels manuels | Vérifier UI, gameplay temps réel, interactions réseau | Scénarios + tests multi-instance Photon Fusion |
| Tests d’intégration continue et de déploiement | Vérifier la cohérence de la solution | CI GitHub + build automatique |
| Tests de performance | Identifier les goulots d’étranglement CPU / GPU / mémoire | Unity Profiler, Unity Rendering Stats |
- Les composants réutilisables critiques (ex : Card System) sont validés par des tests unitaires automatisés
- Les fonctionnalités non pertinentes pour des tests unitaires font l’objet de tests fonctionnels scénarisés
- Toute modification déclenche :
- Exécution des tests unitaires
- Vérification des fonctionnalités impactées
- Validation via Pull Request avec checklist obligatoire
- Check de build de la solution github
- Génération automatique des builds pour assurer reproductibilité
- Unity Rendering Stats pour mesurer FPS, draw calls et impact graphique
- Unity Profiler pour analyser CPU, allocations mémoire, appels coûteux et comparer avant/après optimisation
- Les optimisations sont intégrées uniquement si un gain mesurable est constaté
- Les sessions de profiling sont archivées et datées pour assurer traçabilité
- Tous les scénarios critiques sont identifiés lors de la conception des fonctionnalités :
- Cas nominal
- Cas d’erreur
- Cas limite
- Multi-utilisateurs / synchronisation réseau
- Contraintes de performance
- Chaque scénario est couvert par le type de test approprié (unit, fonctionnel, performance)
- La couverture est maintenue en continu grâce à l’exécution des tests avant chaque release et au suivi via CI
Les anomalies détectées lors des tests ou en production sont classées selon leur impact fonctionnel et leur impact utilisateur. L'objectif étant de garantir une prise de décision claire et cohérente lors de la détection d’un défaut, en particulier pour les fonctionnalités réseau et multi-utilisateurs, qui constituent un enjeu critique dans le cadre de la numérisation d'un jeu de société.
Les anomalies détectées lors des tests ou en production sont classées selon leur impact fonctionnel et leur impact utilisateur.
| Niveau | Description | Exemple dans OMGG | Impact sur la release |
|---|---|---|---|
| 🔴 Critique | Défaut bloquant ou compromettant l’expérience multi-joueur | Désynchronisation réseau, crash en partie, perte d’état de jeu | Release interdite |
| 🟠 Majeur | Fonctionnalité centrale dégradée mais contournable | Animation incorrecte, latence ponctuelle élevée, carte non synchronisée temporairement | Correction prioritaire avant release si possible |
| 🟡 Mineur | Défaut visuel ou secondaire sans impact sur la jouabilité | Problème d’alignement UI, effet graphique incorrect | Peut être planifié en correctif ultérieur |
Une version est considérée comme validée uniquement si :
- Aucun bug critique n’est ouvert
- Les tests unitaires passent avec succès
- Les scénarios multi-utilisateurs critiques sont validés
- Le build est reproductible via CI
Étant donné que OMGG repose sur une expérience multi-joueur synchronisée :
- Toute anomalie liée à la désynchronisation d’état est automatiquement classée au minimum en majeure
- Toute perte d’état de partie ou crash réseau est classée critique
- Les anomalies détectées sont tracées et assignées pour correction
- Les workflows et checklists sont mis à jour en fonction de l’évolution du projet
- Les optimisations et correctifs sont validés de manière objective avant intégration
La stratégie qualité intègre les normes d’accessibilité pour les personnes en situation de handicap, afin de garantir l’inclusion dès la conception des fonctionnalités.
- Interfaces adaptables : taille de police ajustable, contraste suffisant, couleurs adaptées au daltonisme
- Contrôles configurables et alternatives aux signaux visuels uniquement
- Sous-titres et feedback audio + visuel
Les critères d’accessibilité seront progressivement intégrés aux :
- Checklists Pull Request
- Tests fonctionnels
- Validation des fonctionnalités pour garantir l’accessibilité numérique
Bien que toutes les fonctionnalités ne soient pas encore implémentées, l’équipe OMGG a identifié les besoins en accessibilité et planifie leur intégration progressive dans la solution. La liste ci-dessus constitue un échantillon non exhaustif des critères pris en compte.
Cette QA Strategy fournit un cadre clair pour la validation des fonctionnalités, de la performance et de l’accessibilité.
Elle garantit que l’équipe de développement suit des processus cohérents, mesurables et reproductibles, tout en assurant l’inclusion des utilisateurs en situation de handicap.