Mobiilisovelluksen suorituskyvyn testaus

โšก ร„lykรคs yhteenveto

Mobiilisovellusten suorituskykytestaus mittaa, kuinka nopeasti sovellus kรคynnistyy, kuinka paljon akkua ja muistia se kuluttaa, kuinka nopeasti sen API:t reagoivat ja kuinka sulavasti se toimii epรคluotettavissa verkoissa.

  • ๐Ÿ”˜ Kolme luokkaa: Laitteen suorituskyky, palvelimen tai API:n suorituskyky ja verkon suorituskyky yhdessรค kattavat kaikki mobiililaitteiden pullonkaulat.
  • โ˜‘๏ธ Laitteen signaalit: Kรคynnistysaika, akun tyhjeneminen, muistin kulutus, laitteiston vaihtelut ja taustalla tapahtuva palautus ovat laitteen keskeisiรค tarkistuksia.
  • โœ… Palvelimen signaalit: Hyรถtykuorman koko, API-kutsujen mรครคrรค toimintoa kohden ja dokumentoitu vikasietosuunnitelma palvelimen seisokkien varalta.
  • ๐Ÿงช Verkkosignaalit: Jitterin, pakettien katoamisen ja nopeuden muutosten on kaikki tuotettava selkeรค viesti jumiutuneen nรคytรถn sijaan.
  • ๐Ÿ› ๏ธ tyรถkalut: Robotium, MonkeyRunner ja Automator nรคkyvรคt tรคssรค, vaikka kahta ensimmรคistรค ei enรครค yllรคpidetรค.
  • ๐Ÿ“Š Valmius: Tarkistuslista, joka kattaa RAM-muistin, vasteajan, samanaikaisuuden ja kaatumisten kestรคvyyden, ratkaisee, toimitetaanko koontiversio.

Mobiilisovellusten suorituskykytestaus laite-, palvelin- ja verkkotasoilla

Suorituskyky on erittรคin tรคrkeรครค kaikille mobiilisovelluksille. Jos mobiilisovelluksesi ei toimi hyvin, loppukรคyttรคjรค poistaa sovelluksesi ja etsii toisen, paremmin toimivan sovelluksen.

Mobiilisovelluksesi on testattava perusteellisesti ennen kuin se julkaistaan โ€‹โ€‹loppukรคyttรคjรคlle.

Mobiilisovellusten testausstrategia

Sovelluksen suorituskykyรค matkapuhelimella tai millรค tahansa รคlylaitteella mitataan yleensรค kolmessa kategoriassa.

  • Laitteen suorituskyky
  • Palvelimen/API-suorituskyky
  • Verkon suorituskyky

Alla oleva kaavio yhdistรครค nรคmรค kolme kerrosta niiden tarkistuksiin.

Mobiilisovellusten testausstrategiakaavio, joka jakaa laitteen, palvelimen ja verkon suorituskykytarkistukset

Laitteen suorituskyky

Kun asiakas kokee hitaan sovelluksen, hรคn suuttuu.

Laitteen suorituskyvyn tarkistamiseksi tarkista seuraavat asiat:

  • Sovelluksen kรคynnistys: Kuinka kauan sovelluksesi kรคynnistyminen kestรครค? Se on ensimmรคinen kรคyttรคjรคn mรครคrittelemรค suorituskykyparametri. Peukalosรครคntรถnรค on, ettรค sen jรคlkeen, kun kรคyttรคjรค napauttaa sovelluskuvaketta, ensimmรคisen nรคytรถn pitรคisi avautua 1-2 sekunnin kuluttua.
  • Akun kesto sovellusta kรคytettรคessรค: Jatkuvassa kรคytรถssรค jotkin mobiilisovellukset kuluttavat paljon akkua ja kuumentavat puhelinta. Tรคmรค tapahtuu yleensรค, kun sovellus kรคyttรครค enemmรคn resursseja kuin on tarpeen, mikรค kuormittaa prosessoria.
  • Muistin kulutus: Kun Testaus sovellusta, sovelluksen muistinkulutus tulee tarkistaa. Toteuttamalla tiettyjรค toimintoja sovellukseen myรถs muistin kulutus kasvaa. Esimerkiksi sisรครคn Android kun push-ilmoitukset otetaan kรคyttรถรถn, muistin kulutus kasvaa.

    Joissakin tapauksissa on havaittu, ettรค koko kรคyttรถjรคrjestelmรคn muistin kรคyttรถ on vain 14 %, mutta uusi sovellus kuluttaa 11 %. Nรคmรค tekijรคt on siis kรคsiteltรคvรค ennen sovelluksen kรคyttรถรถnottoa todellisessa maailmassa tai asiakkaalle antamista.

  • Laitteisto-/ohjelmistoversio: Mobiilisovellusta testattaessa on pakollista tarkistaa eri laitteiden sovellukset. Voi olla niin, ettรค sovellus toimii sujuvasti yhdellรค laitteella, mutta ei toisella. Kuten eri myyjille Android laitteissa, voimme tarkistaa sovelluksen Samsung-, HTC- ja Lenovon puhelimissa. Samoin sovellus on testattava erilaisilla RAM- ja prosessorimรครคrityksillรค, kuten 1 Gt tai 2 Gt.
  • Kรคyttรถ muiden sovellusten kanssa: Kun testattava sovellus toimii rinnakkain muiden sovellusten kanssa, hรคiriรถitรค ei pitรคisi esiintyรค. Paras tapa tarkistaa se on vaihtaa testattavana olevaa sovellusta ja muita sovelluksia.
  • Sovellus taustalla: Kun taustalla kรคynnissรค oleva sovellus noudetaan, sen tulisi pysyรค samassa tilassa kuin se oli aiemmin. Jos tรคtรค skenaariota ei kรคsitellรค oikein, tiedot menetetรครคn. Aiheeseen liittyviรค elinkaaritapauksia kรคsitellรครคn kohdassa keskeytystestaus.

