Mobil Uygulama Performans Testi

โšก Akฤฑllฤฑ ร–zet

Mobil uygulama performans testi, bir uygulamanฤฑn ne kadar hฤฑzlฤฑ baลŸlatฤฑldฤฑฤŸฤฑnฤฑ, ne kadar pil ve bellek tรผkettiฤŸini, API'lerinin ne kadar hฤฑzlฤฑ yanฤฑt verdiฤŸini ve gรผvenilir olmayan aฤŸlarda ne kadar sorunsuz รงalฤฑลŸtฤฑฤŸฤฑnฤฑ รถlรงer.

  • ๐Ÿ”˜ รœรง kategori: Cihaz performansฤฑ, sunucu veya API performansฤฑ ve aฤŸ performansฤฑ birlikte her tรผrlรผ mobil darboฤŸazฤฑ kapsar.
  • โ˜‘๏ธ Cihaz sinyalleri: BaลŸlangฤฑรง โ€‹โ€‹sรผresi, pil tรผketimi, bellek kullanฤฑmฤฑ, donanฤฑm varyasyonu ve arka planda geri yรผkleme, cihazฤฑn temel kontrolleridir.
  • โœ… Sunucu sinyalleri: Veri yรผkรผ boyutu, iลŸlem baลŸฤฑna API รงaฤŸrฤฑsฤฑ sayฤฑsฤฑ ve sunucu kesintisi durumunda uygulanacak belgelenmiลŸ bir yedekleme planฤฑ.
  • ๐Ÿงช AฤŸ sinyalleri: Titreme, paket kaybฤฑ ve hฤฑz deฤŸiลŸiklikleri, donmuลŸ bir ekran yerine net bir mesaj รผretmelidir.
  • ๏ธ takฤฑm: RobotiumMonkeyRunner ve Automator burada yer alฤฑyor, ancak ilk ikisi artฤฑk desteklenmiyor.
  • ๐Ÿ“Š Hazฤฑrlฤฑk: Bir sรผrรผmรผn piyasaya sรผrรผlรผp sรผrรผlmeyeceฤŸine RAM, yanฤฑt sรผresi, eลŸzamanlฤฑlฤฑk ve รงรถkme direnci gibi unsurlarฤฑ kapsayan bir kontrol listesi karar veriyor.

Mobil uygulama performans testleri; cihaz, sunucu ve aฤŸ katmanlarฤฑnda gerรงekleลŸtirilebilir.

Herhangi bir mobil uygulama iรงin performans รงok รถnemlidir. Mobil uygulamanฤฑz iyi performans gรถstermezse, son kullanฤฑcฤฑ uygulamanฤฑzฤฑ kaldฤฑracak ve daha iyi performans gรถsteren baลŸka bir uygulama bulacaktฤฑr.

Mobil uygulamanฤฑzฤฑn son kullanฤฑcฤฑya sunulmadan รถnce kapsamlฤฑ bir ลŸekilde test edilmesi gerekmektedir.

Mobil Uygulama Test Stratejisi

Mobil telefon veya herhangi bir akฤฑllฤฑ cihazda uygulama performansฤฑ genellikle aลŸaฤŸฤฑdaki รผรง kategoriye gรถre รถlรงรผlรผr.

  • Cihaz Performansฤฑ
  • Sunucu/API Performansฤฑ
  • AฤŸ Performansฤฑ

AลŸaฤŸฤฑdaki diyagram, bu รผรง katmanฤฑ karลŸฤฑlฤฑk gelen kontrollerle eลŸleลŸtirmektedir.

Mobil uygulama test stratejisi ลŸemasฤฑ: Cihaz, sunucu ve aฤŸ performansฤฑ kontrollerini ayrฤฑ ayrฤฑ gรถsteriyor.

Cihaz Performansฤฑ

MรผลŸteri uygulamanฤฑn yavaลŸlamasฤฑ ile karลŸฤฑlaลŸtฤฑฤŸฤฑnda sinirleniyor.

