Keskeinen ero: Stub ja Driver ovat kaksi erilaista koodia, joita käytetään ohjelmistokehityksessä, erityisesti ohjelmistojen testauksessa. Stubeja käytetään funktioina Top Down -integroinnissa, kun taas ohjaimia käytetään funktiona Bottom Up Integrationissa. Tynnyrit ja ohjaimet ovat yleisesti käytössä siirrettäessä, hajautetussa tietojenkäsittelyssä sekä yleisessä ohjelmistokehityksessä ja testauksessa.
![](http://spot-the-difference.info/img/difference-between/895/difference-between-stub.jpg)
Stub ja Driver ovat kaksi eri tyyppistä koodia, joita käytetään ohjelmistokehityksessä, erityisesti ohjelmistojen testauksessa. Ohjelmistokehityksessä on aikoja, kun osa koodista on testattava. Tämä sallii kehittyneen varmistaa, että tämä koodin osa toimii hyvin, ennen kuin hän siirtyy koodin seuraavaan osaan. Koodin tämä osa ei välttämättä toimi kunnolla ilman koodin muiden osien syöttöjä, jotka on vielä kirjoitettava. Tässä on käytännölliset koodit.
Dummy-koodit ovat pseudokoodi, mikä tarkoittaa periaatteessa, että ne ovat väärennettyjä koodeja, jotka auttavat stimuloimaan olemassa olevan koodin käyttäytymistä. Tämä tarkoittaa sitä, että kehittäjä voi käyttää näitä dummy-koodeja koodin osien sijasta, joita ei ole vielä kirjoitettu, jotta alkuperäiset koodit antavat toisiaan. Näitä ulostuloja voidaan sitten testata kirjoitetun koodin osaa.
Stubit ja ohjaimet ovat kaksi eri tyyppisiä nuken koodeja ja niitä käytetään siten eri tavalla. Stubeja käytetään funktioina Top Down -integroinnissa, kun taas ohjaimia käytetään funktiona Bottom Up Integrationissa. Tynnyrit ja ohjaimet ovat yleisesti käytössä siirrettäessä, hajautetussa tietojenkäsittelyssä sekä yleisessä ohjelmistokehityksessä ja testauksessa.
Oletetaan, että koodia on kolme: A, B ja C, ja ne kulkevat tähän suuntaan, eli A-> B -> C. Nyt koodia A on kehitetty ja sitä on testattava, mutta koodit B ja C tarvitsevat vielä kehitettäväksi, ja koodia A ei suoriteta ilman B: n ja C: n tuloa. Näin ollen B: n ja C: n asemesta käytetään tynnyriä. Nämä tynnyrit jäljittelevät koodit B ja C ja jopa antavat tuotoksen, joka on samanlainen kuin B ja C antaisi. Tätä kutsutaan Top Down -integroinniksi eli testaukseksi ylhäältä alas.
![](http://spot-the-difference.info/img/difference-between/895/difference-between-stub-2.jpg)
Kuvittele samalla, että koodit B ja C on kehitetty ja että ne on testattava, mutta koodia A on vielä kehitettävä, ja muut kaksi koodia eivät toimi ilman koodin A tuloja. Koodin A sijasta käytetään tätä ajuria. Tämä kuljettaja matkaisi koodin A ja antaa syötteen B: lle ja C: lle, samoin kuin todellinen koodi A. Tätä kutsutaan Bottom Up Integrationiksi eli testaukseksi alhaalta ylöspäin.
Stubit ja ohjaimet ovat pohjimmiltaan rutiineja, jotka eivät todellakaan tee mitään muuta kuin julistaa itsensä ja parametrit, jotka he hyväksyvät. Loput koodista voivat sitten ottaa nämä parametrit ja käyttää niitä tuloina. Tynnyreitä ja kuljettajia käytetään vain yleisesti rutiinien paikannusmerkkeinä, eli koodeihin, joita on vielä kehitettävä. Näin ollen tynnyrit ja ohjaimet sisältävät juuri tarpeeksi koodia, jotta se voidaan koota ja liittää muuhun ohjelmaan.
Stubin ja ohjaimen vertailu:
Tynkä | kuljettaja | |
Tyyppi | Dummy-koodit | Dummy-koodit |
Kuvaus | Rutiinit, jotka eivät todellakaan tee mitään muuta kuin julistaa itsensä ja parametrit, jotka he hyväksyvät. Loput koodista voivat sitten ottaa nämä parametrit ja käyttää niitä tuloina | Rutiinit, jotka eivät todellakaan tee mitään muuta kuin julistaa itsensä ja parametrit, jotka he hyväksyvät. Loput koodista voivat sitten ottaa nämä parametrit ja käyttää niitä tuloina |
Käytetty | Top Down -integrointi | Bottom Up Integration |
Tarkoitus | Jotta koodin ylemmät tasot voidaan testata, kun koodin alempia tasoja ei ole vielä kehitetty. | Koodin alemman tason testaaminen, kun koodin ylemmät tasot eivät ole vielä kehittyneet. |