Palvelimen/API-suorituskyky

Kun sovellus on vuorovaikutuksessa palvelimen kanssa API:n kautta, vasteajasta tulee kriittinen suorituskyvyn kannalta. Palvelimen suorituskyvyn osalta tarkistat:

  • Palvelimelle ja palvelimelta tulevat tiedot: Sovelluksen tulisi kรคsitellรค palvelimelta lรคhetettyรค dataa tehokkaasti. Datan lataaminen ei saa kestรครค liikaa aikaa. Joissakin sovelluksissa data lรคhetetรครคn tietyssรค muodossa, joten ennen sen nรคyttรคmistรค sovelluksessa se tulisi muuntaa asianmukaiseen muotoon. Tรคssรค prosessissa sovellukset joskus hidastuvat ja vasteajat pidentyvรคt.
  • Sovelluksesta luodut API-kutsuja: Testattavan sovelluksen palvelimelle sovelluksesta luotujen puheluiden mรครคrรคn tulisi olla pienempi. Joissakin tapauksissa samaa toimintoa varten tehdรครคn useita API-kutsuja. Paremman suorituskyvyn saavuttamiseksi tรคmรค tulisi kรคsitellรค pienemmรคllรค mรครคrรคllรค puheluita.
  • Palvelimen seisokkiaika: Jos palvelin on jostain syystรค alhaalla tai siihen ei saada yhteyttรค, voimme tallentaa tiedot natiiviin tietokantaan. Joten aina kun palvelin on alhaalla, voimme nรคyttรครค natiiviin tietokantaan tallennetut tiedot. Toinen ratkaisu voisi olla vikasietoiset tietokantapalvelimet, eli jos jokin palvelimista on alhaalla tai huoltovaiheessa, varapalvelimen tulisi olla kรคytettรคvissรค vaihtoa varten. Varapalvelimen tulisi olla jatkuvasti replikoituna ja synkronoituna pรครคpalvelimen kanssa.

Verkon suorituskyky

Sovelluksen suorituskykyรค eri verkoissa ja verkon ominaisuuksissa on mitattava.

Verkon suorituskykyรค varten tarkista seuraavat asiat.

  • Hermostuneisuus: Jos tiedon vastaanottamisessa verkossa on viivettรค, sitรค kutsutaan vรคrinรคksi. Ongelma on yhteydettรถmien verkkojen tai pakettikytkentรคisten verkkojen kanssa. Kun tiedot jaetaan paketeiksi, paketit voivat kulkea eri polkua lรคhettรคjรคltรค vastaanottajalle. Kun tiedot saapuvat aiottuun paikkaan, siitรค tulee salattua kuin se alun perin lรคhetettiin. Jitterien tapauksessa mobiilisovelluksen pitรคisi olla riittรคvรคn kykenevรค kรคsittelemรครคn sitรค.

    Sinun on nรคytettรคvรค loppukรคyttรคjรคlle asianmukaiset ilmoitukset joko pyynnรถn uudelleenlรคhettรคmiseksi tai odottamiseksi, kunnes jรคrjestelmรค vastaa uudelleen.

  • Pakettien menetys: Jos paketti katoaa tรคydellisesti, sovelluksen pitรคisi pystyรค lรคhettรคmรครคn tietopyyntรถ uudelleen tai luomaan hรคlytykset vastaavasti. Jos tiedot eivรคt ole tรคydellisiรค, kรคyttรคjรค ei pysty ymmรคrtรคmรครคn sovelluksessa nรคkyviรค tietoja. Tรคmรค voi olla stressaavaa kรคyttรคjรคlle. Joten on parempi nรคyttรครค sopiva viesti tai kehottaa kรคyttรคjรครค yrittรคmรครคn uudelleen.
  • Verkon nopeus: Sovellus on testattava useissa eri verkoissa, joiden nopeudet vaihtelevat. Sovellus tulisi testata 3G-, 4G- ja 5G-verkoissa. Tรคmรค sisรคltรครค sekรค Wi-Fi- ettรค mobiiliverkot. Sovelluksen toimintaa tulisi myรถs seurata, erityisesti silloin, kun molemmat verkot ovat kรคytettรคvissรค ja verkkojen vรคlillรค on vaihdettu.

    Esimerkiksi sovelluksessa voi ilmetรค ongelma kรคyttรคjille vaihdettaessa puhelinverkkoa 4G:stรค Wi-Fiin ja pรคinvastoin. Tรคssรค tapauksessa sovellus lakkaa reagoimasta ja se saattaa vaatia uudelleenkรคynnistyksen kรคyttรถรค varten.

