Testivetoisen ohjelmistokehityksen edut ja haitat ohjelmistoprojekteissa

Tässä tutkielmassa on tarkoitus selvittää testivetoisella ohjelmistokehityksellä mahdollisesti saavutettavia etuja ohjelmistoprojekteissa. Tutkimusmenetelmä-nä on kirjallisuuskatsaus. Aluksi tutkielmassa käsitellään vesiputousmallia, ketteriä menetelmiä, ohjelmistotestausta ja ohjelmiston laadun käs...

Täydet tiedot

Bibliografiset tiedot
Päätekijä: Perälä, Juuso
Muut tekijät: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Aineistotyyppi: Kandityö
Kieli:fin
Julkaistu: 2018
Aiheet:
Linkit: https://jyx.jyu.fi/handle/123456789/58147
Kuvaus
Yhteenveto:Tässä tutkielmassa on tarkoitus selvittää testivetoisella ohjelmistokehityksellä mahdollisesti saavutettavia etuja ohjelmistoprojekteissa. Tutkimusmenetelmä-nä on kirjallisuuskatsaus. Aluksi tutkielmassa käsitellään vesiputousmallia, ketteriä menetelmiä, ohjelmistotestausta ja ohjelmiston laadun käsitettä, jotta sen jälkeinen testivetoisen ohjelmistokehityksen tutkimukseen tutustuminen olisi selkeämpää. Testivetoinen ohjelmistokehitys, tai TDD, on suosittu ohjel-miston suunnittelumenetelmä, joka perustuu lyhyisiin iteraatioihin, joissa tes-tit kirjoitetaan aina ennen varsinaista ohjelmakoodia, tai testattavaa toiminnal-lisuutta. Tutkielmassa saavutetut tulokset viittaavat siihen, että testivetoisen ohjelmistokehityksen implementoinnilla saavutettavia etuja voivat olla mm.: ohjelmiston ulkoisen laadun paraneminen, virheiden väheneminen, koodikat-tavuuden paraneminen, koodin ja vaatimusten parempi ymmärtäminen, komp-leksisuuden paraneminen. Joitain haittoja, jotka saattavat myös hankaloittaa TDD:n implementointia, olivat: testivetoisen ohjelmistokehityksen implemen-toimiseen vaadittava aika ja vaiva, testivetoisen ohjelmistokehityksen kehittä-jiltä vaatima korkeampi taitokynnys, mahdollisesta TDD:n prosessin väärin-ymmärtämisestä aiheutuvat ongelmat ja mahdollinen joidenkin koodin osien heikkeneminen. Tuloksissa havaittiin myös epäselvyyttä ja ristiriitaisuutta, joka viittaa lisätutkimuksen tarpeeseen. The purpose of this thesis is to find out the benefits that may be gained in soft-ware projects by implementing test-driven development. The research method used in this thesis is literature review. Initially, the paper deals with the water-fall model, agile methods, software testing, and the concept of software quality to make it easier to understand when it later starts to review the research on test-driven development. Test-driven development, or TDD, is a popular soft-ware design method that is based on short iterations where writing test cases comes always before writing any functional code that is to be tested. The re-sults obtained in this thesis suggest that the benefits of implementing test-driven development include: improvement of the software’s external quality, reduction of errors, better code coverage, better understanding of the code and requirements, and better code complexity. Some disadvantages, which may also complicate the implementation of test-driven development were: time and effort required to implement test-driven development, higher skill threshold required by developers, possible problems caused by the misunderstanding of the TDD process and possible deterioration of some parts of the code. The re-sults also revealed ambiguity and contradiction, which suggests to the need for further research.