Cihaz performansฤฑnฤฑ deฤŸerlendirmek iรงin aลŸaฤŸฤฑdakileri kontrol edeceksiniz:

  • Uygulama BaลŸlatma: Uygulamanฤฑzฤฑn baลŸlatฤฑlmasฤฑ ne kadar zaman alฤฑyor? Kullanฤฑcฤฑ tarafฤฑndan belirlenen ilk performans parametresidir. Genel kural olarak, kullanฤฑcฤฑ uygulama simgesine dokunduktan sonra 1-2 saniye iรงinde ilk ekranฤฑn gรถsterilmesi gerekir.
  • Uygulama kullanฤฑlฤฑrken pil รถmrรผ: Sรผrekli kullanฤฑmda, bazฤฑ mobil uygulamalar รงok fazla pil tรผketir ve telefonu ฤฑsฤฑtฤฑr. Bu durum genellikle uygulamanฤฑzฤฑn gerekenden fazla kaynak kullanmasฤฑ ve iลŸlemciye yรผk bindirmesi sonucu oluลŸur.
  • Bellek Tรผketimi: Ne zaman Test yapmak Bir uygulamanฤฑn kullanฤฑlmasฤฑ durumunda, uygulamanฤฑn hafฤฑza tรผketimi kontrol edilmelidir. Uygulamada belirli iลŸlevlerin uygulanmasฤฑyla bellek tรผketimi de artar. ร–rneฤŸin, Android uygulamalarda push bildirimleri uygulandฤฑฤŸฤฑnda bellek tรผketimi artar.

    Bazฤฑ durumlarda, tรผm iลŸletim sisteminin bellek kullanฤฑmฤฑnฤฑn yalnฤฑzca %14 olduฤŸu, ancak yeni bir uygulamanฤฑn %11 tรผkettiฤŸi gรถzlemlenmiลŸtir. Bu nedenle, uygulamayฤฑ gerรงek dรผnyaya daฤŸฤฑtmadan veya mรผลŸteriye vermeden รถnce bu faktรถrlerin ele alฤฑnmasฤฑ gerekir.

  • Donanฤฑm/Yazฤฑlฤฑm Varyasyonu: Bir mobil uygulamayฤฑ test ederken farklฤฑ cihazlardaki uygulamalarฤฑ kontrol etmek zorunludur. Uygulamanฤฑn bir cihazda sorunsuz รงalฤฑลŸฤฑp diฤŸerinde รงalฤฑลŸmamasฤฑ sรถz konusu olabilir. Farklฤฑ satฤฑcฤฑlar iรงin olduฤŸu gibi Android Cihazlarda uygulamayฤฑ Samsung, HTC ve Lenovo telefonlarฤฑnda kontrol edebiliriz. Benzer ลŸekilde uygulamanฤฑn 1 GB veya 2 GB gibi farklฤฑ RAM ve iลŸlemci รถzellikleriyle test edilmesi gerekiyor.
  • DiฤŸer Uygulamalarla Kullanฤฑm: Test edilen uygulama diฤŸer uygulamalarla paralel รงalฤฑลŸฤฑrken herhangi bir mรผdahale olmamalฤฑdฤฑr. Bunu kontrol etmenin en iyi yolu, test edilen uygulamayฤฑ ve diฤŸer uygulamalarฤฑ deฤŸiลŸtirmektir.
  • Arka planda รงalฤฑลŸan uygulama: Arka planda รงalฤฑลŸan bir uygulama geri รงaฤŸrฤฑldฤฑฤŸฤฑnda, รถncekiyle aynฤฑ durumda kalmalฤฑdฤฑr. Bu senaryo dรผzgรผn ลŸekilde ele alฤฑnmazsa, veriler kaybolur. ฤฐlgili yaลŸam dรถngรผsรผ durumlarฤฑ aลŸaฤŸฤฑda ele alฤฑnmฤฑลŸtฤฑr. kesinti testi.

Sunucu/API Performansฤฑ

