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ä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.
...
Asiasanat
Metadata
Näytä kaikki kuvailutiedotKokoelmat
- Kandidaatintutkielmat [5358]
Lisenssi
Samankaltainen aineisto
Näytetään aineistoja, joilla on samankaltainen nimeke tai asiasanat.
-
Utilizing agile methods in continuous software development
Kiiski, Miko (2022)Ohjelmat ja järjestelmät ovat osa kaikkien päivittäistä elämää. Teknologiat muuttuvat kiihtyvällä tahdilla, uusia innovaatioita syntyy ja toimintatavat voivat muuttua yhdessä yössä maailman tilanteen mukaan. Ihmisten ja ... -
Coping with Uncertainty in an Agile Systems Development Course
Taipalus, Toni; Seppänen, Ville; Pirhonen, Maritta (Information Systems and Computing Academic Professionals, 2018)Uncertain and ambiguous environments are commonplace in information systems development (ISD) projects, and while different Agile frameworks welcome changes in organizational, technical, and business environments, the ... -
Behaviour-driven development mobiiliohjelmistojen kehityksen tukena
Hynninen, Samppa (2014)Lähivuosien aikana älypuhelinten yleistyminen on avannut mahdol- lisuuksia aivan uusille ohjelmistomarkkinoille. Samaan aikaan mobiilisovellusten yleistymisen kanssa myös ohjelmistokehityksen menetelmät ovat muuttuneet, ... -
Asiakaskeskeinen ohjelmistokehitys
Venäläinen, Henri (2018)Tämän tutkimuksen tarkoituksena on luoda käsitys asiakaskeskeisyydestä osana ohjelmistokehitystä. Tutkimuksessa tarkastellaan myös käytänteitä asiakaskeskeisyyden ja ohjelmistokehityksen välillä. Asiakaskeskeisyyteen ... -
Hajautetun ketterän ohjelmistokehityksen kriittiset menestystekijät ja haasteet
Björkman, Emmi (2020)Monet yritykset lähtivät 2000-luvun alussa hyödyntämään ketterää ohjelmistokehitystä, mikä on seurausta nopeasti muuttuvasta tekniikasta ja liiketoimintaympäristöstä. Ketterät menetelmät keskittyvät epämuodollisiin ...
Ellei toisin mainittu, julkisesti saatavilla olevia JYX-metatietoja (poislukien tiivistelmät) saa vapaasti uudelleenkäyttää CC0-lisenssillä.