Dans le monde du développement logiciel Agile, les tests logiciels ne sont pas une seule étape effectuée juste avant la sortie de votre application. Au lieu de cela, les tests de logiciels sont un processus complexe à multiples facettes impliquant de nombreuses phases et activités spécifiques menées de manière méthodologique et parallèlement au processus de développement. Et tout comme il existe un cycle de vie de développement logiciel (SDLC) pour créer l’application, il existe un cycle de vie de test logiciel (STLC) pour la valider.
« Le cycle de vie des tests logiciels (STLC) est une séquence d’activités de vérification et de validation effectuées au cours du développement logiciel pour garantir que les objectifs de qualité du logiciel testé sont pleinement atteints. ”.
Phases STLC
Chaque phase STLC est associée à certains critères d’entrée et de sortie, ainsi qu’à ses propres livrables. Et votre équipe de test de logiciels ne doit pas entrer dans la phase suivante du cycle de vie de l’assurance qualité tant qu’elle ne s’est pas assurée que les critères de sortie de la précédente sont remplis et qu’elle dispose de tous les livrables nécessaires pour passer à autre chose.
Examinons maintenant les activités et les livrables pour chaque phase de chacune des phases du cycle de vie des tests logiciels.
1. Analyse des besoins
À ce stade du cycle de vie des tests logiciels, les ingénieurs QA travaillent à la fois au sein de leur propre équipe et de manière interfonctionnelle. Ils étudient en profondeur les objectifs commerciaux, les fonctionnalités à concevoir et à prendre en charge, ainsi que les exigences système détaillées, y compris les spécifications fonctionnelles et non fonctionnelles. En cas de doute ou de manque de certaines informations en raison de zones peu claires dans la documentation, l’équipe d’assurance qualité s’adresse aux spécialistes techniques et commerciaux du projet pour obtenir des éclaircissements jusqu’à ce que tout soit clair comme le jour.
Activités
- Recueillir des informations sur les priorités de développement et de test.
- Préparer le document RTM (Requirement Traçability Matrix) pour le projet.
- Identifier les types de tests à effectuer sur le projet.
- Réaliser une analyse de faisabilité pour l’automatisation des tests (au cas où l’équipe QA décide d’automatiser certains tests).
Livrables
- Matrice de traçabilité des exigences.
- Rapport de faisabilité de l’automatisation des tests.
2. Planification des tests
La deuxième phase STLC est celle où l’équipe d’assurance qualité détermine les ressources et les efforts nécessaires pour mettre en œuvre le projet en fonction des données collectées et traitées lors de la phase d’analyse des exigences. L’objectif principal de cette phase est de fournir à l’ensemble de l’équipe du projet une documentation sur la manière dont les tests seront organisés, abordés et exécutés au cours du projet, y compris le calendrier des tests et les éventuelles limitations des tests.
Activités
- Estimez l’effort requis pour le projet.
- Déterminer les rôles et les responsabilités.
- Préparer les listes d’exigences matérielles et logicielles pour l’environnement de test.
- Préparer la documentation nécessaire au lancement du projet.
Livrables
- Plan de test
- Document de stratégie de test
- Document d’estimation de l’effort
3. Conception et développement de cas de test
Avec un plan et une stratégie de test solides en place, l’équipe d’assurance qualité peut commencer à préparer les tests réels. Le processus de conception et de développement implique la création, la vérification et la refonte des scénarios de test et des scripts d’automatisation des tests basés sur les données du plan de test. L’équipe prépare également les données de test pour étoffer les détails des tests structurés qu’ils exécuteront. Tous les cas de test/scripts créés au cours de cette phase seront continuellement maintenus et mis à jour au fil du temps pour valider les fonctionnalités nouvelles et existantes au cours du développement.
Activités
- Créer des cas de test
- Créer des scripts d’automatisation des tests (au cas où l’équipe QA décide d’automatiser certains tests).
- Examinez et basez les cas de test et les scripts d’automatisation des tests.
- Créer des données de test
Livrables
- Cas de test
- Tester les scripts d’automatisation
- Données de test
4. Configuration de l’environnement de test
En bref, le but de l’étape de l’environnement de test des phases de test du logiciel est de fournir à l’équipe d’assurance qualité un cadre dans lequel elle peut exercer le code nouveau et modifié fourni par l’équipe de développement, localiser les défauts et erreurs possibles, puis contacter le développeur responsable. , en leur fournissant un rapport de test détaillé. Différents types de tests suggèrent différents types d’environnements de test. Il est également important de mentionner que selon le degré de sophistication de votre environnement de test, les tests peuvent être effectués séquentiellement ou en parallèle (certains ou tous à la fois).
Lors de la configuration d’un environnement de test, l’équipe d’assurance qualité prend en compte toute une gamme de paramètres tels que le matériel, les logiciels, les frameworks, les données de test, les configurations et les réseaux. Ces paramètres sont ensuite ajustés en fonction de ce qu’exige un cas de test particulier.
Activités
- Configurer l’environnement de test
- Essayez l’environnement de test avec une série de tests de fumée.
Livrables
- L’environnement de test est configuré et prêt à fonctionner.
5. Exécution des tests
Ensuite, dans le STLC, il y a la partie du cycle de vie de l’AQ que tout le monde connaît bien, à savoir le test lui-même. Suite au plan de test, l’équipe QA exécute tous les cas de test et les scripts d’automatisation de test qu’ils ont préparés dans les environnements de test qu’ils ont bien configurés. Le processus de test de logiciels implique toutes sortes de tests fonctionnels et non fonctionnels différents où les testeurs de logiciels identifient les bogues et fournissent à l’équipe de projet des rapports de test détaillés. Ensuite, une fois que les développeurs ont introduit les correctifs nécessaires, l’équipe d’assurance qualité exécute une série de nouveaux tests pour s’assurer que tous les défauts signalés ont été traités.
Activités
- Exécuter les tests selon le plan de test.
- Documentez les résultats des tests.
- Mappez les problèmes trouvés aux cas de test dans RTM.
- Retestez les correctifs fournis par l’équipe de développement.
- Suivez chaque défaut et erreur jusqu’à la clôture.
Livrables
- Rapports de test détaillés
- Cas de test mis à jour avec les résultats.
- RTM terminé avec le statut d’exécution.
6. Clôture du cycle de test
La dernière des phases du cycle de vie des tests logiciels implique plusieurs activités, telles qu’une collecte de métriques de test et des rapports d’achèvement de test. Ainsi, l’équipe QA résume et partage les résultats de son travail avec le reste de l’équipe. Le principal artefact de cette phase est le rapport de clôture d’essaiun document d’analyse détaillé qui fournit des données sur les types de tests effectués, les processus suivis, le nombre de cycles de test effectués, etc.
Activités
- Évaluer l’achèvement du cycle.
- Préparer les métriques de test
- Préparer un rapport de clôture de test détaillé.
Livrables
À partir de là, l’équipe de projet planifie l’application pour le support et la publication, y compris l’analyse de tous les artefacts de test et la construction d’une stratégie de test pour une croissance et une extension supplémentaires de l’application.
Pour résumer
Le cycle de vie des tests logiciels est là pour une raison : une connaissance sans faille des phases STLC permet à l’équipe de planifier correctement son travail, de donner des estimations précises au client et de savoir à quels résultats s’attendre à chaque étape du processus.
Être conscient des phases de test du logiciel est également bénéfique pour le propriétaire du produit, car cela aide à créer des estimations de temps et de budget appropriées. Cela peut être particulièrement utile lorsque vous travaillez avec une équipe de test de logiciels externalisée lorsque le client ne peut pas contrôler autant les opérations quotidiennes qu’avec une équipe interne.