Testiranje, testiranje i testiranje - tajna za uspješno skaliranje

Koja je tajna izrade aplikacije spremne za skaliranje? Testiranje, testiranje i testiranje.

Kako napraviti aplikaciju koja je spremna za skaliranje, u svakom smislu te riječi? Aplikaciju koja može ne samo podnijeti i podržati eksponencijalni rast korisnika bez štucavica i crasheva, već i zadovoljiti njihove ponekad vrlo različite potrebe? Razgovarali smo s timovima koji su imali nelaku zadaću osigurati da nadolazeća verzija aplikacije Moj Vip jednako dobro posluži svakom od preko 2 milijuna korisnika.

Kao što ste već primijetili, riječ je o množini, točnije o 3 vrlo različita tima koja su bila potrebna da aplikacija funkcionira i uspješno skalira u svakom smislu te riječi, a bili su zaduženi, redom, za kreiranje koncepta, tehničku implementaciju i korisničko testiranje.

Koncept koji zadovoljava sve – mit ili stvarnost?

Tanjina zadaća bila je osigurati da se prioriteti svih odjela uzmu u obzir.

Prvi izazov kod aplikacije koja nema samo velik broj korisnika (u ovom slučaju više od 2 milijuna), već i korisnike vrlo različitih profila i prioriteta, je razviti novi koncept i dizajn koji će do neke mjere zadovoljiti sve – lakše rečeno nego učinjeno.

U istraživačkoj fazi projekta organizirane su 3 radionice s predstavnicima različitih odjela u Vipnetu, kako bi zajednički došli do željenog roadmapa, objasnila je Tanja Krasić, rukovoditeljica odjela za korisničku analitiku i digitalno korisničko iskustvo. No rezultat inicijalne radionice bio je daleko od idealnog:



Cilj prve radionice bio je osvijestiti predstavnike poslovnih područja o postojećim funkcionalnostima i mapirati funkcionalnosti prema važnosti iz perspektive pojedinog poslovnog područja. Svaki od sudionika pojedinoj funkcionalnosti je dao prioritet i logičku poziciju unutar arhitekture aplikacije. Kad smo na kraju dana sve stavili na jedno mjesto, bilo je svima jasno da se ovisno o poslovnom području, prioriteti u potpunosti razlikuju i da moramo doći do zajedničkog stava oko funkcionalnosti.

Kako bi našli zajednički jezik, pomogle su design thinking metode pa su tako u drugoj, dvodnevnoj radionici definirali nove funkcionalnosti, a posljednja radionica organizirana je kako bi svaki predstavnik poslovnog područja detaljizirao svoju viziju funkcionalnosti kroz storyboarding metode

O prioritetima su na kraju ipak odlučivali – podatci:



Napravili smo presjek udjela korištenja postojećih funkcionalnosti s informacijama koje imamo o korisnicima koji koriste Moj Vip, poput tarife koju koriste, tip računa koji primaju itd. Analiza broja upita na drugim kanalima podrške dala nam je uvid u poželjne nove funkcionalnosti na aplikaciji. Osim kvantitativnih analiza, radili smo i niz istraživanja tržišta.

Na kraju je održana i radionica sa samim korisnicima, gdje su krajnji korisnici mogli “složiti” svoju aplikaciju od različitih dijelova – predložene funkcionalnosti i njihovi prioriteti su se poprilično poklapali zahvaljujući prethodnoj iscrpnoj analizi, iako je bilo i pokoje iznenađenje:

Jedna od ideja s kojima bismo se približili digital native populaciji je bio razvoj widgeta potrošnje jedinica uključenih u tarifu. Nama se to činilo kao praktično i popularno rješenje, ali nas je iznenadilo da su gotovo svi korisnici rekli kako tu funkcionalnost ne bi koristili. Na kraju smo potpuno odustali od te funkcionalnosti.


Mnogo različitih sustava koji rade kao jedan

Ovaj se tim brinuo da aplikacija bude stabilna.

Stabilnost aplikacije, pogotovo pri većem broju korisnika, teško je osigurati i u najjednostavnijim aplikacijama, a to je ujedno bio i najveći izazov Vipnetovog tehničkog tima, koji su činili Luka Markasović, Blaženka Čaušić,  Jozo Petrović, Izabela Šerić  i Damir Poljak.

Podatci koji se prikazuju krajnjem korisniku rezultat su međudjelovanja različitih elemenata koji čine Vipnet sustav, od telekomunikacijske mreže, preko prijenosnih sustava do baze podataka i procesora. Najveći tehnički izazov je osigurati stabilnost svih elemenata, samim time i sustava, te tako postići konstantan rad. Ako su sve karike u našem lancu stabilne, sustav je dovoljno robustan da pruži jednaku brzinu jednom kao i milijun korisnika.

Drugi izazov nove aplikacije došao je s novim konceptom personalizacije. Korisnik može u velikoj mjeri sam odrediti što želi vidjeti na svom početnom zaslonu, objašnjava Jozo Petrović, specijalist za projektiranje i razvoj programske podrške:

Naš tim je, stoga, morao iz perspektive korisnika zatražiti podatke koje želi vidjeti u određenom dijelu aplikacije. Tehnički izazov je odabrati set podataka koji će zadovoljiti brzinu odgovora, opterećenje različitih sustava te zahtjeve korisnika. Tijekom razvoja, konstantno se radilo na testiranju odziva pojedine metode te se tako kombinirao set podataka kako bi se postigla najveća korelacija između zahtjeva i brzine. Na ovaj dio smo izrazito ponosni, jer se postiglo optimalno rješenje.

Na aplikaciji, koja je u zadnjim fazama korisničkog testiranja, kontinuirano se rade razne unutarnje izmjene, na frontendu i backendu, kako bi se olakšalo održavanje i smanjila eventualna mogućnost greške u sustavu koja rezultira nezadovoljstvom korisnika. No prije korisničkog testiranja, aplikacija je morala proći i detaljno tehničko testiranje:

Testiranje u modernom razvoju sve više podrazumijeva isprepletenost s implementacijom. Što se nepravilnost ranije otkrije, jeftinije ju je ukloniti. Svaka nova metoda koju programer napiše zahtijeva provedbu testiranja rada. To radi programer ili netko drugi iz tima, ovisno o raspodjeli vremena. Po završetku implementacije neke smislene cjeline, radi se testiranje rada cjeline od strane svih zaposlenika, koji su od početka projekta imali ulogu takozvanih beta testera.

CX nisu samo dva slova na papiru

Problema s pronalaskom testera nije bilo, ističe Damir – svi su htjeli doprinijeti.

I na kraju aliterativnog niza testiranja koncepta pa koda dolazi i korisničko testiranje. Za to su regrutirali ponajprije vlastite zaposlenike, prepričao nam je proces Damir Kljajić, viši savjetnik za digitalno korisničko iskustvo:

Objavljen je poziv za regrutiranje beta testera na našim internim digitalnim kanalima komunikacije – intranetu i Workplaceu, a odaziv je bio više nego odličan iako nas to nije iznenadilo. Jednostavno smo znali da su ljudi zainteresirani i da žele doprinijeti svojim testiranjem boljem proizvodu. Društvo za testiranje bilo je „šareno“, dolazili su iz svih sektora, a čak smo imali i člana leadership tima.

Samo korisničko testiranje sastojalo se od nekoliko faza: regrutiranja testera, distribucije aplikacije i prikupljanja bugova:

Dakle, na prijavljene korisnike distribuira se beta verziju aplikacije na Google beta store i Test flight, ovisno o operativnom sustavu. Svi testeri tada dobivaju notifikaciju da je aplikacija dostupna, nakon čega su može pristupiti testiranju. Sve beta verzije imaju integriran SDK koji omogućuje davanje korisničkog feedbacka. Bugovi, komentari i prijedlozi stizali su u dashboard, nakon čega se, ovisno o odgovornosti, distribuiraju dalje na ispravljanje.

Uz gore spomenuto korisničko testiranje, ističe Damir, paralelno su se radila e2e testiranja koje je odradio službeni Vipnetov testni tim. Radi se o testiranju servisa koji komuniciraju s back-end sustavima (npr. aktivacija opcija), ali i testiranju pravila prikaza određenih servisa ili komponenti prema tipu korisnika. Preko 2000 testnih slučajeva napravljeno je prvo u testnoj okolini, a zatim i na beta verziji.

Kako na kraju osigurati da aplikacija radi i skalira što bolje? Odgovor možemo sažeti u formulu 3T3K – testiranje, testiranje, testiranje; koncepta, koda i s korisnicima. Koliko je to dobro odradio Vipnet, saznat ćemo uskoro kada nova verzija aplikacije Moj Vip izađe iz beta verzije i sleti na naše telefone.

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:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

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.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Što ste propustili

Pametni automobili

Napokon smo se provozali Verneovim robotaksijem!

Nakon što smo u Zagrebu bezuspješno pokušali uhvatiti Verneov robotaksi putem Uberove aplikacije, zvijezde su se posložile i mi smo dobili poziv koji se ne odbija.

Umjetna inteligencija

Tko zbog AI-ja i dalje ulaže u ljude, a tko otpušta 50% radne snage?

Dok neke tvrtke nastavljaju i zapošljavati i ulagati u AI, druge su odabrale samo potonje. Kako različite tvrtke pristupaju promjenama na tržištu, doznali smo na Automation Summitu.

Novost

Gamepires najavio otpuštanja, smanjuje tim koji radi na SCUM-u

Gamepires, koji stoji iza igre SCUM, smanjuje broj zaposlenih zbog zahtjevnih tržišnih uvjeta. Objava dolazi nekoliko mjeseci nakon što je studio preuzeo britanski Splash Damage.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Veliki intervjui

Ako AI može napraviti film ili igru, što ostaje kreativcima? Odgovara CEO Nanobita

Može li umjetna inteligencija promijeniti način na koji nastaju filmovi i igre, a da pritom ne žrtvujemo kvalitetu priče i kreativnu viziju? Nanobit već testira odgovor na to pitanje, razvijajući AI produkcijske procese koji otvaraju mogućnost stvaranja sadržaja velikom brzinom.

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.