Tässä tutkielmassa vertaillaan testivetoisen kehityksen työkaluja sekä käytön vaikutuksia Spring- ja Ruby on Rails-web-sovellusten välillä kolmella eri testauksen tasolla: yksikkö-, integraatio- ja hyväksymistestaustasoilla.
Testivetoinen kehitys on käytänne, jonka keskeisen idean mukaan ohjelmistokehitys etenee kirjoittamalla testi aina ennen koodia. Testivetoisesta kehityksestä on useita erilaisia kehityshaaroja, joista tässä tutkielmassa esitellään alkuperäisen päähaaran, eli TDD:n, lisäksi kolme erään tutkimuksen mukaan keskeisintä: ATDD, BDD, LonTDD (London XP). Spring ja Rails ovat kaksi laajasti käytettyä web-sovelluskehystä, jotka tarjoavat valmiita ratkaisuja toistuviin web-sovellusten kehittämisen liittyviin tilanteisiin. Työkalujen vertailua varten Spring-sovellusten työkalut valitaan kaikkien JVM-kielten työkalujen joukosta ja Rails-sovellusten työkalut valitaan Ruby-kielen työkalujen joukosta.
Tässä tutkielmassa havaittiin, että työkalujen valitseminen Java-kielen työkalujen sijaan kaikkien JVM-kielten työkalujen joukosta, laajentaa merkittävästi Spring-sovellusten kehityksessä käytettävien testaustyökalujen ominaisuuksia. JVM- ja Ruby-kielten työkalujen välillä merkittäviä eroja ei sen sijaan havaittu. Tässä tutkielmassa annetaan myös koodiesimerkkejä Spring- ja Rails-kehysten testaustukien ja yksikkötason työkalujen yhteiskäytöstä liittyen MVC-toteutusten ohjainten testaamiseen. Näiden testien analyysi testivetoisesta näkökulmasta osoitti, että testivetoinen kehitys vaikuttaa Spring-sovellusten kehityksen yhteydessä voimakkaammin kuin Rails-sovellusten kehityksen yhteydessä.
ACM Computing Classification System (CCS):
D.2.2 [Software Engineering]: Design Tools and Techniques,
D.2.3 [Software Engineering]: Coding Tools and Techniques,
D.2.5 [Software Engineering]: Testing and Debugging,
D.2.11 [Software Engineering]: Software architectures