Stubs en drivers
Voor het testen van systemen of delen van systemen worden vaak stubs en drivers gebruikt. Ze worden gebruikt om de nog niet aanwezige software te vervangen en de interface op een simpele manier te simuleren.
Stubs en drivers kunnen elk gewenst (test) gedrag simuleren. Dit is vooral handig als de stub (echte) software fouten kan ontvangen en daarop ook kan anticiperen en fouten kan terugsturen. Dit geldt ook voor een driver die foutieve invoer kan injecteren.
Voorbeeld
Stel er worden 2 modules gebouwd. Module 1 berekent de verkoopprijs inclusief BTW. Welk BTW percentage (0, 6 of 21%) gebruikt moet worden, wordt bepaald door module 2.
Situatie 1
Module 1 is gebouwd en kan getest worden. Module 2 is nog niet gebouwd. Module 1 kan echter niet getest worden zonder module 2. Om toch te kunnen testen wordt voor module 2 een stub gemaakt. Deze stub kan worden aangeroepen door module 1 en geeft de waarde 0, 6 of 21% terug aan module 1 waardoor de berekening van de verkoopprijs kan worden uitgevoerd. De tester dient te bepalen welke waarde er wordt teruggegeven door de stub, anders is het niet mogelijk de resultaten te voorspellen en te beoordelen.
Situatie 2
Module 2 is gebouwd en kan getest worden. Module 1 is nog niet gebouwd. Module 2 kan echter niet getest worden zonder module 1. Om toch te kunnen testen wordt voor module 1 een driver gemaakt. Deze driver roept module 2 aan en geeft als input een waarde die voor module 2 bepalend is voor het BTW-percentage dat moet worden teruggegeven. Ook in deze situatie dient de tester te bepalen welke waarde er wordt meegegeven door de driver, anders is het niet mogelijk de resultaten te voorspellen en te beoordelen of het juiste BTW-percentage wordt teruggegeven door module 2.