自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

技術(shù)棧!10種主流移動端性能測試工具概況及橫向?qū)Ρ确治觯?/h1>

開發(fā) 測試
不同的移動端性能測試工具各有優(yōu)劣勢,在工具選擇上,需要綜合考慮主要監(jiān)測的性能指標(biāo)和工具的特長

1. 移動端性能監(jiān)測的主要途徑

移動端性能監(jiān)測的主要途徑有三種:一是開發(fā)工具自帶的監(jiān)測工具,例如xcode自帶的instrument,Android studio自帶的Android monitor;二是使用第三方SDK;三是自行開發(fā)檢測代碼。三種途徑各有利弊。

[[320744]]

開發(fā)工具自帶的監(jiān)測工具,包含了很多強(qiáng)大的監(jiān)測功能,且持續(xù)迭代更新,使用方便,為開發(fā)階段的性能測試提供強(qiáng)有力的支持。但是只能在開發(fā)工具內(nèi)部使用,不能獨立使用在其他產(chǎn)品周期內(nèi)。

專門用于性能監(jiān)測和用戶行為、屬性分析的第三方SDK,比如Bugly,OneAPM,聽云,F(xiàn)irebase,把它們接入項目可以進(jìn)行性能監(jiān)測,這些第三方的工具工作原理都是類似的:引入SDK和相關(guān)庫,在程序入口處啟動監(jiān)測,在關(guān)鍵函數(shù)之前和之后自動埋點記錄上報。然而使用第三方SDK的缺點也是非常明顯的,首先是可定制性差,我們需要的一些指標(biāo)無法收集,SDK收集的我們又不完全需要,很有可能為了簡單的幾個值,讓安裝包增大許多。除性能指標(biāo)外,SDK是否統(tǒng)計了其他數(shù)據(jù),我們并不完全知道,涉及到安全性問題。

自行在項目中植入監(jiān)測代碼的優(yōu)勢就是安全可靠,并且可定制化指標(biāo),有針對性。缺點就是需要開發(fā)成本,而且在代碼中監(jiān)測App的性能本身可能也會帶來額外的性能損耗。

2. 移動端核心性能指標(biāo)

App的性能問題包括崩潰、網(wǎng)絡(luò)請求錯誤或超時、響應(yīng)速度慢、列表滾動卡頓、流量大、耗電等。而導(dǎo)致App性能低下的原因有很多,除去設(shè)備硬件和軟件的外部因素,其中大部分是開發(fā)者錯誤地使用線程、鎖、系統(tǒng)函數(shù)、編程范式、數(shù)據(jù)結(jié)構(gòu)等導(dǎo)致的。即便是最有經(jīng)驗的程序員,也很難在開發(fā)時就能避免所有導(dǎo)致性能低下的"坑",因此解決性能問題的關(guān)鍵是在于能不能盡早地發(fā)現(xiàn)和定位這些"坑"。

衡量一個App的性能有很多方面的指標(biāo),不同App的特征會有不同的側(cè)重指標(biāo)。其中,核心的性能檢測指標(biāo)(普遍會監(jiān)測的指標(biāo))有:

  • 內(nèi)存占用量(MEM)
  • CPU使用率(CPU)
  • 頁面刷新幀率(FPS)
  • 網(wǎng)絡(luò)狀況(Net)
  • 流量消耗(Flow)
  • 卡頓(Flag)
  • 崩潰(Crash)
  • 啟動時間

3. 不同迭代周期對移動端性能測試的需求

一個App的迭代生命周期,可大體分為開發(fā)期、測試期、線上期。

  • 開發(fā)時期,需要能夠檢查性能異常點并通知給開發(fā)者;
  • 測試時期,需要使用測試工具產(chǎn)生性能測試報告;
  • 上線時期,通過監(jiān)控平臺上報性能數(shù)據(jù),實現(xiàn)線上問題定位和追查。