Mobiilisovellusten suorituskyvyn vianetsintรค

Ongelmien/ongelmien havaitsemisen jรคlkeen SuorituskykytestausOn aika tracja korjaa virheet.

Ongelma 1) Mobiilisovelluksen viive tai hidas vastaus.

Tรคmรคn viiveen syy voi olla RAM, vรคlimuisti jne.

Sinun on lopetettava tarpeettomat prosessit tai tyhjennettรคvรค vรคlimuisti. Yhteysongelman vianmรครคritys voi ratkaista joitakin viiveitรค aiheuttavia ongelmia

Ongelma 2) Sovellus kรคynnistyy uudelleen, lukittuu, jรครคtyy tai ei vastaa.

Se voidaan korjata joillakin seuraavista vaiheista

  • Sovelluskoodien optimointi
  • Ohjelmisto tulee korjata ja pรคivittรครค.
  • Automaattiset palautukset
  • RAM-muistin tai joissakin tapauksissa ROM-muistin hallinta ulkoisia kortteja kรคytettรคessรค
  • Wiping vรคlimuistin osiointi
  • Sovelluksen toimivuuden tarkistaminen muiden kolmannen osapuolen sovellusten ja API-rajapintojen kanssa
  • karttaping mobiilisovellus laitteen mukaan

Hyรถdyllisiรค mobiilisovellusten testaustyรถkaluja

Mobiilisovellusten testaustyรถkalut vaihtelevat laitteiden tai mobiilikรคyttรถjรคrjestelmรคn mukaan. Joitakin yleisiรค mobiilisovellusten suorituskyvyn testaustyรถkaluja ovat

ANDROID

  • Robotium Se on aivan kuten Selenium mobiilisovelluksille. Testauslaite voi tallentaa ja toistaa useita testin suorittamiseen tarvittavia vaiheita.
  • Monkey Runner MonkeyRunner voi suorittaa testejรค oikeilla laitteilla, jotka on kytketty tietokoneeseen tai emulaattoreihin. Tyรถkalussa on API, joka mahdollistaa รคlypuhelimen, tabletin tai emulaattorin ohjaamisen ulkopuolelta Android koodi.

โš ๏ธ Versiohuomautus: molemmat Android merkinnรคt ovat perintรถjรค. Robotium ei ole julkaistu vuoden 2016 jรคlkeen, ja Google merkitsee MonkeyRunnerin yllรคpitรคmรคttรถmรคksi, mikรค ohjaa tiimit UI Automatoriin ja sen uiautomatorviewer tarkastaja sen sijaan.

APPLE

  • Automatisoi (Mac) Automator on Applen kehittรคmรค sovellus, joka on tarkoitettu mm. macOSSe toteuttaa osoita ja napsauta (tai vedรค ja pudota) -tyรถnkulkujen luomisen toistuvien tehtรคvien automatisoimiseksi eriksi nopeampaa muokkaamista varten. Tรคmรค sรครคstรครค aikaa ja vaivaa verrattuna ihmisen manuaaliseen muokkaamiseen jokaista tiedostoa erikseen.

Haasteet

Suorituskykytestauksen keskeisiรค haasteita ovat mm

  • Erilaisten mobiilialustojen ja niiden kรคyttรถjรคrjestelmien jรคrjestรคminen
  • Simuloi yhteyksiรค, kuten 3G, 4G, 5G tai Wi-Fi jne.
  • Mobiililaitteiden rajoitukset, kuten akun ja resurssien kulutus
  • Matkapuhelimen kรคytettรคvyys
  • Erikokoiset mobiililaitteet saman sovelluksen suorittamiseksi

