Testiranje web-orijentiranih programskih rješenja

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 elemena...

Full description

Permalink: http://skupni.nsk.hr/Record/fer.KOHA-OAI-FER:46476/Details
Glavni autor: Vlašić, Ivan (-)
Ostali autori: Jevtić, Dragan (Thesis advisor)
Vrsta građe: Drugo
Impresum: Zagreb, I. Vlašić, 2015.
Predmet:
LEADER 06999na a2200241 4500
003 HR-ZaFER
005 20160715144818.0
008 160221s2015 ci ||||| m||| 00| 0 hr d
035 |a (HR-ZaFER)ferid2668 
040 |a HR-ZaFER  |b hrv  |c HR-ZaFER  |e ppiak 
100 1 |a Vlašić, Ivan  |9 37602 
245 1 0 |a Testiranje web-orijentiranih programskih rješenja :  |b diplomski rad /  |c Ivan Vlašić ; [mentor Dragan Jevtić]. 
246 1 |a Testing of web-oriented software solutions  |i Naslov na engleskom:  
260 |a Zagreb,  |b I. Vlašić,  |c 2015. 
300 |a 50 str. ;  |c 30 cm +  |e CD-ROM 
502 |b diplomski studij  |c Fakultet elektrotehnike i računarstva u Zagrebu  |g smjer: Telekomunikacije i informatika, šifra smjera: 53, datum predaje: 2015-06-30, datum završetka: 2015-07-03 
520 3 |a 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. 
520 3 |a Sažetak na engleskom: Software testing and web service testing are necessary because errors and failures happen to all of us, and some mistakes happen because of false presuppositions, so it’s advisable for others to validate software too so that errors could be avoided. According to definition, software testing is process of analysis of software elements so that we can determine a difference between existing state and requirements and so that software characteristic could be established. It is better to do testing sooner than later because if failures are founded in earlier phases than costs of repair are significantly lower. Web service is software system that is designed in a way that it supports machine to machine interaction over network. Results of web services testing show what functions does web service enable, which features does it support and how much capabilities can be used. The most popular ways of data transfer between web services are over REST and SOAP messages. In order to fix failures of traditional software development, software engineers have over time designed new way of software development, Test-Driven Development. It has some significant advantages over traditional testing and development because tests are written and run from the mere beginning of a project so that it is easier to handle errors, but still it has some disadvantages. Because of TDD failures like not good enough answers on questions like what and when to test and how to name tests in the best way, Behavior-Driven Development was developed. BDD is upgraded and improved TDD and has a lot of advantages, but of course it also has its own failures. One of the most popular and most used tool for BDD is Cucumber which is used, except for BDD, also for software testing and web service testing. Development in Cucumber starts with choosing features and then writing scenarios, wanted behavior models in Gherkin language. That language is specific because it is very similar to human natural language so it is understood not only by software engineers, but also business clients. After that, we define step definitions that we need to implement so that scenario could be successfully executed. Step definitions are usually implemented in Ruby language. Comparing programs and applications developed in a traditional way with those developed in Cucumber with BDD methodology, advantages and disadvantages of BDD over traditional development are determined and described. 
653 1 |a TDD  |a BDD  |a REST  |a SOAP  |a API  |a WSDL  |a XML  |a Cucumber  |a web usluga  |a testiranje  |a razvoj softvera  |a Gherkin  |a Ruby  |a definicija koraka  |a web  |a softver  |a testiranje softvera  |a test  |a greške  |a funkcijsko testiranje  |a razvojni ciklus  |a razvojni inženjer  |a programski kod  |a refaktoriranje  |a čišćenje koda  |a prednosti TDD-a  |a nedostaci TDD-a  |a prednosti BDD-a  |a nedostaci BDD-a  |a testni slučaj  |a modularizacija  |a agilni razvoj  |a krhki testovi  |a Zadano  |a Kada  |a Onda  |a scenarij  |a test prihvatljivosti  |a automatizirani test  |a čitljivost  |a jedinstveni jezik  |a svojstvo  |a specifikacije  |a pozadina  |a titrajući scenarij  |a krhka svojstva  |a spora svojstva  |a nezainteresirani sudionici  |a poslovni klijenti  |a sudionici  |a propusni scenarij 
653 1 |a TDD  |a BDD  |a REST  |a SOAP  |a API  |a WSDL  |a XML  |a Cucumber  |a web service  |a testing  |a software development  |a Gherkin  |a Ruby  |a step definition  |a web  |a softver  |a softver testing  |a test  |a error  |a functional testing  |a development cycle  |a software engineer  |a program code  |a refactoring  |a code cleansing  |a TDD advantages  |a TDD disadventages  |a BDD advantages  |a BDD disadventages  |a test case  |a modularization  |a agile development  |a fragile test  |a Given  |a When  |a Then  |a scenario  |a acceptance test  |a automated test  |a readability  |a ubiquitous language  |a feature  |a specification  |a Background  |a flickering scenario  |a brittle feature  |a slow feature  |a bored stakeholders  |a bussines clients  |a stakeholders  |a leaky scenario 
700 1 |a Jevtić, Dragan  |4 ths  |9 10205 
942 |c Y  |2 udc 
999 |c 46476  |d 46476