不同的迭代周期對于測試工具具有不同需求:

  • 開發(fā)和測試階段:直觀看到性能測試的結(jié)果,一個可以全面檢測App性能指標(biāo)的本地監(jiān)測工具就可以滿足需求。
  • 上線階段:我們對于用戶使用的應(yīng)用無法做到像針對測試階段的應(yīng)用的可控程度,所以需要通過引入性能監(jiān)測SDK的方式,在運(yùn)行階段將運(yùn)行在用戶設(shè)備中的應(yīng)用性能指標(biāo)上傳至監(jiān)控平臺,便于監(jiān)測應(yīng)用線上的性能表現(xiàn)并定位問題。

4. 主流移動端性能測試工具簡述

(1) Xcode-Instrument

Instrument是Apple官方提供的一個強(qiáng)大的內(nèi)置在xcode中的性能調(diào)試工具集。其中,Activity Monitor(活動監(jiān)視器):監(jiān)控進(jìn)程級別的CPU,內(nèi)存,磁盤,網(wǎng)絡(luò)使用情況,可以得到應(yīng)用程序在手機(jī)運(yùn)行時總占用的內(nèi)存大小;Core Animation(圖形性能):這個模塊顯示程序顯卡性能、CPU使用情況以及頁面刷新幀率;Network:用鏈接工具分析程序如何使用TCP/IP和UDP/IP鏈接;Energy Log:耗電量監(jiān)控。Instrument主要用于在調(diào)試過程中隨時發(fā)現(xiàn)問題,及時優(yōu)化,但是這個工具只能供有應(yīng)用源碼的程序員使用,無法測量用戶真實使用場景下的性能。

(2) Android monitor

Android Studio內(nèi)置了四種性能監(jiān)測工具M(jìn)emory Monitor、Network Monitor、CPU Monitor、GPU Monitor,可以使用這些工具監(jiān)測App的狀態(tài)。Memory Monitor工具主要是用來監(jiān)測App的內(nèi)存分配情況,判斷是否存在內(nèi)存泄漏;Network Monitor是用于顯示App網(wǎng)絡(luò)請求的狀態(tài);GPU Monitor工具可以將進(jìn)行UI渲染工作所花的時間表現(xiàn)出來;CPU Monitor可以對代碼中的方法進(jìn)行檢測。

(3) Matrix

Matrix是一款微信研發(fā)并日常使用的應(yīng)用性能接入框架,支持iOS, macOS和Android。 Matrix 通過接入各種性能監(jiān)控方案,對性能監(jiān)控項的異常數(shù)據(jù)進(jìn)行采集和分析,輸出相應(yīng)的問題分析、定位與優(yōu)化建議,從而幫助開發(fā)者開發(fā)出更高質(zhì)量的應(yīng)用。數(shù)據(jù)監(jiān)測結(jié)果存儲到后臺,沒有直觀的展示界面。Matrix-iOS/

macOS主要監(jiān)控崩潰、卡頓和爆內(nèi)存。Matrix-android監(jiān)控范圍包括:應(yīng)用安裝包大小,幀率變化,啟動耗時,卡頓,慢方法,SQLite 操作優(yōu)化,文件讀寫,內(nèi)存泄漏等。

(4) GT

GT(隨身調(diào))是直接運(yùn)行在手機(jī)上的"集成調(diào)測環(huán)境"。利用GT,僅憑一部手機(jī),無需連接電腦,即可對App進(jìn)行快速的性能測試(CPU、內(nèi)存、流量、電量、幀率/流暢度等)、開發(fā)日志的查看、Crash日志查看、網(wǎng)絡(luò)數(shù)據(jù)包的抓取、App內(nèi)部參數(shù)的調(diào)試、真機(jī)代碼耗時統(tǒng)計等。

GT支持iOS和Android兩個手機(jī)平臺,其中:

  • iOS版是一個Framework包,必須嵌入App工程,編譯出帶GT的App才能使用;iPhone和iPad應(yīng)用都能支持。
  • Android版由一個可直接安裝的GT控制臺App和GT SDK組成。GT控制臺可以獨立安裝使用;SDK需嵌入被調(diào)測的應(yīng)用、并利用GT控制臺進(jìn)行信息展示和參數(shù)修改。

(5) Emmagee

