Onnistunut testaus ja ketterät menetelmät
Väyrynen, Virve (2009)
Väyrynen, Virve
HAAGA-HELIA ammattikorkeakoulu
2009
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-200912218435
https://urn.fi/URN:NBN:fi:amk-200912218435
Tiivistelmä
Perinteisesti testaus- ja tarkastusprosessit noudattavat V-mallia. Koska ketterät menetelmät tuovat muutoksia prosessiin, keskityin tarkastelemaan niiden ominaisuuksia. Komponentin testaus on hyvä esimerkki siitä, että testausprosessia kannattaa suunnitella etukäteen. Siksi kohdensin tutkimukseni nimenomaan komponenttien testaukseen.
Raportin tarkoitus on nostaa esiin asioita, joita pitää käsitellä ja ratkaista, kun suunnitellaan testausta ja testauksen automatisointia. Tutkin sitä, miten saadaan aikaan onnistunut testaus.
Tutkimusmetodina on laadullinen tutkimus. Hain tietoa analyysini pohjaksi kirjallisuudesta, seminaareista, testausseminaareista ja haastattelemalla asiantuntijoita. Jotta raportti ei olisi paisunut liian laajaksi, jätin tarkastelun ulkopuolelle tietoturva- ja suorituskykytestauksen. Onnistunutta testausta lähestyin muun muassa pureutumalla projektien epäonnistumisen syihin sekä poimimalla esimerkkejä onnistuneista projekteista.
Johtopäätökset
Ketteriä menetelmiä käyttävä projekti keskittyy tuottamaan liiketoiminnan arvonlisäystä (business value). Ketteriä menetelmiä käyttävä tiimi kehittää ohjelmaa ominaisuus kerrallaan. Näin ei tuhlata resursseja turhien toimintojen kehittämiseen ja muutoksiin voidaan vastata nopeasti. Tarkastelun perusteella kypsyystasoltaan korkealla tasolla oleva tiimi pystyy vastaamaan muutoksiin nopeasti, siksi tutkitaan prosessin kypsyysmallia (CMMI). CMMI mallin mukaan kypsyys on organisaation mittari, mutta myös tiimin voi hyödyntää mallia kypsyystasonsa kehittämisessä.
Ketteriä menetelmiä käyttämällä testaukseen voidaan saada nopeutta ja joustavuutta. Ketterät menetelmät korostavat ohjelman laatua ja automatisointia. Onnistuneen testauksen näkökulmasta tärkeää on toimiva kehitys- ja testausympäristö. Kehitysympäristön pitää sallia automatisoitujen testien kehittäminen, ajaminen ja myös käsin tehtävä testaus. Keskeistä on pystyä tekemään nopea muutos tuotannossa.
Ketterä ohjelmistokehitys voi käyttää testivetoista ohjelmistokehitysmallia. Automaatio on avain menestyksekkääseen ketterillä menetelmillä tehtävään ohjelmistokehitykseen. Kehitystyö on hyvä aloittaa pilottiprojektilla ja kehittää kestäviä testejä. Yksikkötason testien rinnalle pitää rakentaa myös toimiva aloitustestijoukko (Intake Test). On myös hyvä huomioida, että tarvitsemme erilaisia testejä eri testitasoilla.
Raportin tarkoitus on nostaa esiin asioita, joita pitää käsitellä ja ratkaista, kun suunnitellaan testausta ja testauksen automatisointia. Tutkin sitä, miten saadaan aikaan onnistunut testaus.
Tutkimusmetodina on laadullinen tutkimus. Hain tietoa analyysini pohjaksi kirjallisuudesta, seminaareista, testausseminaareista ja haastattelemalla asiantuntijoita. Jotta raportti ei olisi paisunut liian laajaksi, jätin tarkastelun ulkopuolelle tietoturva- ja suorituskykytestauksen. Onnistunutta testausta lähestyin muun muassa pureutumalla projektien epäonnistumisen syihin sekä poimimalla esimerkkejä onnistuneista projekteista.
Johtopäätökset
Ketteriä menetelmiä käyttävä projekti keskittyy tuottamaan liiketoiminnan arvonlisäystä (business value). Ketteriä menetelmiä käyttävä tiimi kehittää ohjelmaa ominaisuus kerrallaan. Näin ei tuhlata resursseja turhien toimintojen kehittämiseen ja muutoksiin voidaan vastata nopeasti. Tarkastelun perusteella kypsyystasoltaan korkealla tasolla oleva tiimi pystyy vastaamaan muutoksiin nopeasti, siksi tutkitaan prosessin kypsyysmallia (CMMI). CMMI mallin mukaan kypsyys on organisaation mittari, mutta myös tiimin voi hyödyntää mallia kypsyystasonsa kehittämisessä.
Ketteriä menetelmiä käyttämällä testaukseen voidaan saada nopeutta ja joustavuutta. Ketterät menetelmät korostavat ohjelman laatua ja automatisointia. Onnistuneen testauksen näkökulmasta tärkeää on toimiva kehitys- ja testausympäristö. Kehitysympäristön pitää sallia automatisoitujen testien kehittäminen, ajaminen ja myös käsin tehtävä testaus. Keskeistä on pystyä tekemään nopea muutos tuotannossa.
Ketterä ohjelmistokehitys voi käyttää testivetoista ohjelmistokehitysmallia. Automaatio on avain menestyksekkääseen ketterillä menetelmillä tehtävään ohjelmistokehitykseen. Kehitystyö on hyvä aloittaa pilottiprojektilla ja kehittää kestäviä testejä. Yksikkötason testien rinnalle pitää rakentaa myös toimiva aloitustestijoukko (Intake Test). On myös hyvä huomioida, että tarvitsemme erilaisia testejä eri testitasoilla.