Programos kūrimas naudojant elgesiu ir testavimu grindžiamą kūrimo metodiką
Baigiamasis bakalauro darbas
TURINYS
SANTRAUKA 5
SUMMARY 6
1. ĮVADAS 7
2. ANALITINĖ DALIS 8
2.1. Elgesiu grindžiamas kūrimas 8
2.1.1. Gherkin sintaksė 8
2.1.2. Elgesiu grindžiamo kūrimo scenarijai 9
2.1.3. Elgesiu grindžiamo kūrimo privalumai 10
2.1.4. Elgesiu grindžiamo kūrimo trūkumai 10
2.1.5. Elgesiu grindžiamo kūrimo įrankių palyginimas 11
2.2. Testavimu grindžiamas kūrimas 12
2.2.1. Testavimu grindžiamo kūrimo privalumai 12
2.2.2. Testavimu grindžiamo kūrimo trūkumai 13
2.2.3. Testavimu grindžiamo kūrimo įrankiai 13
2.2.4. Testavimu grindžiamo kūrimo ciklas 14
2.3. Kūrimo metodikų palyginimas 15
2.4. Analitinės dalies išvados 16
3. METODINĖ DALIS 17
3.1. Tradicinis programos kūrimo procesas 17
3.2. Elgesiu ir testavimu grindžiamo kūrimo eiga 19
3.3. Programų sistema 21
3.4. Metodinės dalies išvados 22
4. ĮGYVENDINIMO DALIS 24
4.1. Įgyvendinimo įrankiai 24
4.1.1. Programavimo aplinka ir kalba 24
4.1.2. Detox 24
4.1.3. Jest 24
4.1.4. Jest-cucumber 24
4.2. Reikalavimų surinkimas 25
4.3. Reikalavimų specifikavimas ir scenarijų rašymas 25
4.4. Testų ir kodo rašymas 26
4.4.1. Elgesiu grindžiamo kūrimo testai 26
4.4.2. Vienetų testai 29
4.5. Sukurta programa 31
4.6. Išvados 32
5. REZULTATAI IR APIBENDRINIMAS 34
5.1. Rekomendacijos 34
Literatūra 35
1. ĮVADAS
Didelė dalis IT produktų kūrimų nėra visiškai sėkmingi ir nepatenkina suinteresuotosios
šalies lūkesčių [16]. Programos kūrimas yra laikomas nepilnai sėkmingu, jeigu jis viršijo
numatytą biudžetą, užtruko ilgiau, nei buvo planuota, nesuteikė numatomų funkcijų. Pagrindinės
priežastys yra neaiškūs tikslai, kurie nesuteikia verslui vertės ir prasta komunikacija tarp
komandos narių [7]. Programos kūrime yra svarbūs ne tik programuotojai ir testuotojai, bet ir
klientas. Komandos, kuriose visi komandos nariai buvo įsitraukę į visą kūrimo procesą,
galutiniame rezultate turėjo programą, kuri atitiko numatytus reikalavimus ir suteikė numatomą
verslo vertę [7].
Taip pat, beveik ketvirtis programų gedimų įvyksta dėl nepilno ir neišsamaus testavimo
[16]. Minimalus testavimas sukuria didelę tikimybę, kad programa bus nestabili ir nenuspėjama.
Tokiose programose yra sunku pridėti naujų funkcijų ar ištaisyti jau esamas klaidas [1]. Klaidų
taisymas programos kūrimo pabaigoje reikalauja daugiau laiko ir pastangų, nei tų klaidų
pastebėjimas ir taisymas dar rašant programos kodą.
Elgesiu grindžiamo kūrimo metodika skatina glaudžiai bendradarbiauti su užsakovais, kad
programos funkcijos būtų aiškiai suprantamos visai komandai ir galutinis produktas atitiktų
verslo poreikius [1]. Testavimu grindžiamas kūrimas padeda užtikrinti, jog sukurta programa
veiktų taip, kaip buvo tikimasi ir būtų išsamiai ištestuota programos kūrimo pabaigoje [11]. Šių
dviejų metodikų panaudojimas padeda greitai ir efektyviai kurti programas, kurios būtų pilnai
ištestuotos ir atitiktų suinteresuotosios šalies poreikius.
Pagrindinis baigiamojo darbo tikslas yra pagerinti programos kūrimo proceso efektyvumą,
įgyvendinant ją pagal elgsena ir testavimu grindžiamo kūrimo metodikas.
Darbo metu sprendžiami šie uždaviniai:
1. Išanalizuoti elgesiu ir testavimu grindžiamą kūrimą
2. Suprojektuoti programą elgesiu ir testavimu grindžiamu kūrimu
3. Įgyvendinti programą pagal elgesiu ir testavimu grindžiamu kūrimu
Baigiamąjį darbą sudaro šešios dalys: įvadas, analitinė dalis, metodinė dalis, įgyvendinimo
dalis, rezultatai ir apibendrinimas, literatūros sąrašas.
2. ANALITINĖ DALIS
Šioje dalyje yra aprašytos elgesiu ir testavimu grindžiamos kūrimo metodikos, nustatytos
kiekvienos metodikos išskirtinumai, panaudojimo privalumai ir trūkumai, palyginami elgesiu ir
testavimu grindžiamo kūrimo įrankiai.
2.1. Elgesiu grindžiamas kūrimas
Elgesiu grindžiamas kūrimas (angl. Behaviour-Driven Development) yra Agile
metodologijos programų kūrimo metodika apimanti glaudų komandos narių bendradarbiavimą
konstruojant programos reikalavimus ir elgesį [1]. Elgesiu grindžiamo kūrimo metodikos viena
iš pagrindinių savybių yra tai, jog testai ir testų scenarijai yra parašyti pusiau struktūrizuota
natūralia kalba [2]. Šie scenarijai yra lengvai skaitomi ne tik programuotojams ir testuotojams,
bet ir kitiems komandos nariams, kurie turi mažiau techninių žinių.
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!