Testiranje softvera je proces ispitivanja softvera radi prepoznavanja grešaka i utvrđivanja da li softver radi prema planu, koje se vrši na osnovu skupa odabranih testova. U širem smislu, testiranje softvera je tehnika kontrole kvaliteta softvera, koja uključuje određivanje kriterijuma za testiranje, izvršenje testiranja i analizu dobijenih rezultata.
Kriterijumi za testiranje su obično sledeći:
– funkcionalnost;
– lakoća razvoja;
– jednostavnost instalacije;
– kvalitet dokumentacije i podrške;
– performanse itd.
Glavna svrha je pokazati da je proizvod spreman za puštanje na tržište i da su sve funkcionalnosti stabilne.
Da li je dobrom programeru potrebno testiranje?
Teško da će se naći programer koji savršeno piše kod. Ljudi su skloni greškama, koje se mogu desiti u svim fazama razvoja softvera, a ljudska greška može dovesti do greške u softveru. Štaviše, čak i iskusni programer može da napravi previd i preskoči greške u svom kodu.
Uzmimo za primer najveće kompanije: Google, Facebook, Rockstar, Sony itd.- Oni zapošljavaju najstručnije programere iz celog sveta. Međutim, čak i oni mogu napisati nebezbedan kod.
Prema Software Fail Watch-u, koji se bavi globalnom analizom softvera u okviru kompanije Tricentis, kompanije su tokom 2017. izgubile 1,7 milijardi dolara zbog bagova na softveru.
Kvalitetno testiranje softvera može značajno da smanji broj zahteva za proveru kvaliteta softvera u fazi implementacije, da smanji troškove dorade, ispravki i održavanje sistema. Kao rezultat toga, troškovi održavanja softvera smanjuju se za 15-20%, a programeri koji su radili na tom projektu su na boljem glasu.
Nasuprot tome, ako se ne sprovede potrebno testiranje softvera, troškovi održavanja se mogu povećati za 80–85% za razvoj i implementaciju, a uz to, potencijalni broj kupaca će se smanjiti.
Sigurno poslovanje
Hakeri mogu da iskoriste neke greške i propuste. Neke greške možete odmah uvideti, kroz trenutne gubitke, a neke se mogu tek kasnije primetiti. Zapravo, uvek bi trebalo da budete svesni mogućnosti otkrivanja poverljivih podataka ili krađe baza klijenata.
Štedi novac
Uvek je teže ispraviti grešku nego sprečiti da se desi, a uz to je i mnogo skuplje. Ako se greške ne otkriju na vreme, biće mnogo teže ispraviti ih. Uglavnom zato što ispravka jedne greške može usloviti ispravke i drugih koje su povezane, a mogu i uticati na drugu funkcionalnost.
Programerima je potrebno dosta vremena da pronađu uzrok problema i da izvrše sve potrebne modifikacije koda. Svi znamo da vreme znači novac u razvoju softvera, tako da je bolje sprečiti te probleme na početku.
Zato se iterativni pristup Agilne metodologije razvoja softvera savršeno uklapa u poznati koncept testera „testirajte što je pre moguće i još češće“. Zaista, svaki korak u razvoju softvera trebalo bi da završi testiranjem.
Zaštita ugleda
Proizvod pušten na tržište sa mnogo bagova sigurno neće zadovoljiti korisnike koji ga koriste. Uvek treba imati na umu da je prvi utisak teško promeniti.
Tako da u budućnosti može biti teško dokazati da je problem rešen i vratiti poverenje u stabilnost proizvoda.
Proces kontrole
Testiranje softvera može se posmatrati kao jedan od metoda koji se koriste za kontrolu. Proces razvoja softvera uvek treba nadgledati i trebalo bi da merite da li ide prema predviđenim zahtevima ili ne.
Svi učesnici u projektu žele efikasno testiranje, jer omogućava smanjenje troškova razvoja i ispravljanje grešaka, poboljšanje kvaliteta proizvoda itd. Generalno, ukoliko je na projektu sprovedeno adekvatno testiranje, ukupan broj pronađenih grešaka je manji.
Nije važno kako proizvod izgleda, jer u osnovi njegovog kvaliteta leži tona obavljenog posla. U većini slučajeva, software testeri omogućavaju korisnicima nesmetano korišćenje proizvoda, tako što prethodno provere da li sve dobro funkcioniše.
Ne bi trebalo zapostaviti ovu fazu ciklusa razvoja softvera, jer će se na taj način uštedeti puno novca i živaca 🙂
Izvor: medium