Qu'est-ce que la méthodologie de test logiciel?
La méthodologie de test de logiciel est définie comme des stratégies et des types de test utilisés pour certifier que l'application en cours de test répond aux attentes des clients. Les méthodologies de test comprennent des tests fonctionnels et non fonctionnels pour valider l'AUT. Des exemples de méthodologies de test sont les tests unitaires, les tests d'intégration, les tests de système, les tests de performance, etc. Chaque méthodologie de test a un objectif de test défini, une stratégie de test et des livrables.
Remarque : étant donné que les tests logiciels font partie intégrante de toute méthodologie de développement, de nombreuses entreprises utilisent le terme méthodologies de développement et méthodologies de test de manière familière. Par conséquent, les méthodologies de test pourraient également faire référence aux modèles Waterfall, Agile et autres modèles d'assurance qualité par rapport à la définition ci-dessus des méthodologies de test. La discussion sur divers types de tests n'ajoute aucune valeur aux lecteurs. Par conséquent, nous discuterons des différents modèles de développement.
Dans ce didacticiel, vous apprendrez-
- Modèle de cascade
- Développement itératif
- Méthodologie agile
- Programmation extrême
- Quelle méthodologie logicielle choisir?
- Comment configurer les méthodologies de test logiciel?
Modèle de cascade
Qu'est-ce que c'est?
Dans le modèle en cascade, le développement logiciel progresse à travers différentes phases telles que l'analyse des exigences, la conception, etc. - de manière séquentielle .
Dans ce modèle, la phase suivante ne commence que lorsque la phase précédente est terminée.
Quelle est l'approche de test?
La première phase du modèle en cascade est la phase des exigences dans laquelle toutes les exigences du projet sont complètement définies avant de commencer les tests. Au cours de cette phase, l'équipe de test réfléchit à la portée des tests, à la stratégie de test et rédige un plan de test détaillé.
Ce n'est qu'une fois la conception du logiciel terminée que l'équipe passera à l'exécution des cas de test pour s'assurer que le logiciel développé se comporte comme prévu.
Dans cette méthodologie, l'équipe de test ne passe à la phase suivante que lorsque la phase précédente est terminée.
Avantages
Ce modèle d'ingénierie logicielle est très simple à planifier et à gérer. Par conséquent, les projets, où les exigences sont clairement définies et énoncées à l'avance, peuvent être facilement testés à l'aide d'un modèle en cascade.
Désavantages
Dans le modèle de cascade, vous ne pouvez commencer par la phase suivante qu'une fois la phase précédente terminée. Par conséquent, ce modèle ne peut pas s'adapter aux événements imprévus et à l'incertitude.
Cette méthodologie ne convient pas aux projets où les exigences changent fréquemment.
Développement itératif
Qu'est-ce que c'est?
Dans ce modèle, un grand projet est divisé en petites parties, et chaque partie est soumise à plusieurs itérations du modèle en cascade. À la fin d'une itération, un nouveau module est développé ou un module existant est amélioré. Ce module est intégré à l'architecture logicielle et l'ensemble du système est testé ensemble
Quelle est l'approche de test?
Dès que l'itération est terminée, l'ensemble du système est soumis à des tests. Les commentaires des tests sont immédiatement disponibles et sont incorporés dans le cycle suivant. Le temps de test requis dans les itérations successives peut être réduit en fonction de l'expérience acquise lors des itérations précédentes.
Avantages
Le principal avantage du développement itératif est que le retour d'expérience du test est immédiatement disponible à la fin de chaque cycle.
Désavantages
Ce modèle augmente considérablement les frais généraux de communication car, à la fin de chaque cycle, un retour d'information sur les livrables, l'effort, etc. doit être donné.
Méthodologie agile
Qu'est-ce que c'est?
Les méthodologies traditionnelles de développement de logiciels partent du principe que les exigences logicielles restent constantes tout au long du projet. Mais avec une complexité croissante, les exigences subissent de nombreux changements et évoluent continuellement. Parfois, le client lui-même n'est pas sûr de ce qu'il veut. Bien que le modèle itératif résout ce problème, il est toujours basé sur le modèle en cascade.
Dans la méthodologie Agile, le logiciel est développé par cycles incrémentiels et rapides. Les interactions entre les clients, les développeurs et les clients sont privilégiées plutôt que les processus et les outils. La méthodologie agile se concentre sur la réponse au changement plutôt que sur une planification approfondie.
Quelle est l'approche de test?
Les tests incrémentiels sont utilisés dans les méthodes de développement agiles et, par conséquent, chaque version du projet est testée de manière approfondie. Cela garantit que tous les bogues du système seront corrigés avant la prochaine version.
Avantages
Il est possible d'apporter des modifications au projet à tout moment pour se conformer aux exigences.
Ces tests incrémentiels minimisent les risques.
Désavantages
L'interaction constante avec le client signifie une pression de temps supplémentaire sur toutes les parties prenantes, y compris le client lui-même, les équipes de développement de logiciels et de test.
Programmation extrême
Qu'est-ce que c'est?
La programmation extrême est un type de méthodologie agile qui croit en des cycles de développement courts. Un projet est divisé en tâches d'ingénierie simples. Les programmeurs codent un simple logiciel et reviennent vers le client pour obtenir des commentaires. Les points de révision du client sont incorporés et les développeurs procèdent à la tâche suivante.
Dans les développeurs de programmation extrêmes, travaillez généralement par paires.
La programmation extrême est utilisée dans les endroits où les exigences des clients changent constamment.
Quelle est l'approche de test?
La programmation extrême suit un développement piloté par les tests qui est décrit comme suit -
- Ajouter un scénario de test à la suite de tests pour vérifier la nouvelle fonctionnalité qui doit encore être développée
- Exécutez tous les tests et évidemment le nouveau cas de test ajouté doit échouer car la fonctionnalité n'est pas encore codée
- Écrivez du code pour implémenter la fonctionnalité / fonctionnalité
- Exécutez à nouveau la suite de tests. Cette fois, le nouveau cas de test devrait réussir puisque le fonctionnellement a été codé
Avantages
Les clients ayant une conception de logiciel vague à l'esprit pourraient utiliser une programmation extrême
Des tests continus et une intégration continue de petites versions garantissent que le code logiciel est de haute qualité
Désavantages
Les réunions entre l'équipe de développement de logiciels et les clients ajoutent aux exigences de temps.
Quelle méthodologie logicielle choisir?
Il existe des tonnes de méthodologies disponibles pour le développement de logiciels et les tests correspondants. Chaque technique et méthodologie de test est conçue dans un but précis et a ses avantages et inconvénients relatifs.
Le choix d'une méthodologie particulière dépend de nombreux facteurs tels que la nature d'un projet, les exigences du client, le calendrier du projet, etc.
Du point de vue des tests, certaines méthodologies poussent à tester les entrées tôt dans le cycle de vie du développement, tandis que d'autres attendent qu'un modèle fonctionnel du système soit prêt.
Comment configurer les méthodologies de test logiciel?
Les méthodologies de test logiciel ne doivent pas être mises en place uniquement pour tester le code logiciel. La vue d'ensemble doit être considérée et l'objectif premier du projet doit être satisfait de la méthodologie de test.
Planification
Une planification réaliste est la clé de la mise en œuvre d'une méthodologie de test réussie et le calendrier doit répondre aux besoins de chaque membre de l'équipe.
Livrables définis
Afin de garder tous les membres de l'équipe sur la même longueur d'onde, des livrables bien définis doivent être fournis. Les livrables doivent contenir un contenu direct sans aucune ambiguïté.
Approche de test
Une fois que la planification est terminée et que les livrables définis sont disponibles, l'équipe de test doit être en mesure de formuler la bonne approche de test. Les documents de définition et les réunions de développeurs doivent indiquer à l'équipe la meilleure approche de test qui peut être utilisée pour le projet.
Rapports
Un reporting transparent est très difficile à réaliser, mais cette étape détermine l'efficacité de l'approche de test utilisée dans le projet.