1纱昧、內(nèi)存
2、CPU
3堡赔、流量
4识脆、電量
5、啟動(dòng)速度
6善已、滑動(dòng)速度灼捂、界面切換速度
7、與服務(wù)器交互的網(wǎng)絡(luò)速度
二换团、預(yù)期標(biāo)準(zhǔn)指定原則
1纵东、分析競爭對(duì)手的產(chǎn)品,所有指標(biāo)要強(qiáng)于競品
2啥寇、產(chǎn)品經(jīng)理給出的預(yù)期性能指標(biāo)數(shù)據(jù)
3偎球、符合業(yè)內(nèi)行業(yè)標(biāo)準(zhǔn)
三、測試方法及工具
1辑甜、內(nèi)存:使用adb shell腳本進(jìn)行測試衰絮,查看Log數(shù)據(jù)。adb shell dump meminfo
2磷醋、CPU:使用adb shell腳本進(jìn)行測試猫牡,查看Log數(shù)據(jù)。adb shell top
注意:程序持續(xù)運(yùn)行及操作過程中邓线,內(nèi)存不能一直增加淌友,不然系統(tǒng)會(huì)自動(dòng)kill掉該進(jìn)程。
3骇陈、流量監(jiān)控:可以借用網(wǎng)易的開源工具:Emmagee
4震庭、電量監(jiān)控:和競品做對(duì)比測試,同一機(jī)型的測試機(jī)在不同時(shí)間你雌,不同網(wǎng)絡(luò)條件器联,不同功能使用的情 ? ? ? 況下分別測試電量使用情況。
5婿崭、啟動(dòng)速度和滑動(dòng)拨拓、界面切換速度:編寫測試代碼(Android Instrumentation),打樁到源碼中氓栈, ? ? ? 運(yùn)行后通過log數(shù)據(jù)進(jìn)行分析渣磷。
6、其他測試工具:騰訊開發(fā)的工具:GT隨身調(diào)授瘦。下載地址:http://gt.qq.com/
不可置否醋界,在對(duì)APP的整個(gè)測試環(huán)節(jié)中祟身,性能測試是一個(gè)很重要的環(huán)節(jié),它直接影響了用戶的體驗(yàn)物独,那么袜硫,對(duì)于APP的性能測試,我們到底需要關(guān)注那些點(diǎn)呢挡篓?
其實(shí)婉陷,我們可以想想在軟件設(shè)計(jì)、部署官研、使用秽澳、維護(hù)中一共有哪些角色參與,然后再考慮這些角色各自關(guān)注的性能點(diǎn)是什么戏羽,那么作為一個(gè)軟件性能測試工程師担神,我們就能夠從中總結(jié)出,對(duì)于APP的性能測試主要應(yīng)該關(guān)注哪些比較重要的點(diǎn)始花。
一.從用戶角度出發(fā)
開發(fā)軟件的目的是為了讓用戶使用妄讯,我們先站在用戶的角度分析一下,用戶需要關(guān)注哪些性能酷宵。
對(duì)于用戶來說亥贸,當(dāng)點(diǎn)擊一個(gè)按鈕、鏈接或發(fā)出一條指令開始浇垦,到系統(tǒng)把結(jié)果已用戶感知的形式展現(xiàn)出來為止炕置,這個(gè)過程所消耗的時(shí)間是用戶對(duì)這個(gè)軟件性能的直觀印象。也就是我們所說的響應(yīng)時(shí)間男韧,當(dāng)響應(yīng)時(shí)間較小時(shí)朴摊,用戶體驗(yàn)是很好的,當(dāng)然用戶體驗(yàn)的響應(yīng)時(shí)間包括個(gè)人主觀因素和客觀響應(yīng)時(shí)間此虑,在設(shè)計(jì)軟件時(shí)甚纲,我們就需要考慮到如何更好地結(jié)合這兩部分達(dá)到用戶最佳的體驗(yàn)。如:用戶在大數(shù)據(jù)量查詢時(shí)寡壮,我們可以將先提取出來的數(shù)據(jù)展示給用戶贩疙,在用戶看的過程中繼續(xù)進(jìn)行數(shù)據(jù)檢索讹弯,這時(shí)用戶并不知道我們后臺(tái)在做什么况既。
簡單地說,用戶最關(guān)注的其實(shí)就是其操作的響應(yīng)時(shí)間组民。
二.站在管理員的角度考慮需要關(guān)注的性能點(diǎn)
(1)棒仍、 響應(yīng)時(shí)間
(2)、 服務(wù)器資源使況是否合理
(3)臭胜、 應(yīng)用服務(wù)器和數(shù)據(jù)庫資源使用是否合理
(4)莫其、 系統(tǒng)能否實(shí)現(xiàn)擴(kuò)展
(5)癞尚、 系統(tǒng)最多支持多少用戶訪問、系統(tǒng)最大業(yè)務(wù)處理量是多少
(6)乱陡、 系統(tǒng)性能可能存在的瓶頸在哪里
(7)浇揩、 更換那些設(shè)備可以提高性能
(8)、 系統(tǒng)能否支持7×24小時(shí)的業(yè)務(wù)訪問
三.站在開發(fā)(設(shè)計(jì))人員角度去考慮
(1)憨颠、 架構(gòu)設(shè)計(jì)是否合理
(2)胳徽、 數(shù)據(jù)庫設(shè)計(jì)是否合理
(3)、 代碼是否存在性能方面的問題
(4)爽彤、 系統(tǒng)中是否有不合理的內(nèi)存使用方式
(5)养盗、 系統(tǒng)中是否存在不合理的線程同步方式
(6)、 系統(tǒng)中是否存在不合理的資源競爭
四.站在測試工程師角度考慮
那么從用戶适篙、管理員往核、開發(fā)者的角度去總結(jié)了其關(guān)注的性能指標(biāo)之后,筆者最終認(rèn)為嚷节,對(duì)于測試工程師來說聂儒,他們在做性能測試的時(shí)候,主要應(yīng)該關(guān)注的測試指標(biāo)應(yīng)該是:
(1)連接超時(shí)
這個(gè)是App關(guān)閉的首要問題硫痰,而在移動(dòng)應(yīng)用中網(wǎng)絡(luò)錯(cuò)誤數(shù)據(jù)比例報(bào)錯(cuò)中最高的就是連接超時(shí)錯(cuò)誤薄货。想象一下當(dāng)花重金好不容易把你的App推廣到用戶手機(jī)上,而在用戶初次嘗試時(shí)發(fā)生連接超時(shí)無法正常使用碍论,多數(shù)用戶會(huì)選擇再也不會(huì)打開應(yīng)用第二次谅猾。
(2)崩潰
這個(gè)已無需多言。APP的崩潰鳍悠,就是用戶的崩潰税娜。當(dāng)用戶使用你的App出現(xiàn)閃退或崩潰時(shí),他們很有可能跑去App Store贈(zèng)送你一個(gè)“一星”差評(píng)藏研。
(3)系統(tǒng)交互(電話短信干擾敬矩,低電量提醒,push提醒蠢挡,usb數(shù)據(jù)線插拔提醒弧岳,充電提醒等)
在APP使用過程中,可能會(huì)遇到各種中斷場景业踏,那么一旦發(fā)生這些場景禽炬,APP就卡死或者閃退,想必也沒有多少用戶愿意持續(xù)使用你的APP勤家。
(4)弱網(wǎng)下的運(yùn)行情況
電梯里腹尖、地鐵上,網(wǎng)絡(luò)信號(hào)差時(shí)伐脖,APP頁面的菊花轉(zhuǎn)不停热幔,界面卡死乐设,同時(shí)錯(cuò)誤提示一堆,這樣的情況怎能不讓用戶抓狂绎巨。
(5) CPU使用問題
CPU頻率設(shè)置過高時(shí)會(huì)導(dǎo)致過熱,過熱導(dǎo)致耗電更嚴(yán)重,CPU頻率設(shè)置過低導(dǎo)致手機(jī)滯后,應(yīng)用處理緩慢同樣會(huì)導(dǎo)致耗電近尚。更多時(shí)候,用戶解決CPU超載問題只能關(guān)閉甚至卸載App场勤,App就被Kill了!
那么針對(duì)以上所說的幾個(gè)比較突出的APP測試點(diǎn)肿男,沒有開發(fā)者希望用自測的方式去解決,耗時(shí)耗力不說却嗡,最終的效果也不敢完全保證舶沛,那么大多數(shù)人能夠想到的解決方法就是尋求自動(dòng)化測試工具的幫助,但是目前很多自動(dòng)化測試工具存在很多的局限性窗价,一是大多自動(dòng)化測試工具不方便維護(hù)如庭;二是雖然很多自動(dòng)化測試工具很強(qiáng)大,但對(duì)代碼的能力要求很高撼港,大大的增加了測試門檻坪它;三是自動(dòng)化投入的成本較高,相對(duì)于目前APP開發(fā)周期短的現(xiàn)狀來說帝牡,是很不劃算的往毡。
轉(zhuǎn)載:https://tieba.baidu.com/p/4936910008