Wat zijn stubs en drivers

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.

Stubs
Een stub is een simulatieprogramma dat een programma vervangt, inclusief de bijbehorende in- en uitvoerstromen, en wordt aangeroepen door het te testen object.

Drivers
Een driver is een simulatieprogramma dat een programma vervangt welke de sturing c.q. aanroep van het te testen object verzorgt.

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.

Stubs en drivers

Stubs en drivers

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.

Ook interessant?

Tools voor Behaviour Driven Development (BDD)

Algemene introductie Tools voor BDD

Het primaire doel van BDD is om mensen te laten communiceren en de kloof te dichten tussen ‘technische’ en ‘business’ ...
Generieke Testautomatiserings Architectuur

Testautomatisering versus geautomatiseerd testen

Wanneer er binnen het vakgebied testen wordt gesproken over automatisering, dan worden er regelmatig twee soorten automatisering door elkaar gebruikt ...
espresso tool

Tools voor geautomatiseerde testuitvoering

Tools voor geautomatiseerde testuitvoering Het inzetten van tools voor geautomatiseerde testuitvoering wordt door organisaties steeds belangrijker gevonden. Met name als ...
Testautomatisering

Wat is testautomatisering?

Testautomatisering Testautomatisering wordt steeds belangrijker bij het ontwikkelen van informatiesystemen. Dit wordt enerzijds veroorzaakt door de noodzaak van een kortere ...
Blijf op de hoogte van onze nieuwste ontwikkelingen, schrijf je hier in voor de nieuwsbrief!