Ako želite karijeru u IT kompaniji gde su uslovi rada fleksibilniji i zarade iznad proseka, često najlakši ulazak jeste putem QA (Quality Assurance) pozicija, ili testera, kako se zaposleni na ovim radnim mestima obično nazivaju. Razlozi za to su činjenica da za ove pozicije često nije potrebno programersko znanje, dok ga je moguće steći ako postoji želja i potreba za složenijim testiranjima softvera.
U ovom tekstu objasnićemo šta je QA i šta taj posao zapravo podrazumeva kako biste uvideli da li je za vas. Dobićete i neophodne informacije za početak ove karijere.
Posao testera podrazumeva proveru funkcionalnosti i performansi proizvoda (najčešće softveri) koje kreiraju programeri. Njihov zadatak je da identifikuju bagove (greške) i provere da li proizvod, pre nego se nađe pred korisnicima, izvršava funkcionalnosti koje bi trebalo.
Kako biste razumeli kako testiranje izgleda u praksi, podelićemo sa vama jedan jednostavan primer manuelnog testiranja.
Primer 1: Testiranje šoping korpe u web prodavnici
Na primer, moguće je testirati performanse šoping korpe u nekoj web prodavnici. Vaš zadatak bi bio da spoznate scenarije (test case) koje je potrebno testirati u konkretnom slučaju i da ih ručno istestirare.
Dakle, test case 1 bi podrazumevao testiranje dodavanja proizvoda u korpu (odlazak na stranicu gde se nalazi lista proizvoda i dodavanje proizvoda u korpu). Drugi test scenario, test case 2, bi bio uklanjanje proizvoda iz korpe (odlazak na “cart page” i uklanjanje proizvoda iz korpe).
Testiranje može biti dosta složenije od navedenog primera, ali se zadaci usložnjavaju vremenom i obično ih postepeno savladavate.
Posao testera uključuje testiranje različitih aspekata nekog softvera. Prema predmetu testiranja, moguće je izdvojiti nekoliko tipova testiranja:
U ovom slučaju, tester proverava funkcionalnost i karakteristike nekog softvera. Cilj je utvrditi da li proizvod izvršava funkcije koje bi trebalo i na način koji je predviđen.
Testiranje korisničkog interfejsa uglavnom podrazumeva testiranje onoga što korisnik neposredno vidi kada koristi neki sajt, aplikaciju i slične proizvode. U ovom slučaju se testira raspored elemenata i dizajn, ali i funkcionalnost interfejsa. Dakle, proverava se da li su dugmad (buttons) na mestu gde je korisnicima najpraktičnije za upotrebu, njihova boja, boja ostalih elemenata, fontovi, kao i intuitivnost celog interfejsa, što je važno za celokupno iskustvo korisnika.
Moguće je testirati i to kako se određeni softver ponaša pod različitim okolnostima, kao što je, na primer, slučaj kada ga koristi veliki broj korisnika u jednom trenutku. Tada se proverava brzina softvera, stabilnost, izvršavanje funkcija za koje je predviđen i slično.
Kada se proverava sigurnost softvera, identifikuje se ranjivost sistema, pretnje i rizici u njegovom funkcionisanju kako bi se osigurala zaštita podataka. Ovo podrazumeva testiranje funkcije softvera da osigura da su korisnici stvarno oni za koje tvrde da jesu (autentifikacija) ili da određenim funkcijama mogu da pristupe korisnici sa određenim dodeljenim ulogama (autorizacija).
Ova vrsta testiranja se zove i “testiranje kompatibilnosti” jer je reč o proveri toga da li proizvod funkcioniše ispravno na različitim uređajima (kompjuter, telefon, tablet), pretraživačima (Google Chrome, Firefox, Safari) i operativnim sistemima (Linux, Windows).
Lista predmeta testiranja je dugačka i ako se budete bavili ovim poslom, upoznaćete se sa velikim brojem njih.
Verovatno vam je poznato da postoje dve metode u testiranju softvera: manuelno i automatsko. Na početku karijere obično se kreće od manuelnog, jer uglavnom ne zahteva upotrebu aplikacija i programersko znanje.
Manuelno – tester proverava funkcionalnost i ostale karakteristike softvera bez upotrebe različitih alatki. Testiranje se izvodi ručno, po scenarijima (test case) koje je predvideo.
Automatsko – podrazumeva upotrebu alatki za testiranje, kao i pisanje skripti u određenim programskim jezicima koje automatski vrše testiranje softvera. Automatsko testiranje pogodno je za složene predmete testiranja i omogućava pokretanje velikog broja testova po različitim scenarijima.
Neizostavni deo testiranja softvera je osmišljavanje različitih scenarija (test case) ponašanja softvera koje je potrebno testirati kako bi svi mogući slučajevi, neophodni za testiranje, bili pokriveni.
Na primer, ako se testira login stranica na nekom sajtu, prvi scenario bi bio da je password validan, drugi da korisnik nije uneo ispravnu šifru, dok bi treći bio resetovanje lozinke.
Scenariji testiranja se uglavnom unose u dokument koji sadrži listu upita koje je neophodno ispuniti:
– Test case ID
– Kratak opis predmeta testiranja
– Koraci testiranja
– Očekivani rezultat
– Stvarni rezultat
– Status (pass/fail)
Ovakav dokument omogućava organizovanost i preglednost svakog slučaja testiranja (test case).
Za upravljanje i organizovanje testiranja, koriste se i aplikacije (Test Case Management Tool) poput TestRail, Jira, Zephyr i sličnih alatki. One su posebno korisne za organizovanje i preglednost većeg broja slučajeva testiranja, ali mnoge od njih nude i predloge scenarija testiranja (test case) koji mogu biti od velike pomoći testerima.
Nakon što smo objasnili osnovne pojmove u testiranju, osvrnućemo se i na moguće načine započinjanja QA karijere.
Dobra vest za sve je da je prag ulaska na ove pozicije nizak upravo zbog toga što za početne pozicije nije neophodno poznavanje programskih jezika kada je reč o manuelnom testiranju.
Postoji dosta besplatnih ili pristupačnih izvora koje možete iskoristiti za učenje:
Udemy: Nudi različite kurseve o QA testiranju, od početničkog do naprednog nivoa.
Coursera: Pruža kurseve sa univerziteta i kompanija o softverskom testiranju.
LinkedIn Learning: Ima kurseve o QA testiranju i srodnim temama, često ih predaju industrijski stručnjaci.
Pluralsight: Nudi širok spektar kurseva o softverskom testiranju i QA, uključujući automatizaciju i specifične alate.
EdX: Pruža kurseve sa univerziteta širom sveta, koji pokrivaju principe i prakse softverskog testiranja.
Software Testing Help: Posvećena web stranica koja nudi tutorijale, članke i kurseve o QA testiranju.
Test Automation University: Nudi besplatne kurseve o automatizaciji testiranja, što je blisko povezano sa QA testiranjem.
YouTube: Mnogi kanali nude tutorijale i objašnjenja o QA testiranju, konceptima i alatima.
Oni koji su se upustili u QA karijeru kažu da je najbolje učenje kroz rad, jer se tako svakodnevno susrećete sa različitim slučajevima. Rešavajući ih, razvijate veštine neophodne za ovaj posao.
Ukoliko još uvek nemate priliku za praksu ili posao, postoje “open source” projekti na platformi GitHub koja početnicima nudi priliku za volontiranje.
Postoji još mnogo informacije koje možemo reći o QA pozicijama, ali najbolje znanje i veštine steći ćete kroz rad. Iako ulazak u nešto novo može doneti neizvesnost, ali otvorenost ka učenju i strpljenje mogu vas odvesti do pozicije u kojoj ćete se osećati udobno.
Imaš pitanje ili komentar?