Le rôle du QA : garant de la qualité produit !

Quality Management

Jéromine

Product Owner

Tu te rappelles de l’accident de la concorde en 2000 ou de l'explosion des batteries Samsung Galaxy S7 en 2016 ? Ces exemples, mondialement connus permettent de mettre en lumière l’importance de réaliser des tests en amont de la sortie au grand jour ! Une entreprise, peu importe son secteur, ne peut pas se permettre de mettre dans les mains des utilisateurs un produit sans avoir réalisé un contrôle de qualité. La qualité apporte à la fois la garantie d’une bonne expérience utilisateur et une plus grande confiance dans l’entreprise. Embarquez à la découverte d’un monde riche en couleur dont les prémices débutent dans les années 80’ !  

Qu’est-ce que le rôle de QA ?  

Tu es peut-être tous les jours en contact avec un testeur, un quality analyst, un QA, un recetteur ou encore un référent fonctionnel. Toutes ces typologies font référence à la “Quality assurance” (la garantie de la qualité).

Le Quality analyst a pour fonction de tester l’ensemble des fonctionnalités d’un ou des logiciels / produits dont il est responsable. Il doit trouver les potentielles erreurs que pourraient rencontrer un utilisateur lors de l’utilisation du produit. Par conséquent, le QA va se mettre à sa place dans le but d'imaginer l’ensemble des utilisations normales (ou pas) et dénicher les bugs liés à ces utilisations afin de les résoudre avant que le produit soit mis entre les mains des utilisateurs finaux. Le QA va aussi s’assurer que lors des itérations, la qualité du produit reste stable et que de nouveaux ou anciens bugs n’apparaissent pas (test de non-régression).  

Attention, le QA valide un seuil minimal de qualité qui est déterminé avec les autres membres de l’équipe. Cela ne veut pas dire qu’il y a zéro anomalie.

Le QA ne doit pas se limiter à valider le besoin émis par le métier. Son rôle est de trouver des failles dans le système comme des règles de gestion non identifiées, des comportements qui impactent d’autres fonctionnalités ou des problèmes de performance...
Quel que soit le test manuel ou automatique, il doit effectuer des scénarios de tests pour “casser le produit” et trouver dans quelles conditions le produit pourrait ne pas fonctionner correctement. Le QA a la faculté de refuser ou de retarder la mise en production d’un produit ne respectant pas le niveau de qualité exigé.

Exemple lors de la phase de mise en Production  

Le développement d’un produit suit un cycle souvent appelé “sprint” pouvant aller de 1 à 4 semaines en fonction des entreprises. Chaque sprint se termine par une phase de test. Si cette dernière est concluante, une mise en production est planifiée.  

Dans cette phase, le QA a le pouvoir d'arrêter une mise en production ! En effet, s’il estime que les résultats de la phase de tests ne permettent pas de garantir le bon fonctionnement du produit, il peut donner son “ NO GO” à la mise en production.  

Voici quelques exemples qui peuvent impliquer un “ NO GO” ou un retard sur la mise en production :  

  • Le périmètre identifié comme priorité P0 défini pour la phase de recette n’est pas finalisé à 100%.
  • Beaucoup de bugs identifiés avec des criticités bloquantes.

Attention, le QA ne peut pas tout tester. Donc une stratégie de test est essentielle à mettre en place afin de couvrir un maximum de fonctionnalités dans chaque cycle de test. Par exemple un QA pourra mettre en place une matrice de couverture.

La QA au centre des projets

Le QA est au cœur de toutes les étapes d’un projet : Stratégie, Business, Expertise...Il peut autant apporter son expertise sur un plan technique que garantir la gestion des risques ou encore améliorer l’efficacité des tests avec l'automatisation.  

De nombreuses entreprises ont encore comme vision que le Quality Analyst n’intervient que lors des phases de test et sous-estime l’importance de cette fonction dans les phases en amont. Néanmoins, plus un Quality Analyst est intégré tôt dans la vie du produit, plus vite il va pouvoir challenger les équipes techniques et ainsi limiter voire éviter des erreurs. Il va être un membre actif de Tres amigos.  

Le QA Analyst à travers le cycle de vie d’un produit :

  • Comprendre le besoin : le QA doit comprendre l'étendue de son produit (fonctionnement et/ou techniquement) et les critères d'acceptances. Les critères d'acceptances vont permettre de couvrir tous les scénarios envisageables et s'assurer que le résultat attendu est compris par tous en amont du développement.
  • Rédiger son cahier de test : un cahier de test est un ensemble de valeurs d'entrée, de préconditions, d’étapes et de résultats attendus qui a pour objectif de déterminer le bon fonctionnement d’une fonctionnalité.
  • Exécuter des tests : une fois que le développeur a fini le développement de sa fonctionnalité, le QA va exécuter les tests qu’il a rédigés dans un environnement de test. A cette étape, il va qualifier le fonctionnement de delivery.  
  • Identifier les bugs : lors de l'exécution des tests, le QA peut identifier des bugs. Il doit remonter ce point à l’équipe technique qui se chargera de les résoudre.
  • Faire un reporting : le QA doit communiquer les résultats de ces tests soit lors des tests sur le sprint en cours ou durant une campagne de test de mise en production. Ce rapport permet de donner de la visibilité à toute l’équipe sur la qualité du produit et de remonter les éventuelles alertes.  

A savoir : le QA est le premier utilisateur de la fonctionnalité. Il a donc aussi un rôle de conseil et cela à travers le cycle du produit. Si, par exemple, en tant qu'utilisateur, il a l'impression qu'une fonctionnalité est difficile à comprendre, qu’une phrase n'est pas claire ou encore si un bouton n'est pas assez visible au regard de son utilité.

Exemple lors d’une migration de serveurs de la base de données d’une entreprise qui aura des répercussions sur les comptes clients :  

  • Comprendre le besoin : s’assurer que les utilisateurs peuvent accéder à leurs comptes clients.
  • Rédiger son cahier de test : le testeur doit rédiger les cas de test suivants :
    Cas de test 1 : vérifier qu’un ancien utilisateur peut se connecter à son compte client
    Cas de test 2 : vérifier qu’un nouvel utilisateur peut créer un compte et se connecter à son compte client
    Cas de test 3 : vérifier qu’un utilisateur qui n’a pas de compte ne peut pas se connecter au compte client
    Cas de test 4 : vérifier qu’un utilisateur existant ne peut pas se connecter à son compte s’il saisit des mauvaises données
    Cas de test 5 : vérifier qu’un utilisateur qui a modifié son mot de passe peut se connecter à son compte.
  • Exécuter des tests : le QA doit exécuter ces 5 tests et valider la bonne exécution de chacun de manière individuelle.
  • Identifier les bugs : le QA doit vérifier que tous les critères d'acceptation sont validés et que la migration des serveurs n’a pas engendré des régressions. Par exemple, la migration peut inclure des erreurs et impacter les utilisateurs existants lors de la connexion à leur compte.
  • Faire un reporting : le QA peut effectuer un reporting en utilisant les outils mis à disposition par l’entreprise pour avoir de la visibilité sur l’avancement des tests. Ci-dessous un exemple d’un dashboard réalisé avec XRAY.
dashboard réalisé avec XRAY

Les compétences d’un QA

Un QA doit avoir certaines compétences pour pouvoir exercer son métier tout en prenant en compte les challenges de son équipe/ client/ entreprise. Ci-dessous quelques-unes :  

  • Connaître le processus métier du produit pour comprendre l'écosystème et les raisons des choix de certains comportements du produit.
  • Se mettre à la place de son utilisateur final.
  • Comprendre les priorités des projets/ fonctionnalités défini(e)s.
  • Flexible et s’adapte face aux urgences.
  • Avoir le sens de détail et avoir un esprit analytique.
  • Team player : le QA ne doit jamais s’isoler ou jeter la faute sur l’équipe de développeurs.  
  • Un plus : Le QA peut avoir une certification ISTQB qui est recommandée par les entreprises, mais ceci ne présente pas un critère pour un nouveau QA.

L’évolution du métier de la QA

Quand un QA commence son parcours, il commence en tant que QA Analyst. Avec de l’expérience, il peut évoluer vers un poste de QA Lead. Son nouveau rôle consiste à manager une équipe de QA, de définir la stratégie de test et de s’assurer que les campagnes de test sont finies à temps pour assurer des livraisons de qualité. Le QA peut aussi passer de QA Analyst à QA automaticien. Pour avoir ce poste, le QA doit s'intéresser aux aspects techniques pour pouvoir être autonome sur les tâches de développement de ses classes. Enfin il peut aussi évoluer vers d’autres métiers comme Proxy PO ou PO ou Analyste fonctionnel !  

Bonus : tips des bonnes pratiques de la QA

  • Un cas de test doit avoir un seul objectif et il doit valider une seule chose à la fois.
  • Une US peut avoir un ou plusieurs tests à la fois pour valider ses critères d’acceptation.
  • Assurer un suivi des résultats des tests pour pouvoir effectuer les bonnes décisions.
  • Effectuer un suivi des bugs et les prendre en considération dans les prochains tests de non régression.
  • Identifier et mettre à jour les tests de non-régression à effectuer après chaque mise à jour et évolution du code de votre produit.
  • Identifier les environnements de tests et les tests à dérouler par environnement.
  • Assurer le bon niveau de test.
  • Définir une stratégie de test en se basant sur la data et la priorité métier.
  • Dans la stratégie de votre test, priorisez les cahiers de tests en P0, P1 ,P2 ..
  • Faire appel à des early adopters si c’est possible dans le cadre de votre projet
  • Pour aller plus loin voici le pdf de l’ISTQB

Pour conclure, toutes les entreprises peuvent bénéficier des nombreux avantages de faire appel à un QA. Parmi ces avantages, on peut retrouver, l’assurance de mettre à disposition de ses clients un produit de qualité, la diminution de la dette technique ou encore la rationalisation du coût de développement. Tu souhaites en savoir plus sur le rôle de QA, n’hésitez pas à explorer nos différents articles en lien avec le rôle de QA !

Dans la même catégorie
Comment rédiger des cas de test à partir des exigences ?
Comment rédiger des cas de test à partir des exigences ?
Les environnements de test
Les environnements de test
Le rôle du QA : garant de la qualité produit !
Le rôle du QA : garant de la qualité produit !