Nøkkelforskjell: Stub og Driver er to forskjellige typer koder som brukes i programvareutvikling, spesielt i software testing. Stubber brukes som funksjoner i Top Down Integration, mens drivere brukes som funksjoner i Bottom Up Integration. Stubber og drivere brukes ofte i porting, distribuert databehandling, samt generell programvareutvikling og testing.
Stub og Driver er to forskjellige typer koder som brukes i programvareutvikling, spesielt i software testing. Det er tider under programvareutvikling når en del av koden må testes. Dette tillater den utviklede å sørge for at denne delen av koden fungerer fint før han beveger seg videre til neste del av koden. Imidlertid kan denne delen av koden ikke fungere riktig uten innganger fra de andre delene av koden, som ennå ikke er skrevet. Det er her dummykoder kommer til nytte.
Dummy koder er pseudokode, som i utgangspunktet betyr at de er falske koder som bidrar til å stimulere oppførselen til eksisterende kode. Dette betyr at utvikleren kan bruke disse dummykoder i stedet for delene av koden som ennå ikke er skrevet for å replikere utgangene den opprinnelige koden vil gi. Disse utgangene kan da brukes til å teste den delen av koden som er skrevet.
Stubber og drivere er to forskjellige typer dummykoder og brukes derfor annerledes. Stubber brukes som funksjoner i Top Down Integration, mens drivere brukes som funksjoner i Bottom Up Integration. Stubber og drivere brukes ofte i porting, distribuert databehandling, samt generell programvareutvikling og testing.
Anta at det er tre stykker kode: A, B og C, og de løper i den retningen, dvs. A-> B -> C. Nå har kode A blitt utviklet og må testes, men kodene B og C trenger fortsatt for å bli utviklet, og kode A vil ikke løpe uten inngang av B og C. Derfor brukes stubber i stedet for B og C. Disse stubber etterligner kodene B og C og gir til og med output som ligner på hva B og C ville gitt. Dette kalles Top Down Integration, dvs. testing fra toppen til bunnen.
På samme måte tenk nå at kodene B og C er blitt utviklet og må være test, men kode A må fortsatt utvikles, og de andre to kodene vil heller ikke fungere uten inngangene fra kode A. Dermed kan en sjåfør være brukes i stedet for kode A. Denne driveren vil da etterligne kode A og gi innspill til B og C, ligner på hva den egentlige kode A ville. Dette kalles Bottom Up Integration, dvs. testing fra bunnen av.
Stubber og drivere er i utgangspunktet rutiner som egentlig ikke gjør noe, unntatt å erklære seg selv og parametrene de aksepterer. Resten av koden kan da ta disse parameterne og bruke dem som innganger. Stubben og sjåførene brukes bare som plassholdere for rutinene, det vil si koder som fortsatt må utvikles. Derfor inneholder stubber og drivere akkurat nok kode slik at den kan kompileres og knyttes til resten av programmet.
Sammenligning mellom Stub og Driver:
Stub | Sjåfør | |
Type | Dummy koder | Dummy koder |
Beskrivelse | Rutiner som egentlig ikke gjør noe bortsett fra erklære seg selv og parametrene de aksepterer. Resten av koden kan da ta disse parameterne og bruke dem som innganger | Rutiner som egentlig ikke gjør noe bortsett fra erklære seg selv og parametrene de aksepterer. Resten av koden kan da ta disse parameterne og bruke dem som innganger |
Brukt i | Top Down Integration | Bottom Up Integration |
Hensikt | For å tillate testing av de øvre nivåene av koden, når de lavere nivåene av koden ennå ikke er utviklet. | For å tillate testing av de lavere nivåene av koden, når de øvre nivåene av koden ennå ikke er utviklet. |