Emmagee是一款實用、方便的性能測試工具,適用于指定的Android App,它可以監(jiān)控CPU、內(nèi)存、網(wǎng)絡(luò)流量、電池電流和狀態(tài)(某些設(shè)備不受支持)。此外,它還支持自定義收集數(shù)據(jù)的時間間隔,在浮動窗口中呈現(xiàn)實時進(jìn)程狀態(tài)等。

安裝之后,打開Emmagee會顯示出目前系統(tǒng)已經(jīng)安裝的應(yīng)用(可在設(shè)置中配置間隔)。選擇一個應(yīng)用之后,點擊"開始測試"按鈕,Emmagee會自動啟動被測應(yīng)用,并在最上方顯示流量、CPU、內(nèi)存等數(shù)據(jù),在該狀態(tài)下可任意使用被測應(yīng)用,Emmagee會自動進(jìn)行相關(guān)數(shù)據(jù)的記錄,終止測試之后會生成相應(yīng)的報告,并保存在Android目錄中。

(6) Soloπ

Soloπ是支付寶在移動端上實現(xiàn)的一套無線化、非侵入、免Root的 Android 專項測試方案。直接操控手機(jī),即可實現(xiàn)自動化的功能、性能、兼容性、以及穩(wěn)定性測試等工作。支持 CPU、內(nèi)存、FPS、流量等常規(guī)指標(biāo)的實時獲取,同時支持將性能數(shù)據(jù)記錄下來,存儲到本地并通過報表形式展示,支持性能加壓。

(7) Testin

Testin性能測試,通過自動化的測試工具,在上線前模擬正常、峰值以及異常等多種場景,從而對App的各項性能指標(biāo)進(jìn)行測試。包括:負(fù)載測試、壓力測試、配置測試、并發(fā)測試、容量測試、可靠性測試。

  • 負(fù)載測試:通過逐步增加系統(tǒng)負(fù)載,測試系統(tǒng)性能的變化,并最終確定在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量。
  • 壓力測試:通過逐步增加系統(tǒng)負(fù)載,測試系統(tǒng)性能的變化,并最終確定在什么負(fù)載條件下系統(tǒng)性能處于失效狀態(tài),并以此來獲得系統(tǒng)能夠提供的最大服務(wù)級別。
  • 配置測試:通過測試被測試軟件的軟硬件配置,獲得不同配置的性能指標(biāo),用于選擇最佳的設(shè)備及參數(shù)配置。
  • 并發(fā)測試:測試多個用戶同時訪問同一個應(yīng)用、同一個模塊或者數(shù)據(jù)記錄時是否存在死鎖或者其他性能問題。
  • 容量測試:在確定的軟、硬件條件下,構(gòu)造一定數(shù)量的虛擬用戶訪問,從而獲取不同數(shù)量級別的服務(wù)器性能指標(biāo),以確定數(shù)據(jù)庫能夠處理的最大會話能力、最大容量等。
  • 可靠性測試:采用系統(tǒng)能夠支持的最大并發(fā)用戶數(shù),持續(xù)執(zhí)行一段時間(7*24小時),通過綜合分析執(zhí)行指標(biāo)、資源監(jiān)控指標(biāo),來確定系統(tǒng)處理最大工作量的性能情況。

(8) Bugly

Bugly是騰訊推出的一款免費的崩潰收集工具。面向移動開發(fā)者提供專業(yè)的 Crash 監(jiān)控、崩潰分析等質(zhì)量跟蹤服務(wù)。移動開發(fā)者 ( Android / iOS ) 可以通過監(jiān)控,快速發(fā)現(xiàn)用戶在使用過程中出現(xiàn)的 Crash (崩潰)、Android ANR( application not response) 和 iOS 卡頓,并根據(jù)上報的信息快速定位和解決問題。用戶只要登陸 Bugly 網(wǎng)站,就可以清晰的看到被監(jiān)測產(chǎn)品有多少 Crash,影響了多少用戶的使用,并可以根據(jù) Bugly 提供的 Crash 日志進(jìn)行問題修復(fù)。

(9) OneAPM

