Les stubs et les drivers sont deux types de harnais de test. Le harnais de test est la collection de logiciels et de données de test qui est configurée pour que nous puissions tester une unité de programme en simulant différents ensembles de conditions, tout en surveillant le comportement et les sorties.
Les stubs et les pilotes sont tous deux des modules factices et ne sont créés qu'à des fins de test.
Les stubs sont utilisés dans l'approche de test top down, lorsque vous avez le module principal prêt à être testé, mais que les sous-modules ne sont pas encore prêts. Ainsi, dans un langage simple, les stubs sont des programmes "appelés", qui sont appelés pour tester la fonctionnalité du module majeur's.
Par ex. supposons que vous ayez trois modules différents : Login, Home, User. Supposons que le module login est prêt à être testé, mais les deux modules mineurs Home et User, qui sont appelés par le module Login ne sont pas encore prêts à être testés.
À ce moment-là, nous écrivons un morceau de code factice, qui simule les méthodes appelées de Home et User. Ces morceaux de code factice sont les stubs.
D'autre part, les Drivers sont ceux, qui sont les programmes "appelants". Les Drivers sont utilisés dans l'approche de test bottom up. Les Drivers sont du code factice, qui est utilisé lorsque les sous-modules sont prêts mais que le module principal ne l'est toujours pas.
Prenons le même exemple que ci-dessus.Supposons que cette fois, les modules User et Home soient prêts, mais que le module Login ne soit pas prêt à être testé. Maintenant, puisque Home et User renvoient des valeurs du module Login, alors nous écrivons un morceau de code factice, qui simule le module Login. Ce code factice est alors appelé Driver.
Voici un lien qui explique cela à l'aide de schémas fonctionnels : Différence entre stub et driver
.