CommunityRédaction et éditiongithub.com

Cure-Consulting-Group/ProductEngineeringSkills

Compétences pour la création d'applications avec Gemini, Claude et d'autres outils.

Qu'est-ce que ProductEngineeringSkills ?

Cette compétence fournit un cadre complet de tests d'acceptation utilisateur (UAT) de bout en bout, couvrant la génération de plans, l'exécution, la validation par les parties prenantes et les décisions de mise en production (go/no-go). Elle est cruciale car l'UAT représente la dernière barrière de qualité avant la mise en production. La compétence adapte automatiquement ses sorties en fonction du contexte du projet (fichiers, historique Git, structure). Elle prend en charge différents types d'UAT (nouvelles fonctionnalités, régressions, candidats à la release, correctifs) et génère automatiquement les artefacts nécessaires : plan de test, cas de test, formulaire de validation et modèle de triage des bugs. Son utilisation est recommandée pour tout développeur ou chef de produit cherchant à formaliser et fiabiliser le processus de validation avant un déploiement, sur des plateformes comme Claude Code, Cursor ou Codex.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add Cure-Consulting-Group/ProductEngineeringSkills

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Tests d'Acceptation Utilisateur (UAT)

Cadre UAT de bout en bout couvrant la génération de plans, l'exécution, la validation des parties prenantes et les décisions de mise en production (go/no-go). L'UAT est la dernière barrière de qualité avant la production — traitez-la comme telle. Aucune fonctionnalité n'est livrée sans une validation explicite des parties prenantes par rapport aux critères d'acceptation.

Prétraitement (Contexte Automatique)

Avant de commencer, rassemblez silencieusement le contexte du projet :

  • Lisez PORTFOLIO.md s'il existe dans la racine du projet ou les répertoires parents pour le contexte produit/équipe
  • Exécutez : cat package.json 2>/dev/null || cat build.gradle.kts 2>/dev/null || cat Podfile 2>/dev/null pour détecter la stack
  • Exécutez : git log --oneline -5 2>/dev/null pour les modifications récentes
  • Exécutez : ls src/ app/ lib/ functions/ 2>/dev/null pour comprendre la structure du projet
  • Utilisez ce contexte pour adapter toutes les sorties au projet réel

Étape 1 : Classifier le Besoin UAT

Déterminez le type d'UAT avant de construire le plan. Le type dicte la portée, la profondeur, l'implication des parties prenantes et le calendrier.

Type d'UATDéclencheurPortéeDurée Typique
UAT Nouvelle FonctionnalitéDéveloppement terminé, fusionné dans stagingTous les critères d'acceptation du PRD/user stories, chemin heureux complet + cas limites2-5 jours ouvrés
UAT de RégressionRefactorisation majeure, mise à jour de dépendance ou migration de plateformeParcours utilisateur critiques revérifiés, aucune régression de comportement1-3 jours ouvrés
UAT Candidat à la ReleaseBranche de release créée, toutes les fonctionnalités intégréesPérimètre complet de la release — chaque fonctionnalité, point d'intégration et comportement multiplateforme3-5 jours ouvrés
Validation de CorrectifBug de production corrigé, patch déployé en stagingPérimètre restreint — vérifier le correctif, confirmer l'absence d'effets secondaires sur les flux adjacents2-4 heures

Si le type d'UAT n'est pas clair, demandez avant de continuer. Une validation de correctif et une UAT de candidat à la release nécessitent des plans fondamentalement différents.

Collecte Automatique de Contexte

Avant de créer le plan UAT :

  1. Recherchez les specs de test existants, fichiers PRD, documents de critères d'acceptation
  2. Lisez toutes les specs trouvées pour extraire les exigences testables
  3. Recherchez les feature flags qui contrôlent les fonctionnalités testées

Génération d'Artéfacts (Requis)

Générer en utilisant Write :

  1. Plan UAT : docs/uat/uat-plan.md — en utilisant le style de sortie du plan de test
  2. Cas de test : docs/uat/test-cases.md — cas de test détaillés avec étapes et résultats attendus
  3. Formulaire de validation : docs/uat/sign-off.md — modèle d'approbation pour les parties prenantes
  4. Modèle de triage de bugs : docs/uat/bug-triage.md — guide de classification de sévérité

Étape 2 : Rassembler le Contexte

Collectez toutes les entrées avant de rédiger le plan UAT. Un contexte manquant produit des plans incomplets.

EntréeRequiseSourceNotes
Nom de la fonctionnalité/version de releaseOuiPM/Chef TechniqueIdentifiant court pour le suivi
Critères d'acceptationOuiPRD, user stories, tickets Jira/LinearUtiliser la sortie de la compétence /sdlc si disponible
Liste des parties prenantesOuiPM/Product OwnerQui teste, qui valide, qui a un droit de veto
Environnement cibleOuiIngénierieURL de staging, numéro de build, feature flags
Plateforme(s)OuiIngénierieAndroid, iOS, Web ou combinaison
Exigences de conformitéFacultatifJuridique/SécuritéContraintes HIPAA, SOC 2, PCI-DSS, RGPD sur les données de test
Risques ou limitations connusFacultatifIngénierieDette technique, problèmes connus, intégrations incomplètes
Résultats UAT précédentsFacultatifQA/PMRéférence pour la comparaison de régression
Date limite de releaseOuiPMDate ferme vs. flexible — influence la pression go/no-go

Si les critères d'acceptation n'existent pas, arrêtez-vous et créez-les d'abord en utilisant la compétence /sdlc. L'UAT sans critères d'acceptation est un test basé sur l'opinion — il ne prouve rien.

Étape 3 : Génération du Plan UAT

3.1 Extraction des Critères d'Acceptation

Extrayez les critères d'acceptation de chaque source et normalisez-les en énoncés testables.

Format : Étant donné [précondition], Quand [action], Alors [résultat attendu]

