Skip to content

Integraatiotestaus

Kuvauksen kirjoitti: Matti Leppäkorpi

Lyhyt kuvaus käsitteestä tai aiheesta

Integraatiotestaus on ohjelmistotuotantoon kuuluva ohjelmiston testaamisen osa-alue, jossa jo yksikkötestattujen järjestelmän komponenttien yhteistoimintaa testataan ja sen tavoitteena on saada koko järjestelmä toimimaan yhtenä kokonaisuutena (Kasurinen 2013). Integraatiotestauksella tutkitaan mm. datan kulkua moduulien välillä, moduulien keskinäisiä vuorovaikutuksia ja osien muodostamien kokonaisuuksien toimimista (Äyrämö 2010). Integraatiotestaus on dynaamista testausta ja siihen soveltuvia testaamistapoja ovat muun muassa mustalaatikkotestaus ja lasilaatikkotestaus. Integraatiotestaukseen kuuluu sekä toiminnalista että ei-toiminnalista testausta (Laadunvarmistus ja ohjelmistotestaus n.d.). Integraatiotestausta seuraa yleensä järjestelmätestaus, jossa päästään testaamaan koko järjestelmän toimintaa. (Kasurinen 2013.)

Joskus puuttuvien järjestelmän osien tilalle joudutaan rakentamaan tynkiä (stub) mallintamaan puuttuvaa osaa testaamisen mahdollistamiseksi, kunnes puuttuva osa saadaan riittävän valmiiksi integrointiin. Tynkien rakentaminen ja ylläpitäminen voi olla työlästä. Integraatiotestauksessa testitapaukset ovat yleensä laajempia kuin yksikkötestauksessa mutta eivät vielä koko järjestelmän kattavia. Voidaan testata esim. moduulien välistä viestienvaihtoa. (Kasurinen 2013.) Integrointitestausta tekevät yleensä sovelluskehittäjät (Luukkainen 2020).

Integrointitestausta tehdään yleensä sitä mukaa kun liitettäviä komponentteja voidaan lisätä järjestelmään mikä on ns. inkrementaalinen testaustapa (Äyrämö 2010). Integrointitestauksen edetessä jo toimivaan kokonaisuuteen lisätään uusi osa ja kokonaisuuden toimiminen varmistetaan uudelleen, eli integraatiotestaus on yleensä osin myös regressiotestausta. Integrointijärjestys on yleensä jokin seuraavista:

  • Alhaalta ylöspäin (bottom up testing) jossa ensimmäisenä testataan kaikkein alimman tason moduulit, jotka ovat yhteydessä rautaan tai käyttöjärjestelmään ja näiden jälkeen järjestelmään lisätään osia, jotka ovat näihin ensin testattuihin yhteydessä (Kasurinen 2013). Äyrämön (2013) mukaan tässä integrointitavassa tynkiä ei tarvita.
  • Ylhäältä alaspäin (top down testing) jossa testaaminen aloitetaan pääohjelmasta ja moduuleja korvataan tarvittaessa tyngillä. Moduleja lisätään joko syvyys- tai leveys- ensin periaatteella. (Äyrämö 2010.)
  • Voileipätestaus (sandwich testing) on kahden edellisen mallin yhdistelmä. Myös sen etuna on, että tynkämoduuleja tarvitaan yleensä vähemmän. (Kasurinen 2013.)

Lisäksi on olemassa ei-inkrementaalinen ns. kertarysäystestus (big bang), jolla voidaan esim. testata onko järjestelmä valmis integrointitestaukseen tai käyttää mikäli järjestelmään on tehty vain pieniä muutoksia. On olemassa myös tapauskohtaisia lähestymistapoja kuten esim. yhteistoimintaan perustuva integraatio sekä palvelin/asiakas-toimintamalli, joka soveltuu hyvin, jos järjestelmä on tehty selvästi kahdesta eri osasta. (Kasurinen 2013; Äyrämö 2010.)

Rakenteeseen perustuvassa integraatiossa integroidaan sovelluksen rakenteellisia komponentteja omina kokonaisuuksinaan ennen kuin ne yhdistetään kokonaiseksi sovellukseksi. Ominaisuuksiin perustuvassa integroinnissa yhdistetään saman toiminnallisuuden komponentit keskenään ja niitä yhdistetään kunnes sovellus on valmis. Nykyään suositaan paljon jatkuvaa integrointia. (Luukkainen 2020.)

Muuta aiheeseen liittyvää

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa