Testivetoinen ohjelmistokehitys – vahvuudet, heikkoudet ja soveltuvuus ohjelmistoprojekteihin - Urtti, Ilkka (2011)
Urtti, Ilkka Testivetoinen ohjelmistokehitys – vahvuudet, heikkoudet ja soveltuvuus ohjel-mistoprojekteihin Jyväskylä: Jyväskylän yliopisto, 2011, 41 s. Tietojärjestelmätiede, kandidaatin tutkielma Ohjaaja: Sakkinen, Markku Testivetoinen ohjelmistokehitys (TDD) on ohjelmistojen kehittämismenetelmä, jonka perusajatuksena on automatisoidun yksikkötestin kirjoittaminen etukä-teen ennen sen testaaman toiminnallisuuden implementointia. Järjestys on päinvastainen perinteiseen vesiputousmallin kaltaiseen ohjelmistokehittämi-seen, jossa testaus on viimeisenä työvaiheena. Testivetoisen ohjelmistokehityk-sen hyödyistä verrattuna perinteiseen kehitysmalliin on esitetty lukuisia väittei-tä. Väitteiden pohjalla on kuitenkin vain vähän empiiristä tutkimustietoa ja tut-kittujen väitteiden osalta tutkimustulokset ovat ristiriitaisia. Arvioin tässä kandidaatintutkielmassani tehtyjen tutkimusten pohjalta tes-tivetoisen ohjelmistokehittämisen vahvuuksia, heikkouksia sekä soveltuvuutta ohjelmistoprojekteihin. Havaitsin vahvaa näyttöä siitä että TDD johtaa lisään-tyneeseen testaukseen sekä parantuneisiin testikattavuuksiin verrattuna perin-teiseen kehitysmalliin. Havaitsin kohtalaisen selkeää näyttöä ohjelmistojen ul-koisen laadun paranemisesta TDD:n myötä verrattuna perinteiseen kehittä-mismalliin. Ohjelmistojen sisäisen laadun ja tuottavuuden paranemisen suhteen tehdyt tutkimukset olivat liian ristiriitaisia tulkinnan tekemiseksi. Testivetoisen ohjelmistokehittämisen heikkouksiksi arvioin sen vaikean omaksumisen sekä TDD:n hyötyjä käsitelleiden tutkimuksien joukossa olleet täysin päinvastaisiin tuloksiin päätyneet tutkimukset. Arvioin testivetoisen ohjelmistokehittämisen soveltuvan ohjelmoijille jotka ovat kokeneita, organisaatioille joilla on motivaatiota ja resursseja hoitaa TDD:hen siirtyminen hallitusti sekä ohjelmistoille joilta odotetaan korkeinta mahdollista ulkoista laatua.