Qu'est-ce que la documentation AQ et comment pouvons-nous réduire ses coûts de création et de maintenance ?
Publié: 2023-08-01Andrii Hilov, responsable de l'équipe QA chez ITRex, a écrit un autre article sur les défis et les pièges de l'assurance qualité dans les projets logiciels. Cette fois, Andrii se penche sur la documentation d'assurance qualité et le rôle qu'elle joue dans le développement de logiciels hautes performances - dans les délais, dans les limites du budget et conformément à vos objectifs commerciaux.
Voici ce qu'il a à dire à ce sujet.
En tant que chef d'équipe QA dans une société de développement de logiciels d'entreprise ITRex, je suis parfaitement conscient des aspirations de nos clients à réduire les coûts de développement de logiciels tout en lançant un produit entièrement fonctionnel dans les délais et avec une valeur maximale.
Bien que ces objectifs soient compréhensibles, je déconseille de licencier votre équipe d'assurance qualité au début du projet, même si elle ne trouve pas de bogues quotidiennement, bien que cela puisse sembler une option facile pour réduire le salaire et accélérer les cycles de publication de logiciels.
De plus, je vous recommande de suivre les meilleures pratiques d'assurance qualité tout au long du projet pour valider que votre solution et toutes ses fonctionnalités fonctionnent comme prévu et ne compromettent pas votre cybersécurité.
Et l'une de ces pratiques consiste à créer et à maintenir une documentation d'assurance qualité appropriée.
Qu'est-ce que la documentation d'assurance qualité exactement ? Comment peut-il vous aider à tirer le meilleur parti de l'utilisation des services d'assurance qualité et de test ? Et existe-t-il un moyen d'optimiser les coûts et les efforts associés à la préparation de la documentation d'assurance qualité tout en minimisant le risque de développer une application mal architecturée et bourrée de bogues et d'avoir à tout reconstruire à partir de zéro ?
Découvrons-le!
Introduction à la documentation d'AQ
La documentation d'assurance qualité est une collection de documents et d'artefacts créés et maintenus par une équipe d'assurance qualité au cours du processus de développement et de test du logiciel.
Il peut inclure divers documents décrivant la stratégie de test, les plans de test, les cas de test, les scripts de test, les données de test, les journaux de test, les rapports de bogue et toute autre documentation liée aux activités d'assurance qualité. Ces documents facilitent la communication entre les membres de l'équipe d'assurance qualité, fournissent des directives pour les tests et aident à identifier et à résoudre efficacement les problèmes.
Ainsi, la documentation d'assurance qualité joue un rôle essentiel pour garantir la qualité et la fiabilité des produits logiciels - et c'est l'objectif principal que poursuivent nos clients.
Quels documents d'assurance qualité sont utilisés dans les projets logiciels
Pour les besoins de cet article, nous vous donnerons un bref aperçu des documents d'assurance qualité qui constituent l'épine dorsale de la documentation de test dans un projet de développement logiciel :
- Un plan de test est un document d'assurance qualité qui décrit l'approche globale, les objectifs, la portée, les ressources et le calendrier des activités de test logiciel. En termes simples, il couvre :
- Le nom et la description d'un projet, y compris les types d'applications en cours de test et leurs fonctionnalités principales
- Les méthodes de test préférées (manuel, automatisé, mixte) et les types de test (nouvelles fonctionnalités, intégrations, compatibilité, régression, etc.)
- Les fonctionnalités qui doivent être testées, ainsi qu'un calendrier approximatif pour chaque activité de test
- Composition optimale de l'équipe
- Un aperçu des risques et des problèmes qui pourraient survenir au cours du processus de test
- Une liste des documents de test que votre équipe d'assurance qualité utilisera pendant le projet
Une règle d'or consiste à rédiger un plan de test au début d'un projet logiciel lorsque votre équipe informatique définit les exigences fonctionnelles et non fonctionnelles d'une solution logicielle, choisit une pile technologique et une méthodologie de gestion de projet appropriées et crée une feuille de route de projet.
Il faut normalement jusqu'à trois jours pour mettre en place et réviser un plan de test simple sans cas de test.
- Les scénarios de test décrivent des scénarios de test spécifiques, y compris les données d'entrée, les résultats attendus et les étapes à exécuter. Les scénarios de test sont conçus pour vérifier la fonctionnalité, les performances ou d'autres aspects d'un produit logiciel. Veuillez noter que les scénarios de test sont utilisés à la fois par les services de test manuel et les équipes des services d'automatisation de l'assurance qualité. De cette façon, vous assurerez une couverture de test maximale, ce qui signifie qu'aucun bogue ne se manifestera dans le code de production.
Même si un ingénieur QA qualifié peut écrire un cas de test de haut niveau en seulement dix minutes, le nombre de cas de test pour un projet de taille moyenne peut facilement dépasser 4 000 (et plus encore). Multipliez ce nombre par le taux horaire moyen d'un ingénieur QA intermédiaire (65 $ par heure de travail pour le marché nord-américain) et vous arriverez à un chiffre impressionnant.
- Les listes de contrôle sont des listes concises et détaillées d'actions ou de tâches qui doivent être effectuées ou vérifiées pendant le processus de test. Ainsi, une liste de contrôle dans la documentation d'AQ comprend généralement un récapitulatif complet des modules fonctionnels, des sections, des pages et d'autres éléments d'une application ou d'un système cyber-physique qui nécessitent l'attention d'une équipe d'AQ.
Dans les petits projets, les listes de contrôle peuvent remplacer avec succès les cas de test détaillés (nous en reparlerons plus tard).
- Les scripts de test sont des morceaux de code écrits à l'aide d'outils ou de cadres de test spécifiques, tels que Selenium, Appium et Cucumber. Ces scripts automatisent l'exécution des cas de test, rendant le processus de test plus efficace, en particulier dans les projets logiciels complexes et de grande envergure tels que les systèmes SaaS multi-locataires et les applications B2C populaires, qui sont fréquemment mises à jour et où même les plus petits bugs peuvent avoir un impact négatif sur l'expérience utilisateur. .
- Les données de test sont les données utilisées par les ingénieurs AQ pour évaluer les performances, la fonctionnalité, la fiabilité et la sécurité d'une solution logicielle dans diverses conditions. Il peut inclure des exemples de valeurs d'entrée, des conditions aux limites et divers scénarios. Par exemple, votre équipe d'assurance qualité peut utiliser des données de test positives et négatives pour valider que seuls les identifiants de connexion corrects peuvent être utilisés pour entrer dans un système logiciel. De même, les données de test peuvent être utilisées pour mettre en œuvre des restrictions d'âge dans certains types d'applications ou pour étudier comment une application gère des charges de travail accrues.
- Les journaux de test documentent le processus d'exécution des tests, y compris la date et l'heure de l'exécution des tests, le résumé des cas de test exécutés, les résultats obtenus par votre équipe d'assurance qualité, les captures d'écran et tout problème ou observation noté pendant les tests. Un journal de test est une source d'informations essentielle pour suivre la progression des tests, identifier les modèles ou les tendances dans les résultats des tests et fournir un enregistrement historique des activités de test. Il permet d'identifier et de résoudre efficacement les problèmes et sert de référence pour les futurs efforts de test ou audits.
- Les rapports de défauts ou de bogues sont des documents de test qui détaillent les défauts et les problèmes détectés lors des activités d'assurance qualité. Plus précisément, ils décrivent les bogues détectés, leur gravité et leur priorité, ainsi que les conditions dans lesquelles les défauts se produisent. Un responsable de l'assurance qualité utilise des rapports de bogues pour attribuer des tâches aux spécialistes des tests de logiciels et suivre leur statut.
- Une matrice de traçabilité cartographie la relation entre les cas de test et les exigences ou autres artefacts. Il aide à garantir que toutes les exigences sont correctement couvertes par les cas de test, permet de suivre la couverture des tests tout au long du projet et élimine les activités de test redondantes.
- Un rapport d'achèvement de test résume les activités de test effectuées dans un projet, y compris l'état d'exécution du test, le nombre de cas de test exécutés, les défauts trouvés et toutes les tâches en attente.
Pourquoi la documentation d'assurance qualité est-elle importante ?
Disposer d'une documentation d'assurance qualité permet d'atteindre les résultats exacts attendus par le client et l'équipe d'ingénierie logicielle.
Ceci est réalisé par une combinaison de facteurs, dont les suivants :
- La documentation d'assurance qualité fournit des instructions et des directives claires que les spécialistes des tests de logiciels peuvent suivre pour effectuer des tâches de manière cohérente, en réduisant les variations et en améliorant la qualité globale des produits ou des services.
- La documentation d'assurance qualité réduit la probabilité de détecter des défauts et des erreurs critiques dans les solutions logicielles tard dans le processus de développement, jouant ainsi un rôle central dans le contrôle budgétaire. Les experts en assurance qualité suggèrent que le coût de la correction des bogues augmente de façon exponentielle à chaque étape du projet, allant de 3X pour la phase de conception/architecture à 30X et plus pour la phase de déploiement.
- La documentation d'assurance qualité aide à garantir la conformité aux exigences réglementaires et aux normes que votre organisation doit respecter en simplifiant les audits et en fournissant des preuves des processus, procédures et contrôles qualité établis.
- En documentant les procédures, les contrôles et les processus d'évaluation des risques, la documentation des tests de logiciels aide les organisations à identifier les risques potentiels et à prendre des mesures préventives pour minimiser leur impact sur leur activité et la satisfaction de leurs clients.
- Les nouvelles recrues peuvent se référer à votre documentation d'AQ pour comprendre les processus et procédures de qualité d'un projet logiciel, réduire la courbe d'apprentissage et assurer une formation cohérente dans toute l'organisation.
- En documentant les non-conformités, les actions correctives et les leçons apprises, les entreprises peuvent identifier les domaines à améliorer et mettre en œuvre des changements pour améliorer l'efficacité et la qualité.
- Le fait de disposer de processus et de procédures d'assurance qualité bien documentés peut renforcer la confiance des clients dans les produits ou services de votre entreprise. Une documentation complète sur les tests de logiciels démontre un engagement envers la qualité et garantit que l'organisation dispose de systèmes robustes en place pour fournir des résultats cohérents et fiables.
- Dans les situations où des litiges juridiques ou des rappels de produits surviennent, la documentation d'AQ peut servir de preuve importante. Il peut démontrer que votre organisation a suivi les processus de qualité établis, pris les précautions nécessaires et rempli ses obligations.
Combien de temps faut-il pour créer une documentation d'assurance qualité ?
Une réponse honnête à cette question sera : « Cela dépend.
Plus précisément, le délai et les coûts associés dépendent de plusieurs facteurs, tels que la taille de votre organisation et la complexité de ses processus, le secteur dans lequel vous évoluez et le type de logiciel que vous créez.
Si vous vous êtes déjà lancé dans des projets de développement de logiciels et que vous disposez d'une équipe d'assurance qualité interne, vous pourrez peut-être réutiliser la documentation d'assurance qualité existante pour de nouveaux projets. L'utilisation de modèles et d'outils spécialisés pour créer et maintenir la documentation de test de logiciels, tels que la gestion de projet et les logiciels wiki, est également utile.
Avez-vous toujours besoin d'une documentation d'AQ — et est-il possible de réduire ses coûts de création et de maintenance ?
Aussi utile soit-elle, la documentation d'assurance qualité peut augmenter les coûts d'un projet logiciel en raison des efforts et du personnel supplémentaires requis pour sa création et sa maintenance.
Cela pourrait être un problème pour les startups opérant avec peu de ressources ou pour les entreprises en cours de transformation numérique en période de récession.
Est-ce que chaque type de projet logiciel a besoin d'une documentation d'assurance qualité très détaillée et est-il possible de réduire les coûts qui y sont associés ?
Pour déterminer la meilleure approche de création de documents d'assurance qualité, tenez compte des facteurs suivants :
- Taille et budget du projet . Dans le cas de projets à petit budget et à court terme (à moins que nous ne parlions de projets hautement innovants et techniques exécutés par de grandes équipes informatiques), il n'est pas nécessaire de compliquer excessivement le processus de documentation, de sorte que votre équipe d'assurance qualité peut opter pour des listes de contrôle plutôt que des listes détaillées. cas de test. Concernant le document de plan de test, qui détermine la stratégie globale de test, on peut également renoncer à le rédiger dans les cas où il n'y a pas de budget pour cela ou si le projet est de courte durée et n'implique pas de technologies de pointe.
- Taille et expérience de l'équipe d'AQ . Plus il y a d'ingénieurs QA sur le projet et moins ils ont d'expérience en assurance qualité, plus il est difficile de contrôler le processus de test. Par conséquent, vous avez besoin d'une documentation complète sur l'assurance qualité pour garder les membres de l'équipe sur la même longueur d'onde. Dans de tels cas, il est conseillé de se tourner vers des cas de test plutôt que des listes de contrôle pour répartir plus efficacement les tâches entre les ingénieurs en fonction de leur expérience et de leurs connaissances, et d'impliquer des spécialistes de l'assurance qualité plus expérimentés, qui ont normalement des taux horaires plus élevés, dans la création de cas de test.
- Approche agile ou en cascade de la gestion de projet . Bien que l'équipe ITRex ait résumé les principales différences entre les méthodologies Agile et Waterfall dans ce billet de blog, il convient de mentionner ce qui distingue les deux approches en termes d'assurance qualité. Dans Waterfall, les tests logiciels sont enregistrés pour la fin, ce qui signifie que votre équipe QA n'effectuera des tests que lorsque la partie codage sera terminée à 100 %. Pour des raisons évidentes, ils ne peuvent pas le faire sans une documentation d'assurance qualité appropriée, qui doit être préparée pendant la phase d'élicitation des exigences. Dans Agile, où les équipes informatiques ont tendance à créer des logiciels plus petits de manière itérative et à tester le code à la fin de chaque cycle, une documentation d'assurance qualité complète et créative n'est pas préférée au préalable. Néanmoins, je vous recommande de rédiger un plan de test pour mieux aligner la situation actuelle sur les attentes du client et des ingénieurs logiciels.
Dans l'ensemble, disposer d'une documentation d'AQ pourrait bénéficier à tout projet de développement logiciel, quelles que soient sa complexité et sa taille.
En tant qu'entreprise orientée client, cependant, nous sommes toujours prêts à suggérer des solutions de contournement en tenant compte de vos objectifs et de votre budget.
Si vous n'êtes pas sûr de devoir préparer une documentation d'assurance qualité complète pour votre projet et que vous recherchez des ingénieurs QA qualifiés à qui confier cette tâche, contactez ITRex ! Nous veillerons à ce que vous lanciez une solution logicielle hautes performances et sans bogue dans les délais, dans les limites du budget et conformément aux spécifications !
Publié initialement sur https://itrexgroup.com le 30 juin 2023.