Mi是OneAPM針對移動設(shè)備上App推出的移動應(yīng)用性能監(jiān)控工具。Mi展示移動應(yīng)用的交互性能,崩潰率,HTTP 錯誤率,網(wǎng)絡(luò)錯誤率等核心性能指標(biāo)、用戶訪問軌跡、用戶動作等行為數(shù)據(jù),以及活躍用戶等運(yùn)營數(shù)據(jù)。從用戶動作、網(wǎng)絡(luò)請求、崩潰三個核心指標(biāo)對用戶體驗進(jìn)行評估,并結(jié)合應(yīng)用版本、操作系統(tǒng)、設(shè)備、地域等多個維度總覽用戶分布情況。完整記錄每個用戶的訪問軌跡,通過查看單次用戶訪問,回溯過程中出現(xiàn)的緩慢動作,錯誤請求和崩潰。詳盡展示某類崩潰影響的設(shè)備、操作系統(tǒng)、應(yīng)用版本、發(fā)生次數(shù)、影響用戶等信息,還原崩潰發(fā)生軌跡,定位崩潰代碼行。

(10) 聽云App

聽云App是聽云平臺提供的移動端性能監(jiān)測工具。監(jiān)控真實用戶使用過程中的崩潰、錯誤、卡頓、網(wǎng)絡(luò)性能差等問題??梢愿橝pp應(yīng)用移動設(shè)備端用戶進(jìn)行屏幕操作時的交互性能;統(tǒng)計多種錯誤類型,直觀定位到具體報錯URL、以及崩潰時的堆棧信息;可以深入追蹤HTTP錯誤、網(wǎng)絡(luò)錯誤和崩潰的原因,提高App質(zhì)量。

5. 主流移動端性能測試工具橫向?qū)Ρ?/strong>

針對不同的產(chǎn)品迭代周期,選取了目前業(yè)內(nèi)比較成熟的工具,對比各自的優(yōu)缺點。

 

技術(shù)棧!10種主流移動端性能測試工具概況及橫向?qū)Ρ确治觯? src=

 

 

技術(shù)棧!10種主流移動端性能測試工具概況及橫向?qū)Ρ确治觯? src=

 

 

技術(shù)棧!10種主流移動端性能測試工具概況及橫向?qū)Ρ确治觯? src=

 

各工具性能指標(biāo)覆蓋情況對比如下表:

技術(shù)棧!10種主流移動端性能測試工具概況及橫向?qū)Ρ确治觯? src=

6. 結(jié)論

不同的移動端性能測試工具各有優(yōu)劣勢,在工具選擇上,需要綜合考慮主要監(jiān)測的性能指標(biāo)和工具的特長。對于研發(fā)測試階段適用的工具,GT、Emmagee、soloπ在andriod端可直接安裝apk進(jìn)行測試,方便快捷。對于線上用戶使用情況的監(jiān)控,有些工具指標(biāo)覆蓋比較全面,但是對某些指標(biāo)的監(jiān)測不夠深入,可考慮疊加另外一個或多個工具進(jìn)行組合使用。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2021-05-07 07:27:51

Python測試工具

2011-04-07 10:16:12

虛擬化技術(shù)成本

2009-03-05 14:56:08

TomcatGeronimoJBoss

2024-03-06 18:09:06

Linux性能工具

2009-02-16 17:21:46

2020-04-24 16:00:58

存儲分析應(yīng)用

2020-05-27 14:41:51

主流軟件測試工具

2017-05-05 10:15:38

深度學(xué)習(xí)框架對比分析

2019-07-31 09:16:48

分布式存儲技術(shù)主流

2013-01-17 16:11:11

數(shù)據(jù)中心交換機(jī)網(wǎng)絡(luò)虛擬化

2010-06-24 21:35:33

2010-08-11 10:10:17

JavaFXFlexSilverlight

2009-04-14 10:11:29

.NETWeb測試工具

2015-11-16 15:37:13

編排工具集群管理對比

2010-05-28 09:14:52

Linux性能測試工具

2012-08-01 10:50:48

性能測試測試架構(gòu)

2010-06-04 16:07:09

Linux 性能測試工

2010-06-07 14:42:47

Linux性能測試工具

2009-07-06 10:08:03

Flex自動化

2019-08-30 09:32:32

監(jiān)控負(fù)載測試工具
點贊
收藏

51CTO技術(shù)棧公眾號