Uygulama API aracฤฑlฤฑฤŸฤฑyla sunucuyla etkileลŸim kurduฤŸunda, yanฤฑt sรผresi performans aรงฤฑsฤฑndan kritik รถnem taลŸฤฑr. Sunucu performansฤฑ iรงin ลŸunlarฤฑ kontrol edeceksiniz:

  • Sunucuya giden ve sunucudan gelen veriler: Uygulama, sunucudan gรถnderilen verileri verimli bir ลŸekilde iลŸlemelidir. Veri yรผkleme iลŸlemi รงok fazla zaman almamalฤฑdฤฑr. Bazฤฑ uygulamalarda veriler belirli bir formatta gรถnderilir, bu nedenle uygulamada gรถrรผntรผlenmeden รถnce ilgili formata dรถnรผลŸtรผrรผlmelidir. Bu iลŸlem sฤฑrasฤฑnda uygulamalar bazen yavaลŸlar ve yanฤฑt sรผresi uzar.
  • Uygulamadan OluลŸturulan API ร‡aฤŸrฤฑlarฤฑ: Test edilen Uygulamadan, uygulama tarafฤฑndan oluลŸturulan sunucuya yapฤฑlan รงaฤŸrฤฑlarฤฑn sayฤฑsฤฑ daha az olmalฤฑdฤฑr. Bazฤฑ durumlarda aynฤฑ iลŸlevsellik iรงin birden fazla API รงaฤŸrฤฑsฤฑ yapฤฑlฤฑr. Daha iyi performans iรงin bu durumun daha az sayฤฑda รงaฤŸrฤฑyla ele alฤฑnmasฤฑ gerekir.
  • Sunucu Kesinti Sรผresi: Sunucu herhangi bir nedenle รงalฤฑลŸmaz durumda veya eriลŸilemez olduฤŸunda, verileri yerel veritabanฤฑna kaydedebiliriz. Bu nedenle, sunucu รงalฤฑลŸmadฤฑฤŸฤฑnda, yerel veritabanฤฑnda depolanan verileri gรถsterebiliriz. BaลŸka bir รงรถzรผm ise yedek veritabanฤฑ sunucularฤฑ olabilir; yani sunuculardan biri รงalฤฑลŸmaz durumda veya bakฤฑm aลŸamasฤฑndaysa, yedek sunucu devreye girebilmelidir. Yedek sunucu, ana sunucuyla sรผrekli replikasyon ve senkronizasyon halinde olmalฤฑdฤฑr.

AฤŸ Performansฤฑ

Uygulamanฤฑn farklฤฑ aฤŸlar ve aฤŸ รถzellikleri รผzerindeki performansฤฑnฤฑn รถlรงรผlmesi gerekir.

AฤŸ performansฤฑ iรงin aลŸaฤŸฤฑdakileri kontrol edeceksiniz.

  • Sinirlilik: AฤŸ รผzerinden bilgi alฤฑmฤฑnda bir gecikme olduฤŸunda buna titreme denir. BaฤŸlantฤฑsฤฑz aฤŸlarda veya paket anahtarlฤฑ aฤŸlarda sorun var. Bilgi paketlere daฤŸฤฑtฤฑldฤฑฤŸฤฑndan, paketler gรถndericiden alฤฑcฤฑya farklฤฑ bir yoldan gidebilir. Veriler amaรงlanan konuma ulaลŸtฤฑฤŸฤฑnda, baลŸlangฤฑรงta gรถnderildiฤŸinden daha karmaลŸฤฑk hale gelir. Jitters durumunda, mobil uygulamanฤฑn bunu halledebilecek kapasitede olmasฤฑ gerekir.

    Son kullanฤฑcฤฑya, isteฤŸi yeniden gรถndermesi veya sistemden tekrar yanฤฑt gelene kadar beklemesi iรงin uygun bildirimleri gรถstermeniz gerekir.

  • Paket kaybฤฑ: Paketin tamamen kaybolmasฤฑ durumunda uygulama, bilgi talebini yeniden gรถnderebilmeli veya uyarฤฑlarฤฑ buna gรถre oluลŸturabilmelidir. Veriler tam deฤŸilse kullanฤฑcฤฑ Uygulamada gรถrรผntรผlenen bilgileri anlayamayacaktฤฑr. Bu kullanฤฑcฤฑ iรงin stresli olabilir. Bu nedenle, uygun bir mesaj gรถrรผntรผlemek veya kullanฤฑcฤฑyฤฑ tekrar denemeye teลŸvik etmek daha iyidir.
  • AฤŸ Hฤฑzฤฑ: Uygulamanฤฑn, deฤŸiลŸken hฤฑzlara sahip รงeลŸitli aฤŸlarda test edilmesi gerekiyor. Uygulama, 3G, 4G ve 5G aฤŸlarฤฑnda test edilmelidir. Buna hem Wi-Fi hem de mobil aฤŸlar dahildir. Ayrฤฑca, รถzellikle her iki aฤŸ da mevcut olduฤŸunda ve bir aฤŸdan diฤŸerine geรงiลŸ gerรงekleลŸtiฤŸinde uygulamanฤฑn davranฤฑลŸฤฑ izlenmelidir.

    ร–rneฤŸin, kullanฤฑcฤฑlar telefon aฤŸฤฑnฤฑ 4G'den Wi-Fi'ye veya tam tersine deฤŸiลŸtirirken uygulamada bir sorun ortaya รงฤฑkabilir. Bu durumda, uygulama yanฤฑt vermez hale gelir ve kullanฤฑlabilmesi iรงin uygulamanฤฑn yeniden baลŸlatฤฑlmasฤฑ gerekebilir.

