Testiranje web-orijentiranih programskih rješenja : diplomski rad - Vlašić, Ivan (I. Vlašić, 2015)
Sažetak na hrvatskom: Testiranje softvera i web usluga je nužno jer nam se svima događaju propusti i pogreške, a neke se greške pojavljuju zbog pogrešnih pretpostavki pa je poželjno da i drugi provjere softver kako bi se izbjegle. Po definiciji, testiranje softvera predstavlja proces analize elemenata softvera kako bi se utvrdila razlika između postojećeg stanja i zahtjeva i kako bi se ustanovile karakteristike softvera. Testiranje je važno raditi pravovremeno jer što se u ranijoj fazi otkrije greška, to su manji troškovi popravka. Web usluga je programski sustav koji je dizajniran da podržava interakciju između dva stroja preko mreže. Rezultati testiranja web usluge pokazuju koje funkcije ona omogućava, koja svojstva može pružiti i koliki kapaciteti se mogu koristiti. Najčešći načini razmjene podataka među web uslugama su preko REST i SOAP poruka. Kako bi ispravili nedostatke tradicionalnog razvoja softvera, razvojni inženjeri su s vremenom osmislili novi način razvoja, razvoj upravljan testovima. Ona ima neke značajne prednosti ispred tradicionalnog jer se testovi pišu i provode od samog početka projekta tako da se lakše izlazi na kraj s greškama, no ima i nekih nedostataka. Zbog nedostataka TDD-a poput nedovoljno dobrog odgovora na to što i kada testirati ili kako najbolje nazvati testove, došlo je do razvoja ponašanjem upravljanog razvoja. On je nadogradnja i poboljšanje TDD-a i ima puno prednosti, iako naravno i on ima svoje nedostatke. Jedan od najpoznatijih i najkorištenijih alata za BDD razvoj je alat Cucumber koji se koristi, osim za BDD, i za testiranje sofvera i web usluga. Razvoj u Cucumberu počinje izborom funkcija pa pisanjem scenarija, tj. poželjnih obrazaca ponašanja u jeziku Gherkin. Taj jezik je specifičan jer je vrlo sličan govornom prirodnom jeziku pa ga razumiju ne samo razvojni inženjeri, nego i poslovni klijenti. Nakon toga, definiraju se koraci koje je potrebno programski implementirati kako bi scenarij bio uspješno izvršen. Koraci se najčešće programiraju u jeziku Ruby. Usporedbom programa i aplikacija razvijenih na tradicionalan način s onima razvijenim u Cucumberu BDD metodologijom, utvrđeni su i opisani prednosti i nedostaci BDD razvoja u odnosu na tradicionalni.