Testaus estäisi oh­jel­mis­to­vir­hei­tä

Yhdysvaltalainen Microsoft-yhtiö joutuu parhaillaan opettelemaan kantapään kautta tietokoneohjelmien huolellisen testauksen tärkeyttä. Microsoftin ohjelmistoista on löytynyt lukuisia virheitä, joita yhtiö korjaa "paikka paikan päälle"-menetelmällä.

Yhdysvaltalainen Microsoft-yhtiö joutuu parhaillaan opettelemaan kantapään kautta tietokoneohjelmien huolellisen testauksen tärkeyttä. Microsoftin ohjelmistoista on löytynyt lukuisia virheitä, joita yhtiö korjaa "paikka paikan päälle"-menetelmällä.

Esimerkiksi Windows XP-käyttöjärjestelmän luotettava toiminta edellyttää, että kaupasta ostettuun tietokoneeseen asennetaan kymmeniä ohjelmistojen korjauspäivityksiä. Tästä aiheutuu paljon vaivaa käyttäjille. Jos korjauspäivityksiä ei asenneta, virukset ja ulkopuoliset tunkeutuvat verkosta koneeseen.

Ohjelmistojen perusteellinen testaus säästäisi rahaa ja vähentäisi tietokoneraivoa työpaikoilla ja kodeissa. Miksi ohjelmia ei testata? Yksi syy on liika kiire, kertoo vanhempi tutkija Mika Katara Tampereen teknillisen yliopiston (TTY) ohjelmistotekniikan laitokselta.

Kataran mukaan ohjelmistoprojekteille asetetaan usein epärealistinen aikataulu. Kun aikataulu pettää - sehän on ohjelmistoprojekteissa tapana - testaus jätetään tekemättä, koska se on projektin viimeinen vaihe.

Monesti aikataulun noudattamiseen liittyy sopimussakkoja, mutta testaukseen ei. Jos projekti viivästyy, ohjelman toimittaja joutuu maksamaan tilaajalle korvauksia. Mutta jos testaus jää vähiin, toimittajan ei tarvitse maksaa mitään, ja virheistä aiheutuvat kulut jäävät tilaajan maksettavaksi.

TTY:n ohjelmistotekniikan laitoksella tämä vuosi on testauksen teemavuosi. Kuluvalla viikolla laitoksella on kaksikin testaukseen liittyvää tilaisuutta. Tiistaina järjestettiin aiheesta seminaari, ja keskiviikkona teemaa jatketaan yliopistojen työpajalla, jossa pohditaan testauksen opettamista.

Ohjelmat laajoja ja monimutkaisia

Tietokoneohjelmien virheitä voidaan torjua jo ohjelmointivaiheessa tai sitten jälkikäteen testausvaiheessa. Julkistetut tiedot Microsoftin käyttöjärjestelmien vioista kertovat, että ohjelmointityössä ei ole oltu huolellisia. Ohjelmissa on ollut sellaisia haavoittuvuuksia, jotka olisi voitu välttää hyvää ohjelmointitapaa noudattamalla.

Ilmeisesti Microsoftilla on ollut puutteita myös jälkikäteen tapahtuneessa testauksessa, koska virheitä on jäänyt.

Oma osuutensa virheisiin on Windows-käyttöjärjestelmän suurella koolla.

"Windows on valtavan laaja ohjelmisto, ehkä kymmeniä miljoonia koodirivejä. Sen kehittänen ja testaaminen on niin vaikea tehtävä, että virheitä pääsee läpi", Katara sanoo.

"Nykypäivän ohjelmistot ovat kompleksisia ja testausvaihe on hyvin vaativa", hän muistuttaa.

"Mutta jossain vaiheessa virheet olisi pitänyt huomata. Valitettavasti ne on huomattu vasta nyt, kun tuotteet on jo toimitettu asiakkaille."

Ohjelmoijien asenteet ovat osa ongelmaa. Katara muistuttaa, että ohjelmiston testaaminen on oikeastaan sama asia kuin yritys rikkoa ohjelmoijan tekemä työ. Kukapa haluaisi rikkoa oman työnsä tai edes antaa toisen kokeilla, menisikö se rikki.

Asiakas voi vaatia ohjelman testausta

Kun yritys tilaa ohjelmiston, tilaaja voi tehdä paljonkin taatakseen ohjelmiston virheettömän toiminnan. Tilaussopimukseen voidaan esimerkiksi kirjata hyväksymistestausehdot.

Hyväksymistestauksen voi tehdä joko tilaaja itse tai sen voi teettää alihankintana. Jos tuote ei läpäise testausta, tilaajan ei tarvitse ottaa sitä vastaan.

On helppo edellyttää, että tilatun ohjelmistotuotteen pitää olla asiakkaan vaatimusten mukainen. Usein asiakas ei itsekään tarkasti tiedä, mitä haluaa. Toisinaan ohjelmoijan ja asiakkaan välillä on myös kielellisiä ongelmia, kun osapuolet ymmärtävät vaatimusmäärittelyt eri tavalla.

Ilmoita asiavirheestä