Aller au contenu

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

Vous rappelez-vous de l’accident du 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 !

Sommaire

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

Vous êtes 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).

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.

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

Exemple lors d’une migration de serveurs de la base de données

Cette migration aura des répercussions sur les comptes clients existants. Par conséquent, le QA doit analyser toutes les facettes du projet : 

  • Comprendre le besoin : s’assurer que les utilisateurs peuvent accéder à leurs comptes clients.
  • Rédiger le cahier de test : le testeur doit rédiger les cas de test suivants :
    • Cas de test 1 : en tant qu’ancien utilisateur, je peux me connecter à mon compte client
    • Cas de test 2 : en tant que (ETQU) nouvel utilisateur je peux créer un compte et me connecter à mon compte client
    • Cas de test 3 : ETQUE utilisateur qui n’a pas de compte je ne peux pas me connecter à un compte client
    • Cas de test 4 : ETQU’ ancien utilisateur je ne peux pas me connecter à mon compte avec de mauvaises données
    • Cas de test 5 : ETQU’un utilisateur qui a modifié son mot de passe je peux me connecter à mon 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 :

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 et des fonctionnalités défini(e)s.
  • Être flexible et s’adapter face aux urgences.
  • Avoir le sens du détail et avoir un esprit analytique.
  • Avoir un esprit d’équipe : le QA ne doit jamais s’isoler ou jeter la faute sur l’équipe de développeurs.

Bonus : le QA peut avoir une certification ISTQB. Elle est recommandée par les entreprises, mais ne présente pas un critère disqualifiant 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

Voici quelques conseils pour bien débuter en tant que Quality Analyst :

  • Un cas de test doit avoir un seul objectif et il doit valider une seule chose à la fois.
  • Une User Story 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.
  • Avoir une idée de qu’est-ce que 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. Vous souhaitez 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.