Différence clé: Stub et Driver sont deux types de codes utilisés dans le développement de logiciels, en particulier dans les tests de logiciels. Les stubs sont utilisés comme fonctions dans l'intégration descendante, alors que les pilotes sont utilisés comme fonctions dans l'intégration ascendante. Les stubs et les pilotes sont couramment utilisés pour le portage, l'informatique distribuée, ainsi que pour le développement et les tests de logiciels en général.
Stub et Driver sont deux types de codes utilisés dans le développement de logiciels, en particulier dans les tests de logiciels. Lors du développement du logiciel, il est parfois nécessaire de tester une partie du code. Cela permet au développeur de s’assurer que cette partie du code fonctionne correctement avant de passer à la partie suivante du code. Toutefois, cette partie du code peut ne pas fonctionner correctement sans les entrées des autres parties du code, qui n'ont pas encore été écrites. C'est ici que les codes factices sont utiles.
Les codes factices sont des pseudocodes, ce qui signifie qu’il s’agit de faux codes qui aident à stimuler le comportement du code existant. Cela signifie que le développeur peut utiliser ces codes factices à la place des parties du code qui n'ont pas encore été écrites afin de reproduire les résultats fournis par le code d'origine. Ces sorties peuvent ensuite être utilisées pour tester la partie du code qui a été écrite.
Les stubs et les drivers sont deux types différents de codes factices et sont donc utilisés différemment. Les stubs sont utilisés comme fonctions dans l'intégration descendante, alors que les pilotes sont utilisés comme fonctions dans l'intégration ascendante. Les stubs et les pilotes sont couramment utilisés pour le portage, l'informatique distribuée, ainsi que pour le développement et les tests de logiciels en général.
Supposons qu'il y ait trois morceaux de code: A, B et C et qu'ils vont dans cette direction, c'est-à-dire A-> B -> C. Maintenant, le code A a été développé et doit être testé, mais les codes B et C doivent encore à développer, et le code A ne fonctionnera pas sans l'entrée de B et C. Par conséquent, les stubs sont utilisés à la place de B et C. Ces stubs imitent les codes B et C et donnent même des résultats similaires à ceux de B et C donnerait. C'est ce qu'on appelle l'intégration descendante, c'est-à-dire tester de haut en bas.
De même, imaginez maintenant que les codes B et C ont été développés et doivent être testés. Cependant, le code A doit encore être développé, et de même, les deux autres codes ne fonctionneront pas sans les entrées du code A. Par conséquent, un pilote peut être utilisé. utilisé à la place du code A. Ce pilote imiterait alors le code A et donnerait les entrées à B et C, de la même manière que le code A actuel. C'est ce qu'on appelle l'intégration ascendante, c'est-à-dire tester de bas en haut.
Les stubs et les drivers sont essentiellement des routines qui ne font réellement rien, sauf se déclarer et les paramètres qu'ils acceptent. Le reste du code peut alors prendre ces paramètres et les utiliser comme entrées. Les stubs et les pilotes sont simplement utilisés comme espaces réservés pour les routines, c'est-à-dire des codes qui doivent encore être développés. Par conséquent, les stubs et les pilotes contiennent juste assez de code pour lui permettre d'être compilés et liés au reste du programme.
Comparaison entre Stub et Driver:
Talon | Chauffeur | |
Type | Codes factices | Codes factices |
La description | Les routines qui ne font réellement rien sauf se déclarer et les paramètres qu’elles acceptent. Le reste du code peut alors prendre ces paramètres et les utiliser comme entrées | Les routines qui ne font réellement rien sauf se déclarer et les paramètres qu’elles acceptent. Le reste du code peut alors prendre ces paramètres et les utiliser comme entrées |
Utilisé dans | Intégration descendante | Intégration ascendante |
Objectif | Pour permettre de tester les niveaux supérieurs du code, lorsque les niveaux inférieurs du code ne sont pas encore développés. | Pour permettre de tester les niveaux inférieurs du code, lorsque les niveaux supérieurs du code ne sont pas encore développés. |