Mobil Uygulama Performansฤฑ Sorunlarฤฑnฤฑ Giderme

Sorunlarฤฑ/sorunlarฤฑ keลŸfettikten sonra Performans testiArtฤฑk zamanฤฑ geldi. tracve hatalarฤฑ dรผzeltin.

Sorun 1) Mobil Uygulamanฤฑn gecikmesi veya yavaลŸ tepkisi.

Bu gecikmenin nedeni RAM, ร–nbellek vb. olabilir.

Gereksiz iลŸlemleri sonlandฤฑrmanฤฑz veya รถnbelleฤŸi temizlemeniz gerekir. BaฤŸlantฤฑ sorununun giderilmesi gecikmelere neden olan bazฤฑ sorunlarฤฑ รงรถzebilir

Sorun 2) Uygulamanฤฑn yeniden baลŸlatฤฑlmasฤฑ, kilitlenmesi, donmasฤฑ veya yanฤฑt vermemesi.

AลŸaฤŸฤฑdaki adฤฑmlardan bazฤฑlarฤฑ uygulanarak dรผzeltilebilir

  • Uygulama kodlarฤฑnฤฑ optimize etme
  • Yazฤฑlฤฑm yamalanmalฤฑ ve gรผncellenmelidir.
  • Otomatik geri yรผkleme
  • Harici kartlarฤฑ kullanฤฑrken RAM'i veya bazฤฑ durumlarda ROM'u yรถnetme
  • Wiping รถnbellek bรถlรผmleme
  • Uygulamanฤฑn diฤŸer รผรงรผncรผ taraf uygulamalar ve API'lerle birlikte รงalฤฑลŸtฤฑฤŸฤฑnฤฑ doฤŸrulamak.
  • Haritaping cihaza gรถre mobil uygulama

Faydalฤฑ Mobil Uygulama Test Araรงlarฤฑ

Mobil uygulama test araรงlarฤฑ cihazlara veya mobil iลŸletim sistemine gรถre deฤŸiลŸiklik gรถsterir. Bazฤฑ yaygฤฑn mobil uygulama Performans Testi araรงlarฤฑ ลŸunlardฤฑr:

ANDROฤฐD

  • Robotium Aynen Selenium Mobil Uygulamalar iรงin. Test cihazฤฑ, testi gerรงekleลŸtirmek iรงin gereken birkaรง adฤฑmฤฑ kaydedebilir ve oynatabilir.
  • Maymun KoลŸucusu MonkeyRunner, bir PC'ye veya emรผlatรถrlere baฤŸlฤฑ gerรงek cihazlarda testler รงalฤฑลŸtฤฑrabilir. Araรง, bir akฤฑllฤฑ telefonu, tableti veya emรผlatรถrรผ dฤฑลŸarฤฑdan kontrol etmeye olanak tanฤฑyan bir API'ye sahiptir. Android kodu.

โš ๏ธ Sรผrรผm notu: Her ikisi de Android Kayฤฑtlar eski sรผrรผmdรผr. Robotium 2016'dan beri hiรงbir sรผrรผmรผ yayฤฑnlanmadฤฑ ve Google MonkeyRunner'ฤฑn bakฤฑmฤฑnฤฑn yapฤฑlmadฤฑฤŸฤฑnฤฑ belirterek ekipleri UI Automator ve onun alternatif รงรถzรผmlerine yรถnlendiriyor. uiautatorviewer yerine mรผfettiลŸ.

