- 移動App性能評測與優(yōu)化
- TMQ專項(xiàng)測試團(tuán)隊(duì)
- 879字
- 2019-01-03 21:41:02
1.2.1 測試流程
由于內(nèi)存測試屬于性能測試,Android系統(tǒng)又和Linux有很多相通之處,因此我們可以參考常見的Linux性能測試方法和指標(biāo),來制定客戶端性能測試方案。常見的測試方法包括Monkey/UIAutomator類的常規(guī)壓力測試、大數(shù)據(jù)/操作的峰值壓力測試、長時(shí)間運(yùn)行的穩(wěn)定性測試等。這些方法都可以疊加在內(nèi)存測試的方案中,觀察這類場景下的應(yīng)用內(nèi)存情況,經(jīng)常能夠發(fā)現(xiàn)類似內(nèi)存泄漏或OOM的問題。
參考了常見性能測試的方案,以及總結(jié)了以往對內(nèi)存性能測試的經(jīng)驗(yàn)后,我們總結(jié)出了一套進(jìn)行內(nèi)存測試的經(jīng)驗(yàn)性流程,下面介紹這個(gè)流程中的要點(diǎn)。
1. 代碼
通常用來進(jìn)行內(nèi)存測試的版本是純凈版本,不應(yīng)該附加多余的Log和調(diào)試用組件。例如有些情況下,為了測試界面延遲/函數(shù)執(zhí)行時(shí)間等性能,會加入一些樁點(diǎn)代碼。在內(nèi)存測試中這些代碼是不必要的,它們可能會分配臨時(shí)內(nèi)存,引起更多的GC,導(dǎo)致應(yīng)用出現(xiàn)運(yùn)行緩慢、卡頓等現(xiàn)象。
2. 測試場景
測試場景通常有兩類。一類是當(dāng)前有新開發(fā)或改動的某項(xiàng)功能,需要對該功能進(jìn)行性能測試。因此測試場景主要針對該功能組織,包括功能的開啟前、運(yùn)行、結(jié)束后等測試點(diǎn)。另一類是整體性能,考察應(yīng)用的常見場景,在綜合使用情況下的性能指標(biāo)。測試場景應(yīng)當(dāng)包括啟動后待機(jī),切換到后臺,執(zhí)行主要功能,以及反復(fù)執(zhí)行各功能后。
在各類場景中,經(jīng)常作為測試重點(diǎn)的有:
·包含了圖片顯示的界面。
·網(wǎng)絡(luò)傳輸大量數(shù)據(jù)。
·需要緩存數(shù)據(jù)的場景。
3. 場景轉(zhuǎn)換成用例
選取了測試場景后,用例設(shè)計(jì)也要考慮內(nèi)存測試的特點(diǎn)。一些常見的方法是:
·結(jié)合場景比較操作前后或不同版本的內(nèi)存變化。
·顯示多張圖片的前臺進(jìn)程。
·多個(gè)場景來回切換。
·長時(shí)間運(yùn)行進(jìn)程的內(nèi)存增長。
4. 執(zhí)行
由于GC和廣播機(jī)制的存在,應(yīng)用內(nèi)存通常都在不停地波動,幅度可能會達(dá)到幾百KB,因此執(zhí)行時(shí)需要考慮這種情況。在采集數(shù)據(jù)時(shí),需要多次采集并計(jì)算平均值。
執(zhí)行完成,我們就可以根據(jù)數(shù)據(jù)進(jìn)行比較初步的分析以確定方向。一方面是我們熟悉的Dalvik Heap部分,即由Java代碼直接分配的內(nèi)存,可以通過IDE直接觀察到使用情況,也可以使用MAT進(jìn)行細(xì)致的分析。
另一方面,假如我們發(fā)現(xiàn)Dalvik Heap沒怎么增長,而其他部分增長了許多,這種情況下的分析就要復(fù)雜一些,我們留待后面的章節(jié)再說。
- 工業(yè)互聯(lián)網(wǎng):技術(shù)、實(shí)踐與行業(yè)解決方案
- 電商行業(yè)微營銷實(shí)戰(zhàn)攻略
- O2O復(fù)盤:10大企業(yè)O2O模式與操盤方法解密
- 微商團(tuán)隊(duì)長操盤運(yùn)營手冊
- 從零開始學(xué)小紅書:精準(zhǔn)定位+創(chuàng)作引流+種草運(yùn)營+直播帶貨
- 出位:如何用互聯(lián)網(wǎng)思維破除瓶頸
- 在線直播實(shí)戰(zhàn)攻略:屏幕呈現(xiàn)+內(nèi)容設(shè)計(jì)+互動創(chuàng)新+流程規(guī)劃
- Drupal 9 Module Development
- 內(nèi)容電商大爆炸
- 新網(wǎng)絡(luò)營銷:新工具 新思維 新方法
- 淘寶天貓網(wǎng)店設(shè)計(jì)從入門到精通:店鋪裝修、廣告海報(bào)、修圖修片、架構(gòu)布局、配色應(yīng)用、設(shè)計(jì)模版
- 跨界:打通線上線下,構(gòu)建商業(yè)閉環(huán)
- 生鮮電商的新零售之路
- 個(gè)人信息保護(hù)問題研究:基于跨境電子商務(wù)
- 網(wǎng)絡(luò)營銷策劃與推廣(慕課版)