mardi, novembre 28, 2023

Meilleures pratiques d’assurance qualité pour les chefs de produit


Dans le cycle de vie du développement logiciel, l’assurance qualité (AQ) constitue souvent la dernière étape avant la publication du code : c’est presque une réflexion après coup. Pour cette raison, il manque généralement de ressources, de personnel, de processus, d’outils et de temps qui lui sont consacrés. Ceci est attesté par un Rapport 2022 de Katalon, qui a interrogé plus de 3 000 professionnels du logiciel et a révélé que seulement environ la moitié des personnes interrogées étaient satisfaites des efforts d’assurance qualité de leur équipe. Il n’est donc pas surprenant que 67 % des personnes interrogées aient déclaré que leur principal objectif en matière de qualité logicielle était d’améliorer les processus et les pratiques d’assurance qualité.

L’assurance qualité n’est généralement pas du ressort de chefs de produits, mais je soutiens que cela devrait l’être. Il n’y a personne dans une équipe produit mieux équipée pour garantir que le vision du produit est livré sans problèmes qui pourraient vous coûter des clients ou, pire encore, amener votre entreprise à perdre de la valeur marchande.

Cinquante-trois pour cent des professionnels du logiciel interrogés se sont déclarés satisfaits des pratiques d'assurance qualité de leur équipe ;  67 % ont déclaré que leur principal objectif en matière de qualité logicielle était d'améliorer les processus et les pratiques d'assurance qualité.
Les résultats d’une récente enquête auprès des professionnels du logiciel indiquent un désir évident d’amélioration en matière d’assurance qualité.

Idéalement, l’assurance qualité devrait être continue tout au long du cycle de vie du produit, et les chefs de produit devraient diriger la charge. Au cours de mes 25 années dans le domaine, j’ai découvert que les meilleures pratiques et conseils d’assurance qualité suivants, qui peuvent être mis en œuvre quel que soit le processus utilisé, produisent un code de meilleure qualité et des clients plus satisfaits.

Qu’est-ce qui définit un logiciel de qualité ?

Il existe quatre domaines principaux qui définissent un logiciel de qualité :

Objectif

Les attributs

Fonctionnalité

Le logiciel fait ce pour quoi il est prévu. Par exemple, si vous concevez un logiciel de gestion des dépenses, il doit calculer correctement des éléments tels que les taxes et les totaux. Les plans de test d’assurance qualité doivent couvrir tous les tests fonctionnels, idéalement de manière automatisée, afin que tout code nouvellement introduit n’entraîne pas la rupture des fonctions existantes.

Convivialité

L’expérience utilisateur doit être simple, intuitive et efficace. Le logiciel doit également fonctionner correctement et de manière cohérente. Les systèmes de gestion des dépenses, qui sont généralement utilisés le vendredi ou le lundi lorsque les personnes soumettent des notes de frais, devraient fonctionner correctement même pendant ces périodes de forte utilisation. Les tests de performances doivent être inclus dans le cadre d’un plan d’assurance qualité complet.

Fiabilité

Le logiciel doit être opérationnel comme prévu et sans erreur. Un aspect important des tests d’assurance qualité consiste à couvrir autant d’erreurs potentielles et de cas extrêmes que possible, afin que le logiciel puisse s’en sortir dans toutes les circonstances. Par exemple, il doit savoir comment gérer une dépense saisie comme un nombre négatif ou positif.

Sécurité

Le logiciel doit être sécurisé et protéger les données des utilisateurs. Ceci est essentiel pour les logiciels grand public et professionnels. Il est vital d’investir dans de bons tests d’intrusion et d’autres tests de sécurité.

Meilleures pratiques d’assurance qualité pour les chefs de produit

Les chefs de produit doivent faciliter un changement de mentalité et d’attitude au sein de l’équipe afin de construire et de maintenir une culture permettant la création de logiciels de haute qualité. Les meilleures pratiques d’assurance qualité suivantes incluent à la fois des principes généraux et des idées plus spécifiques qui offrent des gains rapides pour gagner l’adhésion et l’élan dans votre parcours vers une assurance qualité solide.

Faites de l’assurance qualité un effort descendant

Promouvez des logiciels de haute qualité et investissez dans les ressources pour garantir une bonne assurance qualité. Lorsque j’étais chef de produit dans une startup, on m’a donné le budget nécessaire pour embaucher une petite équipe d’assurance qualité et obtenir le logiciel d’automatisation des tests nécessaire. Je me suis fait un devoir de développer de bonnes relations avec l’équipe d’ingénierie afin que nous puissions ajuster la conception, le développement et processus de publication pour intégrer des portes d’assurance qualité. Grâce à cet investissement dans l’assurance qualité, nous avons pu produire des logiciels plus rapidement et avec moins de problèmes.

Inculquer un état d’esprit d’assurance qualité au sein de l’équipe

L’assurance qualité n’est pas une chose à laquelle seule l’équipe d’assurance qualité doit penser : elle commence par un chef de produit définissant le produit à travers un ensemble détaillé d’exigences et de critères d’acceptation complets. J’ai appris très tôt dans ma carrière de gestion de produits à ralentir et à considérer toutes les façons potentielles par lesquelles un utilisateur pourrait commettre une erreur ou mal interpréter une fonction. C’est facile d’écrire un document sur les exigences du produit (PRD) qui se concentre sur le meilleur chemin ou scénario par défaut, mais un bon PRD doit également inclure des cas d’erreur et de bord, afin que vous puissiez créer l’expérience la plus intuitive possible. Inculquer ce type d’état d’esprit en matière d’assurance qualité dans votre équipe dès les premières étapes de développement conduit à des logiciels de meilleure qualité.

De plus, la mise en œuvre développement piloté par les tests (TDD) peuvent être très efficaces pour promouvoir un état d’esprit d’assurance qualité. Alors qu’une équipe non-TDD écrirait d’abord le code, puis les cas de test ensuite, ce qui entraîne souvent une refonte du code, TDD signifie que les cas de test sont écrits à l’avance dans le cadre des exigences et utilisés en continu tout au long du processus de développement pour garantir que le code passe. tous les tests avant d’être publié.

Documenter clairement les résultats des tests

Les résultats des tests doivent être bien documentés, en particulier lorsqu’un test échoue. Un processus clair, comprenant des outils permettant un enregistrement rapide et transparent des résultats des tests, qui sont automatiquement acheminés au développeur, aidera l’équipe produit à être plus efficace.

Configurer des jalons réguliers

À chaque étape du développement, mettez en place des jalons d’assurance qualité. Plus un problème est détecté tôt, moins il faudra de perturbations et d’efforts pour le résoudre. La mise en place de tests d’intégration d’assurance qualité à mi-développement, par exemple, signifie que le code peut être rassemblé et testé afin de découvrir les problèmes ou les échecs avant la création de la version finale candidate.

Tirer parti des outils d’automatisation et d’IA

Les outils automatisés de test et de rapport de bogues sont essentiels pour produire rapidement des logiciels de haute qualité, en particulier dans les environnements d’intégration continue et de livraison continue, et ils permettent de gagner beaucoup de temps. J’ai souvent utilisé des plugins Jira, tels que Radiographie ou Échelle de Zéphyrpour faciliter la gestion des cas de test d’assurance qualité.

Il existe également des outils d’IA, récemment devenus disponibles, qui peuvent aider dans certains domaines de l’assurance qualité, comme faciliter la maintenance des tests automatisés. De nombreux tests automatisés reposent sur une seule méthode d’identification d’un élément d’écran, comme son nom ou son emplacement. Actuellement, si un développeur déplace ou renomme un élément d’écran, le test automatisé échouera, même si la fonctionnalité reste la même. Avec l’IA, l’élément d’écran peut être identifié à l’aide de beaucoup plus d’attributs, permettant des modifications sans échec du test. Puis, au fil du temps, l’IA apprend sur quels attributs s’appuyer pour identifier avec précision l’élément de l’écran.