Mรครคritรค mobiilisovelluksen suorituskyvyn testausympรคristรถ

Testiympรคristรถn mรครคrittรคmiseksi sinun on

  • Mobiilisovelluksen ymmรคrtรคminen, joka on testattava
  • Eri kรคyttรถjรคrjestelmien tunnistaminen, joissa sovelluksen on toimittava
  • Testijรคrjestelmรคn rakentaminen
  • Rakenna emulaattorit tai simulaattorit
  • Prototyping varsinaisesta asetelmasta
  • Sopivan tyรถkalun valinta testaukseen

Mobiilisovelluksen suorituskyvyn testauksen tarkistuslista

Mobiilisovellusten suorituskyvyn testaus on tรคrkeรค toimenpide ennen julkaisua. Suorituskykytestaus suoritetaan tarkistamiseksi

  • Kuinka paljon RAM-muistia tarvitaan tรคmรคn sovelluksen kรคyttรคmiseen?
  • APP:n nopeuden ja vasteajan tarkistaminen eri verkoissa ja olosuhteissa.
  • Varmista realistinen kรคyttรถkokemus useissa verkkoolosuhteissa
  • Varmista, ettรค vaaditut tulokset saavutetaan, jos liitรคntรถjรค on useita
  • Varmista, ettรค sovellus ei kaatu.
  • Varmista, ettรค mobiilisovellukset toimivat hyvin dataa, Wi-Fiรค tai muita yhteyksiรค kรคytettรคessรค
  • Kรคytettรคvyyden ja mobiilisovellusliittymรคn kรคytรถn pullonkaulojen seuranta
  • Samanaikaisten kรคyttรคjien enimmรคismรครคrรคn varmistamiseksi
  • Lopuksi tarkistaa mobiilisovelluksen rajoitukset

UKK

Alle kaksi sekuntia keskitason laitteella on tavanomainen tavoite, mikรค vastaa yllรค mainittua sรครคntรถรค. Mittaa 95. persentiiliรค keskiarvon sijaan, koska hitaat laitteet enemmistรถvรคt todellisista valituksista.

ANR on sovellus ei vastaa -tapahtuma, joka syntyy, kun Android pรครคsรคikeiden lohkot. Kaatumaton mรครคrรค on niiden istuntojen osuus, jotka pรครคttyvรคt ilman kaatumista. Google Play ei priorisoi sovelluksia, jotka ylittรคvรคt jommankumman osalta julkaistut kynnysarvot.

Kuusikymmentรค ruutua sekunnissa on vierityksen ja animaation perustaso, ja uudemmat nรคytรถt tavoittelevat yhdeksรครคkymmentรค tai enemmรคn. Pudotetut ruudut, joita kutsutaan romuksi, tulkitaan huonolaatuisiksi, vaikka mikรครคn ei kaaduisi.

Koneoppiminen asettaa jokaisen mittarin laitemallikohtaisesti, joten regressio merkitรครคn samankaltaisen laitteiston eikรค yhden globaalin luvun perusteella. Se myรถs klusteroi hitaasti toimivat traces, mikรค pullonkaula vaikuttaa eniten istuntoihin.

Copilot luonnostelee toistuvat tukirakenteet hyvin, kuten latausskriptin rungon tai silmukan, joka tallentaa muistinรคytteitรค. Kynnysarvot ja laitevalinta heijastavat tuotettasi, joten tarkista jokainen luotettu vรคite ennen kuin luotat siihen.

Kรคytรค molempia. Emulaattorit tarjoavat edullisia ja toistettavia verkko- ja API-ajoja prosessin sisรคllรค. Akun tyhjenemisen, lรคmpรถkuristuksen ja toimittajakohtaisen toiminnan hallintaan tarvitaan oikeita laitteita, koska emulaattorit eivรคt pysty toistamaan niitรค uskollisesti.

JMeter on yleinen avoimen lรคhdekoodin valinta samanaikaisten pyyntรถjen ohjaamiseen samoissa pรครคtepisteissรค, joita sovellus kรคyttรครค. Se mittaa palvelimen kapasiteettia, jota laitepuolen tyรถkalut eivรคt koskaan nรคe.

Kรคynnistysajan, muistin tai paketin koon tallennettu raja, jonka koonti tarkistaa automaattisesti. Sen ylittรคminen epรคonnistuu koonnissa, joten regressiot havaitaan yhdistรคmisen yhteydessรค eikรค vasta julkaisun jรคlkeen.

Tiivistรค tรคmรค viesti seuraavasti: