Index
Documentation Générale Qualité
Documentation Classes Metier
Documentation Liste Qualité Code Review
Documentation Liste Qualité Guideline Development
Documentation Bugs Defaults
Documentation Tests Unitaires
Documentation i18n
Documentation SQL Indexation
Documentation Timeframe
Objectifs zéro retour sur la conception des classes en test & review avant PR & zéro bug en PR
Date |
Par |
Quoi |
Version |
12/09/2023 |
MB |
Création |
1.0.1 |
13/09/2023 |
MB |
Ajout exemple de test versatile dans “Q1 - Développement” |
1.0.2 |
15/09/2023 |
MB |
Ajout d’objectifs et création avantages. |
1.0.3 |
19/09/2023 |
MB |
Ajouté spécificités portage |
1.0.4 |
28/09/2023 |
MB |
Ajout du chapitre “Signaler impérativement les projets finalisés” |
1.0.5 |
28/09/2023 |
MB |
Ajout de Todo |
1.0.6 |
05/10/2023 |
MB |
Mise à jour des Q du workflow, compléments et détails importants |
1.0.7 |
06/10/2023 |
MB |
Ajout d'instructions en cas de bug dans les différents Q |
1.0.8 |
06/10/2023 |
MB |
Ajout de “Tester toutes les modifications/créations de codes sans exception.” dans Q2 et Q6. |
1.0.9 |
09/10/2023 |
MB |
Ajout de précisions sur la création de la recette en Q2. |
1.0.10 |
09/10/2023 |
MB |
Ajout de l’obligation de tests unitaires dans Q1 - Développement |
1.0.11 |
10/10/2023 |
MB |
Ajout de précisions dans “Spécificité vérification portage ou traduction I18N” |
1.0.12 |
17/10/2023 |
MB |
Ajout de précisions sur le merge des branches de dev dans la branche preprod de l’EPIC |
1.0.13 |
18/10/2023 |
NC |
Ajout création ticket PR Q6 |
1.0.14 |
19/10/2023 |
MD |
Ajout d’une précision concernant la certitude de tester tous les fichiers modifiés |
1.0.15 |
19/10/2023 |
MB |
Insistance sur les tests au niveau de Q1 développement et lien vers “Limiter au maximum les retours pour problème de conception” en rouge dans Q1 |
1.0.16 |
25/10/2023 |
MB |
Ajout de précision dans la prise en charge de projets pour questionner le projet. |
1.0.17 |
01/11/2023 |
MB |
Ajout de Q0 - Initialisation, maturation, ticketing. Ajout de Q7 - Mettre à jour la documentation. Ajout de “Faire un point tous les 2 jours maximum sur un projet avec un tech lead.” dans les routines développeurs. |
1.0.18 |
17/11/2023 |
MB NC |
Ajout notions de Q2 et 3 intermédiaires + notion de démo au testeur pour avoir un retour immédiat. Retours de Q6 > une réunion visio est organisée pour parler des points les plus délicats. |
1.0.19 |
14/12/2023 |
NC |
Spécification des routines pour le upgradeFromMaster |
1.0.20 |
Q0 - Initialisation, maturation, ticketing (IN PROGRESS) 5
Projets demandant un développement > 2 jours/homme 5
Q2 - Merge master & 1ère review par le développeur lui même 6
Q3 - Merge master, démo et test utilisateur par un autre développeur (si projet > à 2h environ) 7
Q5 - Merge master et stress test (optionnel) 8
Q6 - Merge master et test final + review 9
Q7 - Mettre à jour la documentation 10
Création d’une recette pour les tests 10
Limiter au maximum les retours pour problème de conception 10
Documentation & learning management 10
Prise en charge des projets 10
Routines à mettre en place pour chaque projet 11
Signaler impérativement les projets finalisés 11
Spécificité vérification portage ou traduction I18N 12
Initialisation : Chaque projet doit être abordé comme un nouveau produit. Avec un scope, une finalité, des contraintes, un MVP défini.
Maturation :
Ticketing :
Voir d’abord le chapitre Prise en charge des projets .
Toute modification lors de développement doit être testée partout où c’est nécessaire, console ouverte. Les warning, notice et fatal errors, sont traités au fur et à mesure.
1 ligne de code modifiée = un test certifié = vous devez vous assurer que vous testez bien ce que vous pensez tester , si vous avez un doute et cela arrive souvent, mettre des die(‘test’) à l’endroit de la modification.
Faire des tests versatiles : Ne testé pas juste le minimum, pensez systématiquement aux cas d’usages réels (exemple : Vous créez une liste avec filtres, vous avez créé une ligne, ne testez pas juste avec une seule ligne, il faut tester tous les cas liés au filtres). Autre exemple, votre méthode attend un float, que se passe-t-il si un NULL ou un string est fourni ?
1 méthode crée = 1 à x tests unitaires DOCTESTSUNITAIRES
Lire impérativement “Limiter au maximum les retours pour problème de conception”
Pendant Q1 dev doit faire des Q2 intermédiaires au fur et à mesure, et compléter progressivement la recette.
Tous les fichiers modifiés doivent être testés avec certitude. Il faut s’assurer que chaque ligne de code modifiée fonctionne correctement. Aussi, si il y a un doute sur quand est exécuter une ligne modifiée, il faut chercher ou demander comment elle fonctionne et quand est-elle exécutée.
Merger le master et ensuite comparer tout HTK/ à origin/master et vérifier :
0/ 2 types :
Intermédiaire : Pour une ou un lot de fonctionnalités :
Complète : Idem que pour intermédiaire mais pour l’ensemble des fonctionnalités à livrer par les développeurs.
1/ Vérifications de base
Merger le master et ensuite comparer tout HTK/ à origin/master et vérifier :
2/ Tester sans recette
Se mettre à la place de chaque utilisateur et en essayant d’effectuer les tâches du programme sans support (c’est le cas des utilisateurs réels).
Avoir un esprit critique large et exigeant (ergonomie, design, mise en page, syntaxe, ton employé, conception).
En cas de bug : Préparer un ticket de correctif (type bugfix) rattaché au projet, avec le lien vers la recette dans la description et contenant un sous-tickets par fix, que le testeur complète au fur et à mesure de ses observations (en plus de remarques dans la recette). Quand il a fini, il signale son ticket de bugfix à n.chevillard@gdn.fr sans l’assigner.
En cas de défauts : Les noter dans la recette dans les remarques avec des détails et si besoin en faisant des captures (dans le second onglet de la recette).[a]
Tous les fichiers modifiés doivent être testés avec certitude. Il faut s’assurer que chaque ligne de code modifiée fonctionne correctement. Aussi, si il y a un doute sur quand est exécuter une ligne modifiée, il faut chercher ou demander comment elle fonctionne et quand est-elle exécutée.
Faire Q3/0 et Q3/1 puis suivre et compléter la recette, console ouverte (tail -f apachelog/hightekers.process-id.com-error_log). Les warning, notice et fatal errors doivent être remontés.
Avoir un esprit critique large et exigeant (ergonomie, design, mise en page, syntaxe, ton employé, conception).
En cas de bug : Préparer un ticket de correctif (type bugfix) rattaché au projet, avec le lien vers la recette dans la description et contenant un sous-tickets par fix, que le testeur complète au fur et à mesure de ses observations (en plus de remarques dans la recette). Quand il a fini, il signale son ticket de bugfix à n.chevillard@gdn.fr sans l’assigner.
En cas de défauts : Les noter dans la recette dans les remarques avec des détails et si besoin en faisant des captures (dans le second onglet de la recette).[b]
Faire Q3/1 puis faire un test dit de “stress” qui consiste à essayer de faire bugger le programme par n’importe quel moyen qui vous passe par la tête.
Selon les cas, créer des tests de masse.
Là aussi console ouverte. Les warning, notice et fatal errors doivent être remontés.
En cas de bug : Préparer un ticket de correctif (type bugfix) rattaché au projet, avec le lien vers la recette dans la description et contenant un sous-tickets par fix, que le testeur complète au fur et à mesure de ses observations (en plus de remarques dans la recette). Quand il a fini, il signale son ticket de bugfix à n.chevillard@gdn.fr sans l’assigner.
En cas de défauts : Les noter dans la recette dans les remarques avec des détails et si besoin en faisant des captures (dans le second onglet de la recette).
Nous sommes sur l’étape finale avant PR. A ce stade, il ne doit plus y avoir aucun bug.
Faire Q3/1 + Q4.
Review très attentive. Tester toutes les modifications/créations de codes sans exception.
Avoir un esprit critique large et exigeant (ergonomie, design, mise en page, syntaxe, ton employé, conception).
Les tests doivent être fait en se posant : Prenez une tisane, respirez et mettez-vous à la place de l’utilisateur. Quand vous testez vous devez vous mettre en position d’observateur impitoyable (vous savez l’inspecteur des travaux fini qui vient pointer ce qui ne va pas). Il faut vous conditionner mentalement pour cet exercice bien particulier et on doit tous faire de même.
Tous les fichiers modifiés doivent être testés avec certitude. Il faut s’assurer que chaque ligne de code modifiée fonctionne correctement. Aussi, si il y a un doute sur quand est exécuter une ligne modifiée, il faut chercher ou demander comment elle fonctionne et quand est-elle exécutée.
En cas de bug : Préparer un ticket de correctif (type bugfix) rattaché au projet, avec le lien vers la recette dans la description et contenant un sous-tickets par fix, que le testeur complète au fur et à mesure de ses observations (en plus de remarques dans la recette).
En cas de défauts : Les noter dans la recette dans les remarques avec des détails et si besoin en faisant des captures (dans le second onglet de la recette).
Une fois le test passé, recommencer et si tout est bon, créer un ticket de PULL Request.
Pour cela, revenir sur l’Epic et aller dans Actions > Créer Ticket PR
Dès que le projet (l’EPIC) est mergée dans le master (statut DONE). Reprendre toutes les documentations et les mettre à jour : Diagrammes, Uses cases (pas les maquettes figma).
TODO
Documentation produite essentiellement par les développeurs : classes, méthodes, typages, tables, readme, recettes.
Ressources : documentation AA - Index DOCS
Support informatique niveau 3 (N3) > Discord > @MatthiasD : expertise par domaines de compétence, réponses aux questions techniques avancées, recherche aide pour trouver des solutions techniques.
Signaler impérativement par un email au chef de projet quand un projet/une branche est finalisée et doit être mise en production selon vous. Ceci pour tous types de projets : bugfix, storie etc... Seulement si c'est une finalisation, pas les tickets intermédiaires.
[a]A déplacer dans DOCBUGSDEFAUTS et à la place faire référence à cette doc avec un lien (Voir DOCBUGSDEFAUTS + lien)
[b]A déplacer dans DOCBUGSDEFAUTS et à la place faire référence à cette doc avec un lien (Voir DOCBUGSDEFAUTS + lien)