Skip to main content
Login | Suomeksi | På svenska | In English

Testivetoisen kehityksen menetelmät ja työkalut testauksen eri tasoilla Spring- ja Ruby on Rails -web-sovelluskehityksessä

Show full item record

Title: Testivetoisen kehityksen menetelmät ja työkalut testauksen eri tasoilla Spring- ja Ruby on Rails -web-sovelluskehityksessä
Author(s): Karjalainen, Ville
Contributor: University of Helsinki, Faculty of Science, Department of Computer Science
Discipline: Computer science
Language: Finnish
Acceptance year: 2013
Abstract:
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


Files in this item

Files Size Format View
VilleKarjalainenGradu2013.pdf 571.7Kb PDF

This item appears in the following Collection(s)

Show full item record