Mobilalkalmazások teljesítményének tesztelése

⚡ Okos összefoglaló

A mobilalkalmazás-teljesítménytesztelés azt méri, hogy egy alkalmazás milyen gyorsan indul el, mennyi akkumulátort és memóriát fogyaszt, milyen gyorsan reagálnak az API-jai, és milyen szabályosan viselkedik megbízhatatlan hálózatokon.

  • 🔘 Három kategória: Az eszközteljesítmény, a szerver- vagy API-teljesítmény és a hálózati teljesítmény együttesen lefedi az összes mobil szűk keresztmetszetet.
  • ☑️ Eszközjelek: Az eszköz alapvető ellenőrzései az indítási idő, az akkumulátor lemerülése, a memóriafogyasztás, a hardvervariációk és a háttérben történő visszaállítás.
  • Szerverjelek: Hasznos adatmennyiség mérete, az API-hívások száma műveletenként, valamint dokumentált feladatátvételi terv a szerver leállására.
  • 🧪 Hálózati jelek: A jitternek, a csomagvesztésnek és a sebességváltozásoknak mind egyértelmű üzenetet kell eredményezniük, nem pedig egy kimerevedett képernyőt.
  • 🇧🇷 szerszámozás: RobotiumA MonkeyRunner és az Automator is megjelenik itt, bár az első kettőt már nem karbantartják.
  • 📊 Készenlét: Egy ellenőrzőlista, amely tartalmazza a RAM-ot, a válaszidőt, a párhuzamos működést és az összeomlásállóságot, eldönti, hogy egy build elkészül-e.

Mobilalkalmazás-teljesítménytesztelés eszköz-, szerver- és hálózati rétegeken

Bármely mobilalkalmazás esetében a teljesítmény nagyon fontos. Ha a mobilalkalmazás nem teljesít jól, a végfelhasználó el fogja távolítani az alkalmazást, és egy másik, jobban teljesítő alkalmazást fog keresni.

A mobilalkalmazást alaposan le kell tesztelni, mielőtt kiadná a végfelhasználónak.

Mobilalkalmazás tesztelési stratégia

Az alkalmazások teljesítményét mobiltelefonon vagy bármilyen okoseszközön általában a következő három kategóriában mérik.

  • Eszköz teljesítménye
  • Szerver/API teljesítmény
  • Hálózati teljesítmény

Az alábbi ábra ezt a három réteget a hozzájuk tartozó ellenőrzésekhez rendeli.

Mobilalkalmazás-tesztelési stratégiai diagram eszköz-, szerver- és hálózati teljesítmény-ellenőrzések felosztására

Eszköz teljesítménye

Amikor az ügyfél lassú alkalmazást tapasztal, bosszankodni kezd.

Az eszköz teljesítményének ellenőrzéséhez a következőket kell ellenőrizni:

  • Alkalmazás indítása: Mennyi időbe telik az alkalmazás elindítása? Ez az első teljesítményparaméter, amelyet a felhasználó határoz meg. Hüvelykujjszabályként, miután a felhasználó megérinti az alkalmazás ikonját, az első képernyő 1-2 másodpercen belül megjelenik.
  • Akkumulátor üzemideje alkalmazás használata közben: Folyamatos használat esetén egyes mobilalkalmazások jelentősen megterhelik az akkumulátort és felmelegítik a telefont. Ez általában akkor fordul elő, amikor az alkalmazás több erőforrást használ a szükségesnél, ami terheli a processzort.
  • Memória fogyasztás: Amikor Tesztelés egy alkalmazásnál ellenőrizni kell az alkalmazás memóriafelhasználását. Az alkalmazás bizonyos funkcióinak megvalósításával a memóriafogyasztás is nő. Például be Android alkalmazásoknál, ha push értesítések vannak implementálva, akkor a memóriafogyasztás nő.

    Egyes esetekben megfigyelték, hogy a teljes operációs rendszer memóriahasználata mindössze 14%, de egy új alkalmazás 11%-ot. Tehát ezeket a tényezőket kezelni kell, mielőtt az alkalmazást a valós világba telepítené vagy átadná az ügyfélnek.

  • Hardver/szoftver változat: Egy mobilalkalmazás tesztelésekor kötelező ellenőrizni a különböző eszközökön lévő alkalmazásokat. Előfordulhat, hogy az alkalmazás zökkenőmentesen fut az egyik eszközön, de a másikon nem. Mint a különböző szállítók számára Android készülékeken ellenőrizhetjük az alkalmazást Samsung, HTC és Lenovo telefonokon. Hasonlóképpen, az alkalmazást különböző RAM-mal és processzorspecifikációkkal kell tesztelni, például 1 GB vagy 2 GB.
  • Használat más alkalmazásokkal: Ha a tesztelés alatt álló alkalmazás más alkalmazásokkal párhuzamosan fut, nem lehet interferencia. Az ellenőrzés legjobb módja a tesztelés alatt álló alkalmazás és más alkalmazások közötti váltás.
  • Alkalmazás a háttérben: Amikor egy háttérben futó alkalmazást lekérnek, annak ugyanabban az állapotban kell maradnia, mint korábban. Ha ezt a forgatókönyvet nem kezelik megfelelően, akkor az adatok elvesznek. A kapcsolódó életciklus-eseteket a következő részben tárgyaljuk: megszakításos tesztelés.

