發(fā)布時(shí)間:2020-07-17
當(dāng)android應(yīng)用實(shí)現(xiàn)了新功能后,準(zhǔn)備發(fā)布版本前,必須進(jìn)行性能測(cè)試以確定沒有性能問題,內(nèi)存使用情況便是其中必須要測(cè)試的性能之一。由于內(nèi)存組成的復(fù)雜性,并沒有簡單通用的方法能夠發(fā)現(xiàn)所有的內(nèi)存問題。有時(shí)候因?yàn)閱栴}比較明顯,就真的發(fā)現(xiàn)了問題,但是對(duì)于較為成熟的軟件,并不是那么容易發(fā)現(xiàn)內(nèi)存問題?,F(xiàn)在從內(nèi)存測(cè)試流程、內(nèi)存測(cè)試方法、內(nèi)存占用的評(píng)判建議三個(gè)方面總結(jié)如下,希望能提升android內(nèi)存測(cè)試的有效性。
一、內(nèi)存測(cè)試流程
1)代碼:保證沒有附加多余的Log和調(diào)試用組件
2)測(cè)試場(chǎng)景:新開發(fā)的功能,只需要對(duì)該功能進(jìn)行性能測(cè)試,因此測(cè)試場(chǎng)景包括該功能的開啟前、運(yùn)行、結(jié)束后等測(cè)試點(diǎn);另一類是整體性能,考察應(yīng)用的常見場(chǎng)景,在綜合使用情況下的性能指標(biāo),測(cè)試場(chǎng)景應(yīng)當(dāng)包括啟動(dòng)后待機(jī)、切換到后臺(tái)、執(zhí)行主要功能以及反復(fù)執(zhí)行各功能。在兩類場(chǎng)景中,重點(diǎn)關(guān)注:
①包含了圖片顯示的界面;
②網(wǎng)絡(luò)傳輸大量數(shù)據(jù);
③需要緩存數(shù)據(jù)的場(chǎng)景
3)場(chǎng)景轉(zhuǎn)換成用例:選取了測(cè)試場(chǎng)景之后,針對(duì)內(nèi)存測(cè)試的特點(diǎn)設(shè)計(jì)用例,對(duì)APP內(nèi)存變化作對(duì)比;將測(cè)試場(chǎng)景轉(zhuǎn)化為腳本,長時(shí)間運(yùn)行泛靈犀功能,比較操作前后內(nèi)存的變化來評(píng)估測(cè)試APP的內(nèi)存
4)執(zhí)行:將采集到的數(shù)據(jù)以圖形的形式展現(xiàn),觀察內(nèi)存的波動(dòng)
5)分析:分析內(nèi)存時(shí)重點(diǎn)關(guān)注如下幾個(gè)字段:
Native/Dalvik 的 Heap ,分別給出的是JNI層和Java層的內(nèi)存分配情況,如果發(fā)現(xiàn)這個(gè)值一直增長,
則代表程序可能出現(xiàn)了內(nèi)存泄漏;
Total 的 PSS 信息,代表應(yīng)用真正占據(jù)的內(nèi)存大小,通過它可以判別手機(jī)中哪些程序占內(nèi)存比較大了。
二、內(nèi)存占用評(píng)判建議
通過性能監(jiān)控工具進(jìn)行性能評(píng)測(cè)時(shí),得出的結(jié)果不知道內(nèi)存cpu波動(dòng)是否在預(yù)期之內(nèi),不懂得如何評(píng)估。經(jīng)過了解,可以從以下幾個(gè)方面考慮:
1)首先與有該功能的以往版本和競(jìng)品做對(duì)比,得出內(nèi)存的差值
比如對(duì)一個(gè)APP每個(gè)版本都做內(nèi)存占用評(píng)測(cè),在對(duì)比與以往版本。也會(huì)對(duì)競(jìng)爭對(duì)手在內(nèi)存上的消耗量,通過內(nèi)存的差值可以較為直觀地判斷出該版本的內(nèi)存占用情況。
2)若之前版本和競(jìng)品都無該功能,可將應(yīng)用的基本功能消耗的內(nèi)存作為參考
3)內(nèi)存有無泄漏
判斷內(nèi)存是否泄漏的方法是:在APP測(cè)試過程中是否存在因?yàn)閮?nèi)存不足導(dǎo)致的應(yīng)用crash;內(nèi)存是否存在持續(xù)上漲的情況。針對(duì)上圖泛靈犀主動(dòng)情況下的內(nèi)存占用,可從內(nèi)存有無泄漏角度分析。
4)內(nèi)存峰值是否在單個(gè)應(yīng)用所允許的最大值之內(nèi)
最大值可參考:手機(jī)硬件配置;系統(tǒng)所允許的最大值;相比類似應(yīng)用的峰值。在手機(jī)的設(shè)置、用用程序管理器、應(yīng)用程序信息中可以看到應(yīng)用所占用的手機(jī)內(nèi)存大小。若某個(gè)功能的內(nèi)存峰值小于該應(yīng)用所占內(nèi)存,基本是符合預(yù)期的。
推薦閱讀:
APP測(cè)試中IOS和Android的區(qū)別有哪些?
APP測(cè)試工具M(jìn)obileRunner工作空間該怎么整理?
App測(cè)試中黑盒測(cè)試用例設(shè)計(jì)方法有哪些?
App性能測(cè)試中的幾個(gè)重要概念總結(jié)
如何進(jìn)行H5前端頁面測(cè)試?H5前端頁面需要注意的測(cè)試點(diǎn)
APP的UI測(cè)試點(diǎn)及接口測(cè)試點(diǎn)總結(jié)
電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。
您的信息已成功提交!
我們的客服人員稍后會(huì)與您聯(lián)系