Priorité des sources :
  1. Critères d'acceptation du PRD (autoritaires)
  2. Critères d'acceptation des user stories (détaillés)
  3. Spécifications de conception / prototypes (comportement visuel et d'interaction)
  4. Contrats API (formes de réponse, codes d'erreur)
  5. Cas limites identifiés lors de la revue de code ou /feature-audit

Chaque critère d'acceptation devient un ou plusieurs scénarios de test. Si un critère ne peut pas être testé manuellement, signalez-le et spécifiez la méthode de vérification automatisée.

3.2 Matrice de Scénarios de Test

Construisez la matrice complète des scénarios. Chaque scénario a exactement un résultat attendu.

IDCatégorieScénarioPréconditionÉtapesRésultat AttenduPlateformePriorité
UAT-001Chemin Heureux[Flux de succès principal][État initial][1. 2. 3.][Résultat attendu]ToutesP0
UAT-002Chemin Heureux[Flux de succès secondaire][État initial][1. 2. 3.][Résultat attendu]ToutesP0
UAT-003Cas Limite[Condition limite][État initial][1. 2. 3.][Résultat attendu]ToutesP1
UAT-004État d'Erreur[Entrée invalide / échec][État initial][1. 2. 3.][Gestion d'erreur]ToutesP1
UAT-005Multiplateforme[Comportement spécifique à la plateforme][État initial][1. 2. 3.][Attente plateforme]SpécifiqueP1
UAT-006Accessibilité[Lecteur d'écran / navigation clavier][AT activé][1. 2. 3.][Résultat accessible]ToutesP1
UAT-007Performance[Temps de chargement / réactivité][Conditions standard][1. 2. 3.][Dans le budget]ToutesP2
UAT-008Hors ligne/Dégradé[Aucune connectivité / signal faible][Mode avion / limité][1. 2. 3.][Gestion gracieuse]MobileP1

Définitions des priorités :

  • P0 — Fonctionnalité de base. En cas d'échec, la fonctionnalité ne fonctionne pas. Bloque la release.
  • P1 — Comportement important. En cas d'échec, la fonctionnalité fonctionne mais avec des lacunes significatives. Doit être corrigé avant la release.
  • P2 — Vérification agréable à avoir. En cas d'échec, peut être livré avec un problème connu documenté.

3.3 Liste de Vérification de l'Environnement

Vérifiez l'environnement de test avant le début de l'UAT. Un environnement cassé fait perdre du temps aux parties prenantes et érode la confiance.

LISTE DE VÉRIFICATION PRÉ-UAT DE L'ENVIRONNEMENT
[ ] Environnement de staging déployé avec le bon build/version
[ ] Version du build documentée : _______________
[ ] Feature flags activés pour le périmètre UAT :
    [ ] Flag : _____________ = ON/OFF
    [ ] Flag : _____________ = ON/OFF
[ ] Données de test amorcées (comptes, contenu, transactions)
[ ] Comptes de test créés avec les rôles/autorisations requis
    (voir la compétence /test-accounts pour le provisionnement des comptes)
[ ] Intégrations tierces en mode test/sandbox :
    [ ] Stripe : mode test avec clés API de test
    [ ] Processeur de paiement : environnement sandbox
    [ ] Email/SMS : intercepté ou utilisant des destinataires de test
    [ ] Analytics : propriété dev/staging (pas la production)
[ ] Backend/API pointant vers le staging (pas la production)
[ ] Base de données amorcée avec un volume de données représentatif
[ ] Notifications push configurées pour le staging
[ ] Deep links / Universal Links configurés pour le domaine de staging
[ ] Certificats SSL valides sur le staging
[ ] Accès VPN/réseau configuré pour tous les testeurs

3.4 Tableau des Rôles des Parties Prenantes

Définissez qui fait quoi. L'ambiguïté dans les rôles signifie des lacunes dans la couverture.

RôlePersonneResponsabilitésAutorité de Validation
Responsable UAT[Nom]Possède le plan UAT, coordonne les sessions, trie les bugs, produit le rapportRecommandation finale go/no-go
Product Owner[Nom]Valide que les critères d'acceptation sont remplis, teste les scénarios métierOui — validation métier
Responsable Design[Nom]Valide la fidélité visuelle, les modèles d'interaction, la cohérence de la marqueOui — validation design
Responsable Ingénierie[Nom]Disponible pour l'investigation des bugs, les corrections d'environnement, explique les contraintes techniquesOui — validation technique
Testeur QA[Nom]Exécute les scénarios de test systématiquement, documente les résultats avec preuvesNon — rapporte au Responsable UAT
Expert Métier[Nom]Teste les workflows spécifiques au domaine (finance, santé, juridique)Oui — validation métier
Testeur Accessibilité[Nom]Test de lecteur d'écran, navigation clavier, vérification WCAG AAConsultatif — remonte au Responsable UAT

La validation minimale requise nécessite : Product Owner + Responsable Ingénierie. Toutes les autres validations sont recommandées mais dépendent du périmètre.

Étape 4 : Cadre d'Exécution UAT

Voir reference/details.md (section « Step 4: UAT Execution Framework ») pour les détails complets.

Étape 5 : Validation et Décision Go/No-Go

5.1 Matrice de Décision Go/No-Go

La décision go/no-go est basée sur les données, pas sur l'opinion. Notez chaque critère et calculez le résultat pondéré.

MATRICE DE DÉCISION GO / NO-GO
Fonctionnalité/Release : _______________
Date : _______________
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┌──────────────────────────────────┬────────┬────────┬───────┬───────┐
│ Critère                         │ Poids  │ Statut │ Score │ Notes │
├──────────────────────────────────┼────────┼────────┼───────┼───────┤
│ Tous les scénarios P0 réussissent│  30%   │ GO/NOGO│ X/30  │       │
│ Tous les scénarios P1 réussissent│  25%   │ GO/NOGO│ X/25  │       │
│ Aucun bug P0 ouvert              │  20%   │ GO/NOGO│ X/20  │       │
│ Aucun bug P1 ouvert (ou risque accepté)│ 10%   │ GO/NOGO│ X/10  │       │
│ Test d'accessibilité (WCAG AA)   │  5%    │ GO/NOGO│ X/5   │       │
│ Performance dans le budget       │  5%    │ GO/NOGO│ X/5   │       │
│ Parité multiplateforme vérifiée  │  5%    │ GO/NOGO│ X/5   │       │
├──────────────────────────────────┼────────┼────────┼───────┼───────┤
│ TOTAL                            │ 100%   │        │ X/100 │       │
└──────────────────────────────────┴────────┴────────┴───────┴───────┘

Seuils de décision :
  GO           >= 90/100   Tous les critères P0 doivent être GO.
  CONDITIONNEL  70-89/100  Livrer avec des conditions documentées et un calendrier de résolution.
  NO-GO        < 70/100    Ne pas publier. Corriger et re-tester.

Blocages durs (NO-GO automatique quel que soit le score) :
  - Tout bug P0 ouvert
  - Scénario de perte ou de corruption de données
  - Vulnérabilité de sécurité (contournement d'authentification, exposition de données)
  - Plantage sur un parcours utilisateur critique
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5.2 Modèle de Validation

VALIDATION DES PARTIES PRENANTES
Fonctionnalité/Release : _______________
Build/Version : _______________
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┌──────────────────┬──────────────┬──────────┬────────────┬─────────┐
│ Partie Prenante  │ Rôle         │ Décision │ Conditions │ Date    │
├──────────────────┼──────────────┼──────────┼────────────┼─────────┤
│ [Nom]            │ Product Owner│ GO/NOGO  │ [si applicable] │ [date]  │
│ [Nom]            │ Chef Ingé.   │ GO/NOGO  │ [si applicable] │ [date]  │
│ [Nom]            │ Chef Design  │ GO/NOGO  │ [si applicable] │ [date]  │
│ [Nom]            │ Expert Métier│ GO/NOGO  │ [si applicable] │ [date]  │
│ [Nom]            │ Resp. UAT    │ GO/NOGO  │ [si applicable] │ [date]  │
└──────────────────┴──────────────┴──────────┴────────────┴─────────┘

Validation conditionnelle signifie : "GO, à condition que les éléments suivants soient résolus d'ici [date] :"
  1. [Condition]
  2. [Condition]

Si TOUTE partie prenante signe NO-GO, la release est bloquée jusqu'à ce que son problème soit résolu.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5.3 Plan de Retour Arrière

Chaque release doit avoir un plan de retour arrière documenté avant la décision go/no-go. Pas de plan de retour arrière = NO-GO automatique.

PLAN DE RETOUR ARRIÈRE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Déclencheur : [Conditions qui déclenchent le retour arrière — ex., taux de crash > 2%, bug P0 en production]
Propriétaire : [Qui initie le retour arrière]
Étapes :
  1. [Désactiver le feature flag / annuler le déploiement]
  2. [Vérifier que le retour arrière a réussi]
  3. [Notifier les parties prenantes]
  4. [Surveiller pendant 30 minutes après le retour arrière]
Données : [Une migration de données doit-elle être annulée ? Gestion de version des documents Firestore ?]
Comms : [Qui communique aux utilisateurs si nécessaire — équipe support, page de statut]
Post-mortem : [Planifier dans les 48 heures suivant le retour arrière]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5.4 Projet de Notes de Version

Générez les notes de version à partir des résultats UAT. Les testeurs UAT connaissent mieux la fonctionnalité que quiconque à ce stade.

NOTES DE VERSION (à partir des résultats UAT)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Version : _______________
Date : _______________

NOUVEAUTÉS
  - [Fonctionnalité/capacité ajoutée — langage utilisateur]

AMÉLIORATIONS
  - [Amélioration d'une fonctionnalité existante — ce qui est mieux pour l'utilisateur]

CORRECTIFS
  - [Bug corrigé pendant l'UAT — ce qui était cassé et est maintenant résolu]

PROBLÈMES CONNUS
  - [Bugs P2 livrés avec cette release — solution de contournement si disponible]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Étape 6 : Rapport UAT

Produisez le rapport UAT complet une fois toutes les sessions terminées et les validations collectées.

═══════════════════════════════════════════════════════════════
RAPPORT UAT
Fonctionnalité/Release : [NOM]
Version/Build : [VERSION]
Date : [AUJOURD'HUI]
Responsable UAT : [NOM]
═══════════════════════════════════════════════════════════════

RÉSUMÉ EXÉCUTIF
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Décision :      GO / CONDITIONNEL / NO-GO
Scénarios Totaux : [N]
Réussis :         [N] ([X]%)
Échoués :         [N] ([X]%)
Bloqués :         [N] ([X]%)
Non Exécutés :    [N] ([X]%)
Blocages Ouverts : [N] P0 / [N] P1 / [N] P2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

TAUX DE RÉUSSITE PAR CATÉGORIE
┌──────────────────────┬──────────┬────────┬─────────┬────────┐
│ Catégorie            │ Total    │ Réussi │ Échoué  │ Taux   │
├──────────────────────┼──────────┼────────┼─────────┼────────┤
│ Chemin Heureux       │ [N]      │ [N]    │ [N]     │ [X]%   │
│ Cas Limites          │ [N]      │ [N]    │ [N]     │ [X]%   │
│ États d'Erreur       │ [N]      │ [N]    │ [N]     │ [X]%   │
│ Multiplateforme      │ [N]      │ [N]    │ [N]     │ [X]%   │
│ Accessibilité        │ [N]      │ [N]    │ [N]     │ [X]%   │
│ Performance          │ [N]      │ [N]    │ [N]     │ [X]%   │
│ Hors ligne/Connectivité │ [N]      │ [N]    │ [N]     │ [X]%   │
├──────────────────────┼──────────┼────────┼─────────┼────────┤

Skills associés