Szerver/API teljesítmény

Amikor az alkalmazás API-n keresztül kommunikál a szerverrel, a válaszidő kritikus fontosságúvá válik a teljesítmény szempontjából. A szerver teljesítményével kapcsolatban a következőket kell ellenőrizni:

  • Adatok a szerverre és a szerverről: Az alkalmazásnak hatékonyan kell kezelnie a szerverről küldött adatokat. Az adatok betöltése nem vehet igénybe túl sok időt. Bizonyos alkalmazásokban az adatok meghatározott formátumban kerülnek elküldésre, ezért az alkalmazásban való megjelenítés előtt át kell alakítani őket egy megfelelő formátumra. Ennek során az alkalmazások néha lelassulnak, és a válaszidő hosszabb lesz.
  • Alkalmazásból generált API-hívások: A tesztelés alatt álló alkalmazásból a szerverre az alkalmazásból generált hívások számának kevesebbnek kell lennie. Egyes esetekben több API-hívás történik ugyanahhoz a funkcióhoz. A jobb teljesítmény érdekében ezt kevesebb hívásszámmal kell kezelni.
  • Szerver leállási ideje: Ha a szerver bármilyen okból nem elérhető vagy leáll, az adatokat a natív adatbázisba menthetjük. Így amikor a szerver nem működik, megjeleníthetjük a natív adatbázisban tárolt adatokat. Egy másik megoldás lehet a failover adatbázis-szerverek használata, azaz ha az egyik szerver nem működik vagy karbantartás alatt áll, a tartalék szervernek elérhetőnek kell lennie az átálláshoz. A failover/tartalék szervernek folyamatosan replikációban és szinkronban kell lennie a fő szerverrel.

Hálózati teljesítmény

Mérni kell az alkalmazás teljesítményét a különböző hálózatokon és hálózati tulajdonságokon.

A hálózat teljesítményéhez a következőket kell ellenőriznie.

  • Idegesség: Ha késik az információ fogadása a hálózaton, akkor azt jitternek nevezik. Probléma a kapcsolat nélküli hálózatokkal vagy a csomagkapcsolós hálózatokkal. Mivel az információ csomagokba oszlik, a csomagok eltérő úton haladhatnak a küldőtől a fogadóig. Amikor az adatok megérkeznek a kívánt helyre, azok kódolttá válnak, mint ahogyan eredetileg elküldték. A Jitters esetében a mobilalkalmazásnak elég képesnek kell lennie a kezeléséhez.

    Meg kell jelenítenie a megfelelő értesítéseket a végfelhasználónak, hogy vagy újraküldje a kérést, vagy várja meg, amíg a rendszer újra válaszol.

  • Csomagvesztés: Teljes csomagvesztés esetén az alkalmazásnak képesnek kell lennie arra, hogy újra elküldje az információ iránti kérelmet, vagy ennek megfelelően generálja a riasztásokat. Ha az adatok nem teljesek, akkor a felhasználó nem fogja tudni megérteni az alkalmazásban megjelenített információkat. Ez stresszes lehet a felhasználó számára. Ezért jobb, ha megfelelő üzenetet jelenít meg, vagy felszólítja a felhasználót, hogy próbálkozzon újra.
  • Hálózati sebesség: Az alkalmazást különféle, változó sebességű hálózatokon kell tesztelni. Az alkalmazást 3G, 4G és 5G hálózatokon is tesztelni kell. Ez magában foglalja mind a Wi-Fi, mind a mobilhálózatokat. Az alkalmazás viselkedését is figyelni kell, különösen akkor, ha mindkét hálózat elérhető, és az egyik hálózatról a másikra való váltás történik.

    Például probléma merülhet fel egy alkalmazásban, amikor a felhasználók a telefonhálózatukat 4G-ről Wi-Fi-re váltják, és fordítva. Ebben az esetben az alkalmazás nem reagál, és a használatához újra kell indítani.

