Que fait une équipe d'assurance qualité dans le développement de logiciels si elle ne trouve pas de bogues quotidiennement ?
Publié: 2023-01-27Les ingénieurs en assurance qualité (QA) entendent souvent ceci :
"Votre équipe a détecté vingt bugs hier, mais aujourd'hui vous n'en avez aucun !"
Cette position, aussi valable qu'elle puisse paraître, contredit le but et les objectifs mêmes de l'assurance qualité dans le développement de logiciels.
Que fait exactement un QA dans le développement de logiciels ?
Dans cet article, Andrey Gilyov, chef adjoint de l'unité QA chez ITRex, explique pourquoi votre équipe QA n'est pas inactive même si elle trouve moins de bogues. De plus, vous apprendrez pourquoi vous devriez toujours embaucher des ingénieurs QA pour augmenter votre équipe informatique interne ou externalisée au lieu de faire tester le code par des ingénieurs logiciels.
Comprendre les objectifs d'assurance qualité et pourquoi ils ne se limitent pas au suivi des bogues
Selon le type et la complexité d'une solution logicielle que vous cherchez à créer, vous aurez peut-être besoin d'un spécialiste de l'assurance qualité à temps partiel ou d'une équipe d'assurance qualité dédiée affectée à votre projet. Et leurs responsabilités s'étendent bien au-delà de la détection des bogues et de leur signalement au chef de projet et à l'équipe de développement.
En particulier, les objectifs d'assurance qualité couvrent :
- Prévention des erreurs. Des enquêtes récentes indiquent que les ingénieurs logiciels passent environ 20 % de leur temps à corriger des bogues. Multipliez ce temps par le taux horaire moyen d'un ingénieur logiciel et vous réaliserez combien de code défectueux pourrait coûter à votre entreprise. Le prix de la correction des erreurs augmente également de façon exponentielle avec le temps passé dans le flux de travail de développement logiciel - sans parler des implications à long terme de la mise en production de logiciels bourrés de bogues, comme les vulnérabilités de sécurité, la diminution de l'expérience client et les pertes de réputation. Ainsi, l'objectif principal de l'assurance qualité dans le développement de logiciels consiste à trouver des bogues avant qu'ils ne causent des dommages importants. Pour accomplir cet exploit, une équipe d'assurance qualité se prépare aux tests bien avant de mettre la main sur une solution logicielle. Ces activités de préparation comprennent l'examen de la documentation de test, la rédaction d'un plan de test et de cas de test, le choix des outils de test appropriés et la configuration de l'environnement de test.
- Suivi et évaluation de l'état du logiciel. Pour prendre des décisions éclairées dans les projets logiciels, le chef de projet et le client ont besoin d'informations à jour sur le produit logiciel sur lequel ils travaillent. Les objectifs d'assurance qualité, entre autres, incluent la fourniture de ces informations à une période donnée tout au long de la chronologie du projet logiciel. Il convient toutefois de mentionner que les ingénieurs en assurance qualité ne choisissent pas le meilleur moment pour la mise en service d'une solution logicielle. Au lieu de cela, c'est le client qui prend la décision finale. Après avoir consulté l'équipe QA, un client peut même décider de déployer une solution logicielle contenant des bogues et des erreurs documentés ! Par exemple, vous pouvez prendre une telle décision lorsque le délai de sortie de votre produit est relativement serré et que le compromis entre la récompense - c'est-à-dire dépasser la concurrence ou activer une fonctionnalité critique - est plus important que le risque de le lancer avec des bogues mineurs. Dans tous les cas, vous devez détecter, documenter et hiérarchiser ces bogues, et c'est également l'un des objectifs de votre équipe d'assurance qualité.
- Validation des exigences. Le rôle principal de l'assurance qualité dans le développement de logiciels est de confirmer que votre solution logicielle fonctionne comme prévu et répond à tous les critères définis par le document de spécification des exigences logicielles (SRS). Lorsque les spécialistes de l'assurance qualité effectuent des tests manuels ou automatisés et identifient des bogues, ils créent un ticket dans un système logiciel de suivi des bogues comme Jira ou ClickUp pour l'équipe de développement. Une fois que l'équipe de développement a corrigé les erreurs, le cycle de test se répète. Ainsi, trouver des bogues n'est pas le but de l'assurance qualité ; il s'agit plutôt d'un produit secondaire des activités d'AQ.
Les équipes d'assurance qualité échouent parfois à trouver des bogues. Et c'est bon
Maintenant que vous avez compris les buts et objectifs de l'assurance qualité, revenons à la question que nous avons soulevée au début de cet article.