Un autre domaine dans lequel L’IA peut aider les efforts d’assurance qualité est un test autonome. Vous pouvez entraîner l’IA en lui montrant comment les utilisateurs naviguent dans votre application en production. L’IA crée ensuite des scripts de test automatisés qui imitent les flux d’utilisateurs courants. Ceci, combiné à la maintenance des tests automatisés, signifie que vous pouvez obtenir une couverture plus élevée avec des tests plus robustes qui nécessitent moins de maintenance. Découvrez les outils de test basés sur l’IA comme Appvance, Laboratoires de sauceet Témoignage.

Mettre en œuvre un processus d’évaluation par les pairs

La programmation en binôme (une pratique courante en codage selon laquelle un développeur écrit le code et l’autre le révise) peut aider à détecter les bogues avant qu’ils ne soient introduits. Même en tant que chef de produit, j’ai souvent trouvé utile qu’un collègue examine mon document d’exigences, par exemple. Mettre en œuvre des évaluations par les pairs à chaque étape, même pendant la découverte et phases de conception, peut aider à créer un produit plus solide. Il peut être judicieux de demander à quelqu’un de l’équipe d’assurance qualité d’examiner les critères d’acceptation de votre Histoires d’utilisateurs pour s’assurer qu’ils sont clairs et complets.

Test sur plusieurs appareils et aux charges de pointe

Pour les logiciels qui s’exécutent sur plusieurs plates-formes, telles que le Web, iOS et Android, les tests doivent être effectués sur toutes les plates-formes et même sur différentes versions de systèmes d’exploitation et de navigateurs. Des tests de charge spécifiques sont importants pour déterminer s’il existe une dégradation significative des performances aux charges de pointe. Avec les nouvelles versions de navigateur, iOS et Android sortant à des moments différents, il est important d’exécuter des tests régulièrement et pas seulement pendant le cycle de publication de votre propre application. J’ai récemment appris cette leçon à mes dépens lorsqu’une nouvelle version d’Android est sortie et a rendu notre application Android indisponible au téléchargement parce que nous ne l’avions pas mise à niveau.

Améliorez continuellement votre processus d’assurance qualité

Après avoir mis en place un processus d’assurance qualité, assurez-vous de l’évaluer régulièrement, en notant quels aspects fonctionnent ou ne fonctionnent pas, et comment ils peuvent être améliorés. Après un sprint, une équipe de développement organise généralement une rétrospective, réfléchissant à ce qui s’est passé au cours de l’itération et identifiant les actions à améliorer pour l’avenir. Organisez une réunion similaire pour vos processus et procédures globaux d’assurance qualité, ou intégrez l’évaluation de l’assurance qualité dans votre rétrospective existante.

Une assurance qualité robuste signifie une plus grande efficacité, qualité et innovation

Il est essentiel d’investir dans l’assurance qualité afin de produire des logiciels de haute qualité. En tant que chef de produit, vous pouvez mettre en place quelques mesures immédiates pour guider cet effort :

  • Prenez les devants dans la mise en œuvre de techniques d’assurance qualité et plaidez en faveur de ressources et d’outils d’assurance qualité suffisants pour votre équipe.
  • Apportez une perspective d’assurance qualité à rassemblement des exigences et travailler avec l’équipe de développement pour passer à une approche basée sur les tests.
  • Tirez parti des outils d’automatisation pour rendre les processus d’assurance qualité de votre équipe plus faciles et plus efficaces.

En faisant de l’assurance qualité une priorité et en intégrant ces techniques dès le début dans vos processus produits, vos produits seront sans aucun doute de meilleure qualité. En fin de compte, cela permettra non seulement à votre équipe de travailler sur nouvelles innovationsplutôt que de corriger des bugs, cela vous permettra également, en tant que chef de produit, de concrétiser votre vision produit plus rapidement.

Related Articles

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Latest Articles