A mobilalkalmazások teljesítményével kapcsolatos hibaelhárítás

Miután felfedezte a problémákat/problémákat közben TeljesítményfelmérésItt az ideje, hogy tracés a hibák kijavítása.

1. probléma) A mobilalkalmazás késése vagy lassú reakciója.

A késés oka lehet a RAM, a gyorsítótár stb.

Meg kell ölnie a szükségtelen folyamatokat, vagy törölnie kell a gyorsítótárat. A csatlakozási probléma hibaelhárítása megoldhat néhány késést okozó problémát

2. probléma) Alkalmazás újraindítása, leállás, lefagyás vagy nem reagál.

A következő lépések valamelyikével javítható

  • Az alkalmazáskódok optimalizálása
  • A szoftvert javítani és frissíteni kell.
  • Automatikus visszaállítások
  • RAM vagy bizonyos esetekben ROM kezelése külső kártyák használata közben
  • Wiping a gyorsítótár particionálása
  • Az alkalmazás más, harmadik féltől származó alkalmazásokkal és API-kkal való együttműködésének ellenőrzése
  • Térképping a mobilalkalmazás eszköztől függően

Hasznos mobilalkalmazás-tesztelő eszközök

Mobilalkalmazás-tesztelő eszközök eszközöktől vagy mobil operációs rendszertől függően változhat. Néhány általános mobilalkalmazás-teljesítmény-tesztelő eszköz

ANDROID

  • Robotium Pont olyan, mint Selenium mobilalkalmazásokhoz. A tesztelő több, a teszteléshez szükséges lépést rögzíthet és lejátszhat.
  • Majomfutó A MonkeyRunner teszteket futtathat számítógéphez vagy emulátorokhoz csatlakoztatott valódi eszközökön. Az eszköz API-val rendelkezik, amely lehetővé teszi az okostelefonok, táblagépek vagy emulátorok kívülről történő vezérlését Android kód.

⚠️ Verzió megjegyzés: Mindkét Android A bejegyzések örököltek. Robotium 2016 óta nem jelent meg, és Google a MonkeyRunnert nem karbantartottnak minősíti, a csapatokat az UI Automatorra és annak uiautomatorviewer ellenőr helyette.

APPLE

  • Automatizátor (Mac) Az Automator egy Apple által fejlesztett alkalmazás, amely... macOS. Mutass és kattints (vagy húzd és vidd) módszerrel hozhat létre munkafolyamatokat az ismétlődő feladatok kötegekbe bontásához a gyorsabb módosítás érdekében. Ez időt és energiát takarít meg az emberi beavatkozással szemben, amely minden egyes fájl külön-külön történő manuális módosítását igényelné.

Kihívások

A teljesítményteszt során a legfontosabb kihívások közé tartozik

  • Különböző mobil platformok és operációs rendszereik rendszerezése
  • 3G, 4G, 5G vagy Wi-Fi stb. típusú kapcsolatok szimulálása.
  • A mobileszközök korlátozásai, például az akkumulátor- és erőforrás-fogyasztás
  • Mobiltelefon használhatóság
  • A különböző méretű mobileszközök ugyanazon alkalmazás futtatásához

