Testing - Investing

Testing - Investing

April 2019 | Agile, QA, Scrum

Autor: Dragana Karadžić - QA @4it.rs

Investiranje u proces testiranja softvera pomaže da sačuvate novac na duži vremenski period.

Kada krećete sa razvojem novog softverskog proizvoda, obično imate manje finansija na raspolaganju, i ne možete rizikovati nezadovoljstvo krajnjih korisnika.

Uvođenje lošeg, ne testiranog, softvera košta vas i vaše klijente.Takođe, veoma je važno investirati u alat koji će vam pomagati oko test menadžmenta, alat mora da bude precizan i lak za korišćenje, na taj način ćete povećati saradnju u timu i efikasnost.Što duže greška u softveru ostane neotkrivena, ispravljanje greške može biti skuplje i teže.

Tako da uključivanje QA tima tokom procesa razvoja proizvoda vam na duži rok smanjuje troškove i vremenski period podreban za “izbacivanje” kvalitetnog softverskog proizvoda.

Korisnički doživljaj igra ključnu ulogu u fazi gde su uključeni takozvani “early adopters”.

Na žalost, softverski bug ili nedovršena funkcionalnost uništava osećaj sigurnosti i pouzdanosti kod korisnika.

Loše korisničko iskustvo često rezultira u frustraciji i nezadovoljstvu.

Naspram toga, pozitivno iskustvo kao rezultat precizno testiranog softverskog proizvoda vodi ka zadovoljnim korisnicima.

Zadovoljni korisnici šire entuzijazam usmenim putem ka drugim mogućim korisnicima - što rezultira boljom prodajom.Manual vs Automated testingManualno testiranje je testiranje gde su svi testovi izvršeni ručno od strane QA inžinjera (testera) u svrhu pronalaženja problema u toku razvoja sofverskog proizvoda.U manuelnom testiranju, tester proverava sva suštinska svojstva datog softvera.

U ovom procesu, testeri izvršavaju test korake (test cases) i generišu test izveštaj (test report) bez pomoći bilo kog alata za automatizaciju ali uz moguće korišćenje alata za test menadžment.U našim timovima u 4IT-u koristimo Zephyr (JIRA add-on) jer sadrži skup alata koji nam omogućavaju brzinu i kvalitet testova, pravilnu dokumentaciju i odličan pregled svih aktivnosti koje su nam potrebne radi postizanja agilnosti kontinuiranog testiranja.U automatskom testiranju softvera, testeri pišu kod/skripte koje automatizuju izvšavanje testova.

Testeri koriste odgovarajuće alate da razviju test skripte i validiraju funkcionalnosti softvera.

Cilj je da se kompletno izvršavanje test procesa izvrši u najkraćem mogućem vremenskom periodu.Automatsko testiranje se u potpunosti oslanja na unapred definisane skripte koje se izvršavaju automatski i upoređuju dobijene sa očekivanim rezultatima.

Svi procesi se izvršavaju automatski, ipak, automatizacija zahteva manuelni rad da se inicijalno kreiraju test skripte.Mobile App TestingVeoma mali broj poslovnih poduhvata danas možemo zamisliti da funkcioniše bez mobilne aplikacije.Testiranje mobilnih aplikacija dozvoljava preduzećima da razviju aplikacije koje su skalabilne, i kojima je moguće pristupiti sa različitih platformi.

Taj proces razvoja zahteva testiranje funkcionalnosti, upotrebljivosti i konzistentnosti, može se postići kako manuelnim tako i automatskim testiranjem, a u najboljem slučaju kombinovanjem obe metode.

Mobilne aplikacije postaju sve složenije i raste potreba za end-to-end testovima.

Od samog početka, preuzimanja aplikacije sa marketa, besprekornog rada i pružanja istog korisničkog iskustva na različitim tipovima uređaja.Metode testiranja mobilnih aplikacija se mogu svrstati pod tri glavne kategorije: Cloud based testiranje Testiranje korišćenjem simulatora Testiranje korišćenjem uređaja Svi timovi u 4IT-ju koriste sve tri kategorije, jer svaka od tri navedene kategorije ima svoje prednosti poput raznolikosti i dostupnosti uređaja na cloud based sistemima, niske cene korišcenja simulacije, ili realnog doživljaja kod korišćenja fizičkih uređaja.

Naravno, postoje i mane kod svakog navedenog pristupa kao što su visoka cena kod korišćenja realnih uređaja, nerealan utisak kod simulatora ili problemi sa privatnošću kod pojedinih cloud based sistema.Zbog svega toga mislimo da je najvažnije biti fleksibilan i koristiti raznovrsne metode koje će pokrivati jedna drugoj nedostatke.Važnost test case manadžementaU Agilnom svetu, testiranje svih mogućih permutacija i kombinacija testova nije moguće.

Zato je važno za timove da naprave prioritete rizičnih delova pre nego što proizvod izađe na tržište.Iz našeg iskustva zaključili smo da nam rad u Scrum metodologiji rešava sve bitne nedoumice i konflikte.

Održavanjem sastanaka sa Stakeholder-ima kao i unutar tima uspešno planiramo vreme, postavljamo ciljeve i određujemo prioritete.Nakon sastanaka objektivno merimo kvalitet i pratimo progres.

Pravilan test menadžment nam omogućuje da razumemo kako naši napori u razvoju rezultuju i na kraju pokažu merivu vrednost ulaganja u QA sa početka investicionog procesa.Alat za test menadžment može doprineti smanjenju dupliranja podataka koje se tradicionalno dešava kada se zahtevi, testovi, defekti čuvaju kao nepregledna lista zahteva.

Alat omogućava da svi od poslovnih analitičara, developera, testera imaju jednak pogled na napredak koji je napravljen.Uspeh agilnog tima je primarno baziran na saradnji između Stakeholders-a.

Test menadžment alat osigurava da se developeri i QA inžinjeri razumeju, kao i to da su različiti test aseti dostupni na uvid u svakom trenutku.