
“Za razvoj izvrsnog digitalnog proizvoda, važno je krenuti s QA-om odmah, od nultog dana”
Kako znati imate li kvalitetan softver? Najbolji pokazatelj bit će zadovoljni korisnici. Kakvo iskustvo će zadovoljiti korisnika? Ono koje je prošlo niz testiranja i kontrolu na svim razinama. Evo kako to radi osječki COBE...
O uspjesima osječke digitalne agencije COBE već smo pisali u nekoliko navrata, a ovom prilikom donosimo priču o važnosti quality assurancea (QA) na projektu, benefitima koje QA nosi za klijenta i kako kontrola kvalitete izgleda na konkretnim primjerima.
O svemu navedenom popričali smo s Nikolinom Mihić koja je unutar COBE-a zaposlena na poziciji QA Leada.
Bez transparentne komunikacije nema ni uspješnog projekta
Nerijetko, u IT branši agencije pribjegavaju popularnoj agilnoj metodi rada, koja nije zaobišla ni osječki COBE. Prema toj metodi zaposlenici su organizirani u Scrum timove, pri čemu imaju svoje uloge unutar tima, a svaka uloga i pripadajuće odgovornosti.
Poseban naglasak stavljen je na transparentnu komunikaciju među članovima tima, bez koje, ističe Nikolina, projekt ne može rezultirati uspjehom. Kada pričamo o uspješnosti projekta, kako bi bili sigurni da će zadovoljiti klijentove želje, važna je kontrola kvalitete na svim levelima: od procesa, međuljudskih odnosa, pa do samog proizvoda. I tu na scenu dolaze QA inženjeri:
Kako bismo na pravilan način vršili kontrolu kvalitete, važno je krenuti s QA-om odmah, od nultog dana. U COBE-ju je Quality Assurance inženjer uključen u proces razvoja proizvoda od njegova početka do kraja.
Uključivanje QA inženjera u početnoj fazi omogućuje detektiranje grešaka vrlo rano, što ostavlja dovoljno vremena za njihov ispravak.
Probaj, pogriješi, ispravi, ponovi – tako kod nas izgleda kontrola kvalitete.
U sam proces razvoja softvera bitno je uključiti i klijente i korisnike

Razvoj softvera je kompleksan proces iza kojeg stoje ljudi – različitih uloga i karaktera, zatim klijenti – sa svojim prijedlozima, i naposljetku sami korisnici – čije potrebe morate prepoznati i zadovoljiti. Način na koji sve navedeno integrirate zove se definiranje procesa, a on mora biti kvalitetan kako bi svi članovi tima mogli neometano raditi.
Kako bi proces tekao glatko, od velike je važnosti uvijek slušati svoj tim – oni su ti koji najčešće nailaze na prepreke u procesu, ali će se potruditi i ponuditi kvalitetna rješenja. Osim toga, bitno je uključiti klijenta i korisnike u proces. Klijent vam može pomoći definirati potrebe vaših korisnika, dok vam korisnici mogu otvoreno reći hoće li nešto koristiti ili ne.
Kako bi proces definirali i proveli kvalitetno, veliki naglasak se stavlja na transparentnu komunikaciju.
Dobra komunikacija je ključ svega. Stoga je bitno stvoriti okruženje u kojem će tim moći otvoreno komunicirati, a tako otvaramo vrata i kvalitetnom načinu rada.
U razvoju softvera najbolji pokazatelj kvalitete proizvoda bit će zadovoljni korisnici
U COBE-u veliki naglasak stavljaju na isporuku kvalitetnog rješenja za klijente, a kako bi došlo do toga nužno je s vremena na vrijeme napraviti retrospektivu i detektirati što se radi dobro, a što loše.
Naravno, krajnji cilj svakog proizvoda je imati što više zadovoljnih korisnika, a to se postiže razvojem kvalitetnog, jednostavnog i intuitivnog proizvoda kojeg će korisnici htjeti koristiti.
Problem se javlja kada se fokus stavi na završavanje projekta u što kraćem roku, zbog čega kvaliteta proizvoda često trpi.
Osim toga, navodi Nikolina, proizvod neće biti skalabilan, što znači da će dugoročno zahtijevati više održavanja.
Tako ulazimo u začarani krug gdje najviše trpi upravo kvaliteta. Stoga je jako važno na samom početku definirati proces s klijentom kako biste u razvojnom ciklusu proizvoda mogli primijeniti najbolje i najkvalitetnije prakse.
QA ne osigurava samo kvalitetu nego i uštedu
Neporeciva je činjenica da u današnje vrijeme svi čitaju recenzije proizvoda prije nego što se odluče koristiti ga, i ako imate lošu recenziju, vrlo vjerojatno ćete odbiti buduće korisnike koji neće dati ni priliku vašem proizvodu.
Ovo ne iznenađuje budući da je konkurencija velika i samo se kvalitetnim proizvodom možete istaknuti kao broj jedan. A kako biste dobili taj kvalitetan proizvod, bitno ga je testirati. Proces testiranja je kompleksan, nekad i dugotrajan, ali je neizbježan. Biste li vi koristili proizvod koji nije testiran? Zamislite da morate koristiti bankovnu aplikaciju koja nije testirana – biste li se osjećali sigurno?
Uz ugled, Quality Assurance važan je faktor u uštedi; puno je jeftinije spriječiti grešku nego ju popravljati. Kroz zadnjih nekoliko godina od jednog člana QA tima, narasli su na brojku od devet. Do rasta je, dodaje, došlo postepeno kada su i drugi timovi i klijenti prepoznali vrijednost QA inženjera na projektu.
Dobar primjer je projekt koji je započeo s QA inženjerom na pola radnog vremena, danas ima tri QA inženjera koji rade puno radno vrijeme.
Trenutno rade na različitim projektima i pokrivaju različite industrije, od automobilske do vrtne tehnologije, a upravo ta raznolikost omogućuje im korištenje različitih tehnologija i razvijanje različitih setova vještina.
Tako imamo QA inženjere koji su izvrsni u testiranju Bluetooth aplikacija, do onih koji rade s velikim bazama podataka. Uvijek si međusobno u timu pomažemo i učimo jedni od drugih. Vjerujem da je to nešto što klijenti prepoznaju u radu s nama.
Drago nam je što su klijenti uvidjeli važnost QA, međutim drago mi je da tu važnost uočavaju i oni developeri koji prije nisu imali doticaja s QA inženjerima.

Dobar QA inženjer mora biti uključen u sve faze projekta i biti upoznat sa svim platformama
Kada se govori o tome što QA inženjer radi, prva asocijacija svima je pronalazak bugova. Međutim, to je samo jedan dio posla koji utječe na kvalitetu proizvoda. Glavna zadaća QA inženjera je osigurati da proizvod koji izlazi na tržište bude kvalitetan.
U COBE-ju, QA inženjer je integriran u development tim od samog početka do kraja projekta. Sastavni je dio svih sastanaka, a uključen je i u definiranje funkcionalnosti na projektu. Upravo zbog toga vrlo rano može uočiti potencijalne probleme i spriječiti razvoj određene funkcionalnosti u krivom smjeru.
Još jedan, vrlo bitan zadatak QA inženjera je pisanje testne dokumentacije. U ovom procesu QA inženjer razmišlja što sve može napraviti s nekom funkcionalnošću, odnosno što bi krajnji korisnik napravio. Kada ima spremnu dokumentaciju, može započeti s testiranjem. Uz greške, QA inženjer prijavljuje i moguća poboljšanja.
Prilikom samog testiranja, nužno je da QA inženjer razmišlja o više segmenata: Kako proizvod izgleda? Prati li dizajn? Ispunjava li funkcionalnosti koje je Product Owner definirao? Je li aplikacija intuitivna i jednostavna za korištenje? Mogu li ju koristiti na različitim uređajima? Koliko je aplikacija brza? Je li sigurna za korištenje?
Nakon što QA inženjer završi s pregledavanjem novih funkcionalnosti, mora provjeriti rade li i dalje stare funkcionalnosti. Ova faza se naziva regresijsko testiranje kojim se osigurava da aplikacija radi kako treba i nakon dodavanja novih funkcionalnosti.
Također, ne treba zaboraviti i automatsko testiranje. Kod repetitivnih zadataka, postoji opasnost da će se napraviti greška. Kako bi se to spriječilo, ali i ubrzao proces testiranja, testni scenariji se automatiziraju.
QA testeri (ni)su nepogrešivi?
Što se tiče izazova prilikom testiranja, Nikolina kaže kako je jedan od najvećih izazova uspjeti osigurati kvalitetu na što većem broju mobilnih uređaja.
Postoji toliko različitih brendova, Android i iPhone uređaja koji uglavnom imaju različite veličine zaslona i različite verzije operativnog sustava, što sve utječe na to kako će se određena aplikacija ponašati.
QA inženjeri nerijetko vode borbu s vremenom, odnosno nedostatkom istog:
Bukirati QA inženjera na projektu par sati mjesečno nažalost nije dovoljno. Lista stvari koju QA inženjer radi dugačka je i ako nema dovoljno vremena, ne može ni garantirati očekivanu kvalitetu aplikacije. Jako je bitno da i projektni tim i klijent ovo razumiju.
Na pitanje jesu li kod QA inženjera pogreške dozvoljene, Nikolina kaže kako su pogreške sastavni dio svakog posla, ali se, srećom, smanjuju s iskustvom i učenjem.
Kada je QA inženjer dio projekta od samog početka, u ranim fazama može upoznati njegove bolne točke i unaprijed uvidjeti propuste.
Osobine koje prema Nikolininom mišljenju krase dobrog QA inženjera su: uočiti bugove tamo gdje ih drugi ne vide i imati hrabrosti prijaviti ih.
Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.
Pravila ponašanja
Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:
Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.
Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.