Online kursevi
Pronađi svoj kurs
Cubes School
Podrška
12 dec

Šta je Software QA ili testiranje software-a?

Testiranje softvera je organizacioni proces u okviru razvoja softvera u kojem se proveravaju ispravnost, kvalitet i performanse poslovnog softvera.

 

Testiranje softvera je organizacioni proces u okviru razvoja softvera u kojem se  proveravaju ispravnost, kvalitet i performanse poslovnog softvera. Testiranje softvera se koristi da bi se osiguralo da se očekivani poslovni sistemi i karakteristike proizvoda ponašaju ispravno i prema očekivanju.

Testiranje softvera može biti manuelni ili automatizovani proces.

Manuelno testiranje softvera vodi jedan tim ili pojedinac koji će ručno upravljati softverskim proizvodom i osigurati da se ponaša kako se očekuje.

Automatsko testiranje softvera sastoji se od više različitih alata koji imaju različite mogućnosti, od izolovanih provera ispravnosti koda do simulacije testiranja i ponasanja korisnika.

Prednosti testiranja softvera

Testiranje softvera štedi vreme organizacije i novac, smanjujući troškove razvoja i održavanja softvera. Testiranje softvera stvara stabilnost u razvoju novih funkcionalnosti. Testiranje osigurava da funkcionalnost radi kako se očekuje i da korisnici neće nailaziti na greške (bug-ove).

Vreme razvoja novih funkcionalnosti smanjeno je određivanjem seta test slučajeva (test case-ova) kojima nova funkcionalnost mora odgovarati da bi se smatrala završenom i isporučivom. Ovo daje programerima fiksne ciljeve za rad ka omogućavanju preciznije procene vremena i smanjenju novih grešaka. Nakon što su ovi test case-ovi primenjeni, ukupni troškovi održavanja se smanjuju. Testovi se mogu pokrenuti i na već isporučenim funkcionalnostima, kako bi se osiguralo da se i dalje ponašaju prema očekivanju.

Nivoi testiranja softvera

Postoji nekoliko osnovnih nivoa u testiranju softvera, pri čemu svaki nivo ispituje funkcionalnost softvera sa jedinstvene tačke gledišta unutar procesa razvoja.

U nastavku se nalaze  sve vrste testiranja i njihova praktična upotreba.

Unit testing

Unit testing (jedinično testiranje) je osnovni nivo testiranja softvera. Unit testing je praksa provere ispravnosti izlaznih vrednosti (outputa) na osnovu automatizovanih ulaznih vrednosti (inputa) za određene segmente/jedinice koda. Segment koda može biti u ovom slučaju nezavisna funkcija ili metoda.

Prilikom Unit testiranja, funkcije produkcijskog koda se izvršavaju na testnom okruženju sa simuliranim inputom. Rezultat funkcije se onda upoređuje sa očekivanim outputom za taj input. Ukoliko output odgovara očekivanom rezultatu, test je prošao.

Primer user story-a unit testinga bi bio nešto poput: „funkcija sa nazivom 2VAL, sa dve zadate vrednosti – X i Y, koje treba da vraćaju vrednost X+Y“. Unit test bi zatim izvršio 2VAL sa dve vrednosti i potvrdio da je izlaz bio X + Y. Unit testovi su odlični za potvrđivanje ispravnosti koda koji se primenjuje na monetarnim vrednostima.

Integration testing

Kada softverski test case pokriva više od jedne jedinice, smatra se integracionim testom. Prilikom razvoja softverskog test case-a, Unit testovi se brzo mogu razviti u integracione testove. Često Unit testovi podrazumevaju testiranje eksternih modula ili biblioteka. Ti eksterni moduli se ne testiraju već se lažiraju da bi test bio validan.

Funkcionalno ili End-to-End testiranje

Test case-ovi koji simuliraju iskustvo na nivou korisnika nazivaju se funkcionalni testovi ili end-to-end testovi. End-to-end testovi koriste alate koji simuliraju stvarno ponašanje korisnika.

 

Uobičajeni koraci u end-to-end testu:
– Kliknite na ovo dugme
– Pročitajte ovaj tekst
– Pošaljite ovu formu

End-to-End testovi verifikuju tačnost kroz sve slojeve softvera.

Istraživačko testiranje

Istraživačko testiranje je vežbanje testiranja, u kojem se testerima dodeljuje neprecizno definisan zadatak, uz  korišćenje softvera koji se testira. To znači da možete puno naučiti kako ljudi koriste vaš proizvod. Eksploratorske testne sesije mogu čak i motivisati svoje korisnike ponudivši nagrade za najveći broj problema, najbolju grešku ili radeći nešto neočekivano sa proizvodom.

Jedna od prednosti istraživačkog testiranja softvera je da se svako može pridružiti da pomogne u testiranju, jer sve što treba da uradi je da slobodno ispituje proizvod. Istraživačko testiranje nije nasumično, ali nije ni skriptovano kao manuelno testiranje.

 

Testiranje softvera u kontinuiranoj isporuci

 

Kontinuirana isporuka koristi sve gore navedene strategije testiranja kako bi se stvorio besprekorni sistem, koji automatski isporučuje završene taskove. Optimalna postavka bi omogućila programeru da pusti nedavno dovršeni task/kod u kontinuiranu isporuku na procenu. Sistem bi onda pokrenuo kod kroz nivoe testiranja. Ako kod prođe testiranje, automatski će biti spojen i raspoređen u produkciju. Ako ipak, kod ne prođe testiranje, biće odbijen i programer će automatski biti obavešten o koracima za ispravljanje.

 

Izvor: atlassian.com

 

 

Podeli

cubes facebook icon cubes twitter icon cubes linkedin icon