Que fait une équipe d'assurance qualité dans le développement de logiciels si ses rapports de bogues ne contiennent aucun défaut pendant des jours ?
Il y a plusieurs raisons pour lesquelles les spécialistes QA peuvent ne pas trouver de bugs dans votre logiciel :
- Le logiciel a été minutieusement testé. Si la solution logicielle a subi des tests approfondis, il est moins probable que des bogues soient présents lorsque le cycle d'AQ se répète ou que le produit entre en production.
- Le logiciel a une conception simple. Les applications avec un ensemble de fonctionnalités limité, des intégrations et des interfaces utilisateur simples sont moins susceptibles de contenir des bogues que les logiciels avec des exigences d'architecture et de performances plus complexes.
- Le logiciel est construit en utilisant les meilleures pratiques. Les équipes d'ingénierie logicielle qui écrivent du code propre et bien documenté, suivent les normes de codage et utilisent le contrôle de version fournissent souvent des produits logiciels avec peu d'erreurs. Ces bogues sont détectés et corrigés au début du processus de test, et aucun autre défaut ne se manifestera dans les étapes ultérieures.
- Le processus de test aurait pu être plus complet. Un manque de temps, de ressources ou de compétences peut empêcher les spécialistes de l'AQ de tester minutieusement votre solution logicielle. De ce fait, certaines erreurs peuvent passer inaperçues.
- Les bugs ne sont pas reproductibles. Parfois, les spécialistes de l'assurance qualité peuvent ne trouver aucun bogue car les erreurs ne se produisent pas de manière cohérente. Divers facteurs, notamment la complexité du logiciel, l'utilisation de bibliothèques tierces ou la présence de dépendances externes, peuvent conduire à de telles situations.
Quelle qu'en soit la cause, vous ne devez pas sous-estimer l'importance de l'assurance qualité dans le développement de logiciels, et encore moins jouer avec l'idée de permettre aux développeurs de tester le code pour vous.
Ne vous méprenez pas : les développeurs peuvent écrire et exécuter des tests automatisés dans des équipes Agile interfonctionnelles. Ou même tester le logiciel manuellement.
Cependant, dans de telles équipes, où les rôles de projet sont souvent partagés, l'objectif principal est de publier plus rapidement des logiciels ou des fonctionnalités fonctionnels, en réduisant le délai de rentabilisation et en recueillant des commentaires dès le début. Ici, nous pourrions avoir affaire à la question du risque par rapport à la récompense décrite dans la section précédente. Et votre projet pourrait ainsi accumuler une dette technique, entraînant des problèmes de performances et des coûts de débogage importants à l'avenir.
Les autres raisons d'embaucher des spécialistes AQ dédiés sont les suivantes :
- Savoir coder n'équivaut pas à savoir comment réviser le code pour détecter d'éventuelles erreurs
- Les développeurs aiment rarement les tests, contrairement aux experts en assurance qualité
- Les taux horaires des ingénieurs logiciels sont généralement plus élevés que ceux des spécialistes de l'assurance qualité
- Les développeurs et les ingénieurs QA ont normalement des compétences non techniques différentes. Pour les AQ, le souci du détail, la capacité d'analyser des systèmes complexes et le multitâche occupent une place centrale. D'autre part, les ingénieurs logiciels travaillent souvent dans des environnements collaboratifs et se concentrent sur une seule tâche à la fois.
Ainsi, même si votre équipe d'assurance qualité n'a trouvé aucun bogue aujourd'hui, ne soyez pas tenté de licencier des spécialistes de l'assurance qualité ou de confier des tâches de test à l'équipe de développement principale. Même si cette approche peut réduire votre salaire à court terme, le coût de la perte de vos clients en raison de mauvaises performances logicielles ou de cyberattaques liées à des bogues peut être plusieurs fois plus élevé.
Et si vous avez besoin d'aide pour valider que votre logiciel fonctionne bien, répond à toutes les exigences spécifiées dans votre SRS ou votre vision technique, et vous aide à atteindre vos objectifs commerciaux, contactez les experts ITRex QA !
Publié initialement sur https://itrexgroup.com le 20 janvier 2023.
