Testiranje performansi mobilne aplikacije
โก Pametni saลพetak
Mobile App Performance Testing measures how quickly an application starts, how much battery and memory it consumes, how fast its APIs respond, and how gracefully it behaves on unreliable networks.
For any mobile app, performance is very critical. If your Mobile App does not perform well, the end user will uninstall your app and find another application that performs better.
Vaลกu mobilnu aplikaciju potrebno je temeljito testirati prije nego ลกto je objavite krajnjem korisniku.
Strategija testiranja mobilnih aplikacija
Uฤinkovitost aplikacije na mobilnom telefonu ili bilo kojem pametnom ureฤaju obiฤno se mjeri u sljedeฤe tri kategorije.
- Performanse ureฤaja
- Performanse posluลพitelja/API-ja
- Izvedba mreลพe
The diagram below maps those three layers to their checks.
Performanse ureฤaja
Kad klijent doลพivi sporu aplikaciju, postaje ลพivciran.
For device performance, you will check following:
- App Start-Up: Koliko je vremena potrebno vaลกoj aplikaciji da se pokrene? To je prvi parametar performansi koji prosuฤuje korisnik. Kao pravilo, nakon ลกto korisnik dodirne ikonu aplikacije, prvi zaslon trebao bi se prikazati za 1-2 sekunde.
- Battery Time while using an app: On constant use, some mobile apps consume a high amount of battery life and heat the phone. This normally happens when your app is using more resources than required, which creates a burden on the processor.
- Potroลกnja memorije: Kada Ispitivanje aplikacije, potrebno je provjeriti potroลกnju memorije aplikacije. Implementacijom odreฤenih funkcionalnosti u aplikaciji poveฤava se i potroลกnja memorije. Na primjer, u Android aplikacije kada se implementiraju push obavijesti, potroลกnja memorije se poveฤava.
U nekim sluฤajevima primijeฤeno je da cijeli OS koristi memoriju samo 14%, ali nova aplikacija troลกi 11%. Dakle, ovi se ฤimbenici moraju rijeลกiti prije postavljanja aplikacije u stvarni svijet ili davanja klijentu.
- Hardware/Software Variation: Prilikom testiranja mobilne aplikacije, obavezno je provjeriti aplikacije na razliฤitim ureฤajima. Moลพe se dogoditi da aplikacija radi glatko na jednom ureฤaju, ali ne i na drugom. Kao i za razliฤite dobavljaฤe Android ureฤajima, moลพemo provjeriti aplikaciju na telefonima Samsung, HTC i Lenovo. Sliฤno tome, aplikaciju je potrebno testirati s razliฤitim specifikacijama RAM-a i procesora kao ลกto su 1 GB ili 2 GB.
- Usage with Other Apps: Kada aplikacija koja se testira radi paralelno s drugim aplikacijama, ne bi trebalo biti smetnji. Najbolji naฤin da to provjerite je da zamijenite aplikaciju koja se testira i druge aplikacije.
- App in background: When an app that is running in the background is retrieved, it should remain in the same state as it was before. If this scenario is not handled properly, then data get lost. Related lifecycle cases are covered in testiranje prekida.
Performanse posluลพitelja/API-ja
When the app is interacting with the server via API, the response time becomes critical to performance. For Server performance, you will check:
- Data to and from server: The app should handle data efficiently that is sent from the server. It must not take too much time while loading data. In certain apps, data is sent in a specified format, so before displaying it in the app, it should be converted to a relevant format. In this process, apps sometimes become slower and response time becomes longer.
- API Calls Generated from App: Broj poziva iz aplikacije koja se testira prema posluลพitelju generiranih iz aplikacije trebao bi biti manji. U nekim sluฤajevima, viลกestruki API pozivi se upuฤuju za istu funkciju. Za bolju izvedbu, ovo bi se trebalo rijeลกiti s manjim brojem poziva.
- Server Down Time: Due to any reason if the server is down or unreachable we can save data in the native database. So, whenever the server is down, we can show data stored in the native database. Another solution could be the failover database servers, i.e. if one of the servers is down or in maintenance phase the backup server should be available to switch over. The failover/backup server should be in continuous replication and synchronization with the main server.
Izvedba mreลพe
Potrebno je izmjeriti izvedbu aplikacije na razliฤitim mreลพama i svojstva mreลพe.
Za performanse mreลพe provjerit ฤete sljedeฤe stvari.
- Jitters: Kada postoji kaลกnjenje u primanju informacija na mreลพi, tada se to naziva podrhtavanjem. To je problem s mreลพama bez povezivanja ili mreลพama s paketnom promjenom. Kako se informacije distribuiraju u pakete, paketi mogu putovati razliฤitim putem od poลกiljatelja do primatelja. Kada podaci stignu na ลพeljenu lokaciju, postaju kodirani nego ลกto su izvorno poslani. U sluฤaju treme, mobilna aplikacija trebala bi biti dovoljno sposobna da se nosi s tim.
You need to show the appropriate notifications to the end user, either to resend the request or wait till the system responds again.
- Izgubljen paket: U sluฤaju potpunog gubitka paketa, aplikacija bi trebala moฤi ponovno poslati zahtjev za informacijama ili bi trebala generirati upozorenja u skladu s tim. Ako podaci nisu potpuni, tada korisnik neฤe moฤi razumjeti informacije prikazane u aplikaciji. Ovo moลพe biti stresno za korisnika. Stoga je bolje prikazati odgovarajuฤu poruku ili pozvati korisnika da pokuลกa ponovno.
- Brzina mreลพe: The app needs to be checked on a variety of networks with variable speed. The app should be tested on 3G, 4G, and 5G networks. Both Wi-Fi and mobile networks are included in this. Also, the behavior of app should be monitored, especially when both networks are available and switching occurred from one network to another.
For example, an issue may arise in an app for the users while switching phone network from 4G to Wi-Fi and vice versa. In this case, the app becomes unresponsive and may require restarting the app for use.
Rjeลกavanje problema s izvedbom mobilnih aplikacija
Nakon otkrivanja pitanja/problema dok Ispitivanje performansiVrijeme je za trace i ispraviti greลกke.
Problem 1) Kaลกnjenje ili spor odgovor mobilne aplikacije.
Uzrok ovog kaลกnjenja moลพe biti RAM, predmemorija itd.
Morate ubiti nepotrebne procese ili oฤistiti predmemoriju. Rjeลกavanje problema s vezom moลพe rijeลกiti neke od problema koji stvaraju kaลกnjenja
Problem 2) Aplikacija se ponovno pokreฤe, zakljuฤava, zamrzava ili ne reagira.
To se moลพe popraviti nekim od sljedeฤih koraka
- Optimiziranje aplikacijskih kodova
- Softver treba zakrpati i aลพurirati.
- Automatsko vraฤanje
- Upravljanje RAM-om ili u nekim sluฤajevima ROM-om tijekom koriลกtenja vanjskih kartica
- Wiping particioniranje predmemorije
- Verifying the app working with other third-party apps and APIs
- Kartaping mobilna aplikacija prema ureฤaju
Korisni alati za testiranje mobilnih aplikacija
Alati za testiranje mobilnih aplikacija razlikuju ovisno o ureฤaju ili mobilnom OS-u. Neki uobiฤajeni alati za testiranje performansi mobilne aplikacije su
ANDROID
- Robotium To je baลก kao Selenium za mobilne aplikacije. Ispitivaฤ moลพe snimiti i reproducirati nekoliko koraka koji su potrebni za izvoฤenje testiranja.
- Majmun Trkaฤ MonkeyRunner moลพe izvoditi testove na stvarnim ureฤajima spojenim na raฤunalo ili emulatore. Alat ima API koji omoguฤuje upravljanje pametnim telefonom, tabletom ili emulatorom izvana Android kodirati.
โ ๏ธ Napomena o verziji: Oboje Android entries are legacy. Robotium has had no release since 2016, and Google marks MonkeyRunner unmaintained, pointing teams to UI Automator and its uiautomatorviewer inspector instead.
APPLE
- automatik (Mac) Automator is an application developed by Apple for macOS. It implements point-and-click (or drag and drop) creation of workflows for automating repetitive tasks into batches for quicker alteration. This saves time and effort over human intervention to manually change each file separately.
Izazovi
Kljuฤni izazovi s kojima se suoฤavaju tijekom testiranja izvedbe ukljuฤuju
- Organiziranje razliฤitih mobilnih platformi i njihovih operativnih sustava
- Simulating connectivities like 3G, 4G, 5G or Wi-Fi, etc.
- Ograniฤenja mobilnih ureฤaja poput potroลกnje baterije i resursa
- Upotrebljivost mobilnog telefona
- Razliฤite veliฤine mobilnih ureฤaja za pokretanje iste aplikacije
Postavite okruลพenje testiranja performansi mobilne aplikacije
Da biste konfigurirali testno okruลพenje, trebate-
- Razumijevanje mobilne aplikacije koju je potrebno testirati
- Identifikacija razliฤitih OS-a na kojima se aplikacija treba pokrenuti
- Izrada testne postavke
- Izgradite emulatore ili simulatore
- Prototyping stvarne postavke
- Odabir odgovarajuฤeg alata za testiranje
Kontrolni popis za testiranje performansi mobilne aplikacije
Testiranje performansi mobilnih aplikacija vaลพna je mjera prije objavljivanja. Testiranje performansi provodi se radi provjere
- Koliko RAM-a je potrebno za koriลกtenje ove aplikacije?
- Za provjeru brzine i vremena odgovora APP-a u razliฤitim mreลพama i okolnostima.
- Osigurajte realno korisniฤko iskustvo u nekoliko mreลพnih uvjeta
- Osigurajte postizanje traลพenih rezultata u sluฤaju viลกestrukih povezivanja
- Osigurajte da se aplikacija ne sruลกi.
- Osiguravanje dobrog rada mobilnih aplikacija tijekom koriลกtenja podataka, Wi-Fi ili druge veze
- Praฤenje vremena neprekidnog rada i uskih grla u koriลกtenju mobilnog API-ja
- Kako bi se osigurao maksimalan broj istodobnih korisnika
- Na kraju, provjerite mobilnu aplikaciju do njezinih granica

