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

Qualité

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.
Ajout notion de documentation et de support technique.
ajout sommaire.

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.
Ajout de “Voir d’abord le chapitre Prise en charge des projets” dans Q1

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


Introduction        4

Objectifs        4

Avantages        4

Cantonner les bugs/défauts et les causes de bugs/défauts dans les phases les plus précoces du workflow        5

Q0 - Initialisation, maturation, ticketing (IN PROGRESS)        5

Projets demandant un développement > 2 jours/homme        5

Q1 - Développement        6

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

Q4 - Merge master et test de recette par un autre développeur (si il y a une recette et/ou tests > 2 actions)        8

Q5 - Merge master et stress test (optionnel)        8

Q6 - Merge master et test final + review        9

Retours de Q6 :        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

Support technique        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


Introduction

Objectifs

Avantages


Cantonner les bugs/défauts et les causes de bugs/défauts dans les phases les plus précoces du workflow

Q0 - Initialisation, maturation, ticketing (IN PROGRESS)

Projets demandant un développement > 2 jours/homme

Initialisation : Chaque projet doit être abordé comme un nouveau produit. Avec un scope, une finalité, des contraintes, un MVP défini.

Maturation :

Ticketing :

Q1 - Développement

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.

Q2 - Merge master & 1ère review par le développeur lui 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.

Merger le master et ensuite comparer tout HTK/ à origin/master et vérifier :

Q3 - Merge master, démo et test utilisateur par un autre développeur (si projet > à 2h environ)

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]

Q4 - Merge master et test de recette par un autre développeur (si il y a une recette et/ou tests > 2 actions)

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]

Q5 - Merge master et stress test (optionnel)

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).


Q6 - Merge master et test final + review

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).

Retours de Q6 :

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

Q7 - Mettre à jour la documentation

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).

Création d’une recette pour les tests

TODO

Limiter au maximum les retours pour problème de conception

Documentation & learning management

Documentation produite essentiellement par les développeurs : classes, méthodes, typages, tables, readme, recettes.

Ressources : documentation AA - Index DOCS 

Support technique

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.

Prise en charge des projets

Routines à mettre en place pour chaque projet

Signaler impérativement les projets finalisés

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.

Spécificité vérification portage ou traduction I18N

[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)