Ako se krećete u krugovima softver testera, često možete da čujete diskusiju o manualnom i automatizovanom testiranju. Ta podela je danas toliko jaka da utiče na nazive uloga u timu, pa čak i na karijere pojedinih testera. Međutim, postavlja se pitanje da li je ta podela stvarna ili veštačka?
Manualnim testiranjem (kao što samo ime i kaže) smatra se ono testiranje u kojem tester ručno izvršava test aktivnosti (npr. test slučajeve) na softveru bez upotrebe pomoćnih alata. Mana ovakvog rada je dugotrajnost celog procesa i mogućnost ljudske pogreške. Mnogi bi rekli i da je veoma skupo, ali upravo ljudski faktor u ovom načinu testiranja često je ključan kod što bolje evaluacije. Kreativnost koju ljudi ispoljavaju, pogotovo kad se bave testiranjem baziranim na iskustvu, je faktor koji još dugo neće moći da se zanemari u svetu testiranja softvera. Sa druge strane, automatizovano testiranje izvršava se uz pomoć softvera ili automatskih skripti. Za cilj takođe ima proveru proizvoda, ali izvršavanje je veoma brzo i prilikom višestrukog ponavljanja ne dolazi do zamora i pojave grešaka koje su tipične za ljude. Razumevanje ograničenja oba načina testiranja, kao i postavljanje realističnih očekivanja, ključni su da bi na nekom projektu odredili odgovarajuću strategiju i razvili adekvatan pristup testiranja softvera.
“Manualno” testiranje ima mnogo vrlina. Kada interaktivno rukujete softverskim proizvodom, bolje od bilo koje skripte zapažate i procenjujete na kojim mestima softver može da bude ranjiv. Iako na prvi pogled sporije, ručno testiranje ponekad skraćuje ukupno vreme potrebno za proveru softvera jer probleme razumete na konceptualnom i emotivnom nivou. Vi se pretvarate da ste krajnji korisnik koji će da softver i koristi, a kroz primenu test aktivnosti učite o proizvodu koji testirate i konstantno razvijate nove ideje za nove testove. Srž i lepota testiranja je upravo u toj “igri” sa softverom i jasno je da takvu radnju ne može (još uvek) da oponaša nijedna automatizovana test skripta.
Međutim, ne smemo da zanemarimo načine na koje automatizacija može da pomogne i ubrza zadatke poput prikupljanja ili pripreme test podataka, instaliranja i konfigurisanja softvera, praćenja kako se softver ponaša, itd. Pogotovo je korisna kod ponavljajućih zadataka i testiranja regresije - evaluacije komponenti softverskog proizvoda koje nisu menjane a na čiji ispravan rad može da utiče promena implementirana u nekoj drugoj komponenti. Iz toga možemo da izvedemo zaključak - automatizovano testiranje nadopunjuje manualno. Super je kada se ponekad možete osloniti na automatsku skriptu za brze i brojne provere. Ali kada radite na novom softveru i morate da odlučite šta treba evaluirati i na koji način, kada morate da napravite analizu rizika i kritički interpretirate rezultate - to su radnje koje, do sada, nismo naučili kako da automatizujemo.
Da zaključimo, kod manualnog i automatizovanog testiranja ne postoji ili-ili odnos. Testiranje je mnogo više od običnog traženja bugova. Testiranje nam pomaže da razumemo softverski proizvod i pronađemo slabe tačke koje bi se mogle poboljšati da bi softver bio bolji. Dobar tester je profesionalac koji pokušava da konstantnim preispitivanjem i pretpostavljanjem grešaka, pomogne da razvojni tim isporuči najbolji mogući proizvod i u stalnoj je komunikaciji sa klijentom, kao i programerima u svom timu. To je nešto što se ne može postići automatizacijom, ali automatizacija može da ubrza aktivnosti na kojima svakodnevno radi i oslobodi mu prostor da ispolji svoju kreativnost.
Podelite Vaše mišljenje sa nama na Linkedin-u