APP性能測試是什么
從網(wǎng)上查了一下颤陶,貌似也沒什么特別的定義颗管,我這邊根據(jù)自己的經(jīng)驗(yàn)給出一個(gè)自己的定義,如有巧合純屬雷同滓走。
客戶端性能測試就是垦江,從業(yè)務(wù)和用戶的角度出發(fā),設(shè)計(jì)合理且有效的性能測試場景搅方,制定各性能場景下的客戶端性能指標(biāo)(內(nèi)存比吭、CPU、卡頓數(shù)姨涡、幀率衩藤、電量、加載時(shí)長等)涛漂,并制定規(guī)范化的執(zhí)行流程赏表,按照執(zhí)行標(biāo)準(zhǔn)執(zhí)行性能場景同時(shí)使用性能測試具收集性能數(shù)據(jù)检诗,并對數(shù)據(jù)進(jìn)行分析,如果有性能問題并對問題進(jìn)行定位瓢剿,配合開發(fā)進(jìn)行修復(fù)驗(yàn)證發(fā)布逢慌,最后輸出完整的性能報(bào)告。
從上面的定義中间狂,我們可以得出攻泼,在APP的性能測試需要關(guān)注以下幾方面,性能測試的場景的設(shè)計(jì)前标、性能指標(biāo)的定義坠韩、規(guī)范化的執(zhí)行流程、性能數(shù)據(jù)數(shù)據(jù)收集炼列、性能數(shù)據(jù)分析、性能問題定位音比、性能測試報(bào)告俭尖。
性能測試并不是說我們上來找個(gè)工具,隨便跑個(gè)場景洞翩,拿到數(shù)據(jù)稽犁,輸出個(gè)報(bào)告,就可以了骚亿。每一步都應(yīng)該做到有的放矢已亥,從而體現(xiàn)出測試人員的專業(yè)性。
APP性能測試怎么做
下面我們分別來看一下:
性能測試場景的設(shè)計(jì)
場景可能是一個(gè)操作的不斷重復(fù)来屠,也可能是幾個(gè)操作的組合再重復(fù)虑椎,對于性能測試的場景來說,他一定有重復(fù)的操作或者持續(xù)的操作俱笛,目的是通過重復(fù)或者持續(xù)的操作捆姜,把性能問題放大到一定程度藕夫,能夠讓我們發(fā)現(xiàn)問題狂打。
舉個(gè)栗子:以B站推薦tab為例,想測試feed滑動(dòng)情況下的性能表現(xiàn)颓哮,那性能場景可以設(shè)計(jì)成磕仅,feed滑動(dòng)50次珊豹,每次滑動(dòng)間隔2s。
性能指標(biāo)的定義
常見的移動(dòng)端性能指標(biāo)有:內(nèi)存榕订、cpu店茶、幀率、卡頓數(shù)卸亮、wakp up數(shù)忽妒、展示時(shí)長等,關(guān)注什么性能指標(biāo)是依托于我們的性能測試場景。
舉個(gè)栗子:以B站推薦tab為例段直,當(dāng)我們冷啟APP進(jìn)入推薦tab的時(shí)候吃溅,更關(guān)注數(shù)據(jù)展示時(shí)長,滑動(dòng)場景更關(guān)注卡頓數(shù)鸯檬,為不同場景設(shè)計(jì)合理的性能指標(biāo)也是我們需要認(rèn)真考慮的决侈。
規(guī)范化執(zhí)行流程
場景和指標(biāo)都定義好了以后,就要開始執(zhí)行了喧务,這里要求要規(guī)范化執(zhí)行赖歌,規(guī)范化執(zhí)行不是簡單的按照場景的定義去執(zhí)行就好,而是要有很多關(guān)注的點(diǎn)功茴。
可以定義的規(guī)范有哪些:
- 場景開始執(zhí)行前需要等待多少s
- 執(zhí)行后需要等待多少s
- 每次測試需不需要冷啟或是必須重新安裝
- 安裝好需要等待多久才可以開始測試
- 測試賬號庐冯、測試數(shù)據(jù)、設(shè)備坎穿、網(wǎng)絡(luò)需不需要固定
每一個(gè)點(diǎn)都可能影響的性能數(shù)據(jù)的準(zhǔn)確性展父,必須要定義規(guī)范,每次都要按著規(guī)范去執(zhí)行玲昧,而且這個(gè)規(guī)范是動(dòng)態(tài)栖茉,隨著我們不斷的測試,會(huì)發(fā)現(xiàn)很多影響性能數(shù)據(jù)的問題孵延,都必須定制規(guī)范吕漂,加以規(guī)避。同時(shí)好的規(guī)范能夠未我們后面進(jìn)行性能數(shù)據(jù)分析打下基礎(chǔ)尘应。
性能數(shù)據(jù)數(shù)據(jù)收集
性能數(shù)據(jù)收集可能是整個(gè)客戶端性能測試中最簡單的部分了惶凝,有成熟的工具perfdog可以使用,方便簡單菩收,也可以使用商業(yè)化的perfdog service實(shí)現(xiàn)自動(dòng)化的性能數(shù)據(jù)收集梨睁,就是需要花錢。
性能數(shù)據(jù)分析
在收集到性能數(shù)據(jù)之后娜饵,就要去分析數(shù)據(jù)坡贺,如何分析,下面我簡單說一下箱舞,后面會(huì)出文章專門說如何對性能數(shù)據(jù)進(jìn)行分析
- 走勢圖遍坟,從走勢圖上我們大致可以看出該場景在當(dāng)前版本的性能表現(xiàn),可以得出以下結(jié)論:
- 和之前版本的走勢圖進(jìn)行對比晴股,性能指標(biāo)的波動(dòng)情況
- 性能指標(biāo)峰值愿伴、場景的均值以及漲幅的變化
- 場景的起始值與之前版本的變化
- 場景結(jié)束后的值與之前版本的變化
性能問題定位
在進(jìn)行完性能數(shù)據(jù)分析以后,如果有問題电湘,就需要去定位問題是那一塊業(yè)務(wù)的問題或者是哪一個(gè)mr引起的問題隔节,就需要回溯鹅经。
- 先找開發(fā),和開發(fā)溝通一下怎诫,看能否根據(jù)問題表象確定問題瘾晃,如果確認(rèn)不了,就需要測試定位是哪個(gè)mr合入引起的
- 列出本次版本合入所有mr幻妓,篩選出那些mr是性能問題所在的業(yè)務(wù)
- 找mr合入前后的包重新跑蹦误,確認(rèn)每個(gè)mr是否有影響
- 當(dāng)確定是哪個(gè)mr合入引起的性能問題后,再次和開發(fā)溝通
性能測試報(bào)告
性能測試報(bào)告的目的是給出當(dāng)前版本的性能表現(xiàn)情況肉津,需要包含一些核心的模塊
- 測試結(jié)論
- 性能問題歸因
- 各個(gè)場景的性能指標(biāo)數(shù)據(jù)
- 測試環(huán)境以及方案
- 各個(gè)場景的性能指標(biāo)走勢圖
以上我對app性能測試的一些粗淺理解和經(jīng)驗(yàn)强胰,有問題可以留言,一起探討妹沙。偶洋。