Állítsa be a mobilalkalmazás-teljesítményteszt-környezetet

A tesztkörnyezet konfigurálásához a következőket kell tennie:

  • A tesztelendő mobilalkalmazás ismerete
  • Azon különböző operációs rendszerek azonosítása, amelyeken az alkalmazásnak futnia kell
  • A tesztbeállítás felépítése
  • Építsd meg az emulátorokat vagy szimulátorokat
  • Prototyping a tényleges beállításról
  • A megfelelő eszköz kiválasztása a teszteléshez

A mobilalkalmazások teljesítménytesztjének ellenőrző listája

A mobilalkalmazások teljesítményének tesztelése fontos intézkedés a megjelenés előtt. Az ellenőrzés érdekében teljesítménytesztet végeznek

  • Mennyi RAM szükséges az alkalmazás használatához?
  • Az APP sebességének és válaszidejének ellenőrzése különböző hálózatokon és körülmények között.
  • Biztosítsa a valósághű felhasználói élményt számos hálózati körülmény között
  • Győződjön meg arról, hogy több kapcsolat esetén is eléri a kívánt eredményeket
  • Győződjön meg arról, hogy az alkalmazás nem omlik össze.
  • A mobilalkalmazások megfelelő teljesítményének biztosítása adat-, Wi-Fi- vagy egyéb kapcsolat használata közben
  • Az üzemidő és a mobil API-használati szűk keresztmetszetek figyelése
  • Az egyidejű felhasználók maximális számának biztosítása érdekében
  • Végül, hogy ellenőrizze a mobilalkalmazás korlátait

GYIK

Egy középkategóriás eszközön a szokásos cél két másodperc alatt van, ami megfelel a fent említett szabálynak. Az átlag helyett a 95. percentilist mérd, mivel a lassú eszközök dominálnak a valódi panaszokban.

Az ANR egy „Alkalmazás nem válaszol” esemény, amely akkor jelentkezik, amikor a Android fő szál blokkok. Az összeomlásmentes arány az összeomlás nélkül befejeződő munkamenetek aránya. Google A Play alacsonyabb prioritást élveznek azok az alkalmazások, amelyek túllépik a közzétett küszöbértékeket bármelyik esetében.

A görgetés és az animáció alapértéke másodpercenként hatvan képkocka, az újabb kijelzők pedig kilencven vagy annál több képkockát céloznak meg. A kihagyott képkockák, más néven jank, gyenge minőséget jeleznek, még akkor is, ha semmi sem akad össze.

A gépi tanulás minden mutatót eszközmodellenként alapoz meg, így a regressziót hasonló hardverekhez viszonyítva jelöli, nem pedig egyetlen globális számhoz. A lassúakat is klaszterezi. traces, rangsorolva, hogy melyik szűk keresztmetszet befolyásolja a legtöbb munkamenetet.

A Copilot jól megtervezi az ismétlődő állványzatot, például egy betöltési szkript vázát vagy egy ciklust, amely memóriamintákat rögzít. A küszöbértékek és az eszközkiválasztás tükrözi a termékedet, ezért minden generált állítást ellenőrizz, mielőtt megbízol benne.

Használd mindkettőt. Az emulátorok olcsó, megismételhető hálózati és API-futtatásokat biztosítanak egy folyamaton belül. Valódi eszközökre van szükség az akkumulátor lemerüléséhez, a hőszabályozáshoz és a gyártóspecifikus viselkedéshez, amelyeket az emulátorok nem tudnak hűen reprodukálni.

JMeter a nyílt forráskódú módszertan gyakori választása az alkalmazás által használt végpontokon futó egyidejű kérések továbbítására. A szerverkapacitást méri, amelyet az eszközoldali eszközök soha nem látnak.

Egy rögzített korlát az indítási időre, a memóriára vagy a csomag méretére vonatkozóan, amelyet a build automatikusan ellenőrz. Ennek túllépése esetén a build meghiúsul, így a regressziókat az összevonáskor, nem pedig a kiadás után fogja el a rendszer.

Foglald össze ezt a bejegyzést a következőképpen: