Tests conventionnels vs tests orientés objet
Le test de logiciels est l'une des étapes les plus importantes du processus de développement de logiciels. Les tests logiciels garantissent que le logiciel développé répond à toutes les exigences du client et s'exécute sans erreur. Alors que les paradigmes et techniques de développement logiciel sont passés du développement logiciel initial en cascade à OOD/Agile et à d'autres concepts plus récents, les tests sont également passés des tests conventionnels (traditionnels) aux tests orientés objet (OOT). Mais comme le développement en cascade est toujours utilisé, les tests conventionnels sont toujours utilisés par les testeurs.
Qu'est-ce que les tests conventionnels ?
Le processus de test conventionnel a lieu principalement lorsque le cycle de vie en cascade est utilisé pour développer des logiciels dans les organisations. Les tests conventionnels ont toujours lieu pendant la phase de test du cycle de vie, qui suit généralement la phase de développement et procède à la phase de mise en œuvre. Au cours de cette phase de test, principalement trois types de tests seront effectués. Les tests du système s'assureront que les fonctionnalités du système satisfont aux exigences du client documentées dans la SRS (Software Requirements Specification), en adoptant généralement une approche de boîte noire. Les tests d'intégration testent la conception préliminaire en adoptant une approche fonctionnelle et de décomposition. Les tests d'intégration sont basés sur la structure de la conception en utilisant une approche descendante ou ascendante. Enfin, les tests unitaires permettent de s'assurer que la conception détaillée est correcte.
Qu'est-ce que le test orienté objet ?
L'utilisation de l'analyse et de la conception orientées objet (OO) avec Agile et d'autres méthodologies récentes de développement de logiciels conduit aux tests orientés objet. Le développement OO est généralement axé sur le comportement. Les tests sont effectués en mettant l'accent sur la composition. Cela signifie que le design est créé pièce par pièce et composé ensemble pour compléter le système complet. Étant donné que le prototypage rapide et une certaine forme d'approche incrémentale sont utilisés pour le développement OO aujourd'hui, les trois niveaux de test conventionnels (système, intégration et test unitaire) ne sont pas clairement visibles dans la conception OO (mais ils existent la plupart du temps). Les tests système (sous les tests OO) adopteront une grande partie de la même approche (boîte noire) que les tests conventionnels et vérifieront la spécification des exigences (car les exigences doivent être vérifiées quel que soit le processus de développement). Les tests unitaires sous test orienté objet sont similaires aux tests unitaires conventionnels, mais la différence fondamentale est la définition de l'unité utilisée. Les unités actuellement acceptées pour les tests unitaires sont les classes et les méthodes.
Quelle est la différence entre les tests conventionnels et les tests orientés objet ?
Les tests conventionnels sont l'approche traditionnelle des tests principalement effectués lorsque le cycle de vie de la chute d'eau est utilisé pour le développement, tandis que les tests orientés objet sont utilisés lorsque l'analyse et la conception orientées objet sont utilisées pour développer des logiciels d'entreprise. Les tests conventionnels se concentrent davantage sur la décomposition et les approches fonctionnelles par opposition aux tests orientés objet, qui utilisent la composition. Les trois niveaux de test (système, intégration, unité) utilisés dans les tests conventionnels ne sont pas clairement définis lorsqu'il s'agit de tests orientés objet. La principale raison en est que le développement OO utilise une approche incrémentielle, tandis que le développement traditionnel suit une approche séquentielle. En termes de tests unitaires, les tests orientés objet examinent des unités beaucoup plus petites par rapport aux tests conventionnels.