ELMA

  • OtomatikleลŸtirici (Mac) Automator, Apple tarafฤฑndan geliลŸtirilen bir uygulamadฤฑr. macOSTekrarlayan gรถrevleri daha hฤฑzlฤฑ deฤŸiลŸiklik yapabilmek iรงin gruplar halinde otomatikleลŸtirmek amacฤฑyla tฤฑklama (veya sรผrรผkle bฤฑrak) yรถntemiyle iลŸ akฤฑลŸlarฤฑ oluลŸturmayฤฑ saฤŸlar. Bu, her dosyayฤฑ ayrฤฑ ayrฤฑ manuel olarak deฤŸiลŸtirmek iรงin gereken insan mรผdahalesine kฤฑyasla zaman ve emek tasarrufu saฤŸlar.

Meydan Okumalar

Performans Testi sฤฑrasฤฑnda karลŸฤฑlaลŸฤฑlan temel zorluklar ลŸunlarฤฑ iรงerir:

  • Farklฤฑ mobil platformlarฤฑn ve iลŸletim sistemlerinin dรผzenlenmesi
  • 3G, 4G, 5G veya Wi-Fi gibi baฤŸlantฤฑ tรผrlerini simรผle etmek.
  • Pil ve kaynak tรผketimi gibi mobil cihaz kฤฑsฤฑtlamalarฤฑ
  • Cep telefonu kullanฤฑlabilirliฤŸi
  • Aynฤฑ uygulamayฤฑ รงalฤฑลŸtฤฑrmak iรงin รงeลŸitli boyutlarda mobil cihazlar

Mobil Uygulama Performansฤฑ Test Ortamฤฑnฤฑ Ayarlama

Test Ortamฤฑnฤฑ yapฤฑlandฤฑrmak iรงin ลŸunlarฤฑ yapmanฤฑz gerekir:

  • Test edilmesi gereken mobil uygulamanฤฑn anlaลŸฤฑlmasฤฑ
  • Uygulamanฤฑn รงalฤฑลŸmasฤฑ gereken farklฤฑ iลŸletim sisteminin belirlenmesi
  • Test kurulumunu oluลŸturma
  • Emรผlatรถrleri veya simรผlatรถrleri oluลŸturun
  • Prototipping gerรงek kurulumun
  • Test iรงin uygun aracฤฑn seรงilmesi

Mobil Uygulama Performans Testi Kontrol Listesi

Mobil uygulamalarฤฑn performansฤฑnฤฑn test edilmesi, piyasaya sรผrรผlmeden รถnce รถnemli bir รถnlemdir. Performans Testi kontrol etmek iรงin yapฤฑlฤฑr

  • Bu uygulamayฤฑ kullanmak iรงin ne kadar RAM gerekiyor?
  • Farklฤฑ aฤŸlar ve koลŸullar altฤฑnda APP'nin hฤฑzฤฑnฤฑ ve yanฤฑt sรผresini doฤŸrulamak iรงin.
  • ร‡eลŸitli aฤŸ koลŸullarฤฑnda gerรงekรงi kullanฤฑcฤฑ deneyimi saฤŸlayฤฑn
  • ร‡oklu baฤŸlantฤฑ durumunda gerekli sonuรงlarฤฑn elde edildiฤŸinden emin olun
  • Uygulamanฤฑn รงรถkmediฤŸinden emin olun.
  • Veri, Wi-Fi veya diฤŸer baฤŸlantฤฑlarฤฑ kullanฤฑrken mobil uygulamalarฤฑn iyi performans gรถstermesini saฤŸlamak
  • ร‡alฤฑลŸma sรผresinin ve mobil API kullanฤฑm darboฤŸazlarฤฑnฤฑn izlenmesi
  • Maksimum sayฤฑda eลŸ zamanlฤฑ kullanฤฑcฤฑyฤฑ saฤŸlamak iรงin
  • Son olarak mobil uygulamanฤฑn sฤฑnฤฑrlarฤฑnฤฑ kontrol etmek iรงin

SSS

Orta seviye bir cihazda iki saniyenin altฤฑnda bir sรผre genellikle hedef olarak belirlenir ve yukarฤฑda belirtilen kurala uyar. Ortalama yerine 95. yรผzdelik dilimi รถlรงรผn, รงรผnkรผ yavaลŸ cihazlar gerรงek ลŸikayetlerin bรผyรผk รงoฤŸunluฤŸunu oluลŸturmaktadฤฑr.

ANR, bir uygulamanฤฑn yanฤฑt vermediฤŸi (Application Not Responding) olayฤฑnฤฑn kฤฑsaltmasฤฑdฤฑr ve uygulama yanฤฑt vermediฤŸinde tetiklenir. Android Ana iลŸ parรงacฤฑฤŸฤฑ bloklarฤฑ. ร‡รถkme yaลŸanmadan sona eren oturumlarฤฑn oranฤฑ, รงรถkme yaลŸanmadan sona eren oturumlarฤฑn payฤฑdฤฑr. Google Play Store, belirlediฤŸi eลŸik deฤŸerleri aลŸan uygulamalara รถncelik vermez.

Saniyede altmฤฑลŸ kare, kaydฤฑrma ve animasyon iรงin temel deฤŸerdir ve daha yeni ekranlar doksan veya daha yรผksek bir hฤฑzฤฑ hedeflemektedir. "Jank" olarak adlandฤฑrฤฑlan kare dรผลŸmeleri, hiรงbir ลŸey รงรถkmese bile dรผลŸรผk kalite olarak algฤฑlanฤฑr.

Makine รถฤŸrenimi, her bir รถlรงรผm birimini cihaz modeli bazฤฑnda temel alฤฑr; bu nedenle, bir gerileme tek bir genel sayฤฑ yerine benzer donanฤฑmlara gรถre iลŸaretlenir. Ayrฤฑca yavaลŸ olanlarฤฑ da kรผmelendirir. tracYani, hangi darboฤŸazฤฑn en รงok oturumu etkilediฤŸini sฤฑralฤฑyoruz.

Copilot, yรผkleme komut dosyasฤฑ iskeleti veya bellek รถrneklerini yakalayan bir dรถngรผ gibi tekrarlayan iskeleleri iyi bir ลŸekilde tasarlar. EลŸikler ve cihaz seรงimi รผrรผnรผnรผzรผ yansฤฑtฤฑr, bu nedenle oluลŸturulan her doฤŸrulamayฤฑ gรผvenmeden รถnce gรถzden geรงirin.

ฤฐkisini de kullanฤฑn. Emรผlatรถrler, bir iลŸlem hattฤฑ iรงinde ucuz ve tekrarlanabilir aฤŸ ve API รงalฤฑลŸtฤฑrmalarฤฑ saฤŸlar. Pil tรผketimi, termal kฤฑsฤฑtlama ve satฤฑcฤฑya รถzgรผ davranฤฑลŸlar iรงin gerรงek cihazlar gereklidir; emรผlatรถrler bunlarฤฑ aslฤฑna sadฤฑk bir ลŸekilde yeniden รผretemez.

JMeter Uygulamanฤฑn kullandฤฑฤŸฤฑ aynฤฑ uรง noktalarda eลŸzamanlฤฑ istekleri yรถnetmek iรงin yaygฤฑn olarak tercih edilen aรงฤฑk kaynaklฤฑ bir araรงtฤฑr. Cihaz tarafฤฑndaki araรงlarฤฑn asla gรถremeyeceฤŸi sunucu kapasitesini รถlรงer.

Derleme iลŸleminin otomatik olarak kontrol ettiฤŸi, baลŸlangฤฑรง โ€‹โ€‹sรผresi, bellek veya paket boyutu iรงin kaydedilmiลŸ bir sฤฑnฤฑr. Bu sฤฑnฤฑrฤฑn aลŸฤฑlmasฤฑ derlemenin baลŸarฤฑsฤฑz olmasฤฑna neden olur, bรถylece hatalar sรผrรผmden sonra deฤŸil, birleลŸtirme zamanฤฑnda yakalanฤฑr.

Bu yazฤฑyฤฑ ลŸu ลŸekilde รถzetleyin: