Yksikkötestaus (englanniksi ”unit testing”) on ohjelmistotestauksen osa-alue, jossa tarkastellaan ja testataan ohjelmiston pienimpiä testattavia yksiköitä, kuten funktioita, metodeja, luokkia tai moduuleita. Yksikkötestaus keskittyy yksittäisiin ohjelmiston osiin varmistaakseen, että ne toimivat odotetulla tavalla.
Tässä on joitakin keskeisiä piirteitä yksikkötestauksesta:
- Tavoite: Yksikkötestaus pyrkii varmistamaan, että jokainen ohjelmiston pieni toiminnallinen osa (yksikkö) toimii oikein ja tuottaa odotetut tulokset. Tavoitteena on havaita mahdolliset virheet ja puutteet näissä yksiköissä.
- Isoloitu testaus: Yksikkötestaus suoritetaan eristyksissä muista osista ohjelmistosta. Se voi vaatia kuvitteellisia tai eristettyjä ympäristöjä, kuten testidatan tai testidublereiden käyttöä.
- Automaatio: Yksikkötestit usein automatisoidaan, mikä tarkoittaa, että testitapaukset kirjoitetaan koodina ja suoritetaan automaattisesti testauskehyksen avulla. Tämä mahdollistaa testien nopean ja toistettavan suorituksen.
- Yksinkertaiset tarkistukset: Yksikkötestit tarkastavat yksiköiden toiminnan eri näkökulmista, kuten oikeellisuus, reunaehtojen käsittely ja poikkeusten hallinta.
- Jatkuvan integraation osa: Yksikkötestaus on usein osa jatkuvan integraation (CI) prosessia, jossa ohjelmiston yksiköitä testataan automaattisesti aina, kun koodia muutetaan, varmistaen nopean palautteen mahdollisista ongelmista.
- Kattavuus: Tavoitteena on saavuttaa mahdollisimman kattava testaus kattamalla eri testitapaukset ja -skenaariot yksikön toiminnallisuudesta.
- Nopea palauteprosessi: Yksikkötestien avulla voidaan havaita ja korjata ongelmia aikaisessa vaiheessa, mikä auttaa parantamaan ohjelmiston laatua ja vähentämään virheiden siirtymistä seuraaviin testausvaiheisiin.
Yksikkötestaus on tärkeä osa ohjelmistokehitysprosessia, koska se auttaa vähentämään ohjelmistovirheitä ja parantamaan ohjelmiston ylläpidettävyyttä. Kun yksikkötestit ovat kattavia ja luotettavia, kehittäjät voivat tehdä muutoksia ohjelmistoon luottavaisin mielin, tietäen että yksikkötestit auttavat tunnistamaan mahdolliset ongelmat nopeasti.