如果你是個(gè)苦逼的APP測(cè)試員,這些自動(dòng)化測(cè)試工具或許能幫到你
現(xiàn)在app的開(kāi)發(fā)已經(jīng)是火爆的一個(gè)開(kāi)發(fā)趨勢(shì),手機(jī)應(yīng)用的測(cè)試也顯得格外的重要,現(xiàn)在大部分還是停留在手動(dòng)測(cè)試的狀態(tài)。我們知道手機(jī)app開(kāi)發(fā),要適應(yīng)不同的設(shè)備,比如一個(gè)Android app要適應(yīng)不同的版本,不僅是要支持最新的版本,舊的版本也需要支持,這也就導(dǎo)致了手動(dòng)測(cè)試需要購(gòu)買N部android手機(jī)來(lái)手動(dòng)測(cè)試,如何應(yīng)對(duì)繁瑣的手機(jī)測(cè)試呢?當(dāng)然是使手機(jī)測(cè)試自動(dòng)化。
經(jīng)常有新手或者經(jīng)驗(yàn)尚淺的朋友在后臺(tái)給我留言:手機(jī)App功能測(cè)試用什么自動(dòng)化工具啊?這些多測(cè)試工具到底用于什么測(cè)試???針對(duì)APP測(cè)試如何選擇自動(dòng)化測(cè)試工具這個(gè)問(wèn)題,今天我來(lái)給大家做一個(gè)匯總。
功能測(cè)試
功能測(cè)試最開(kāi)始最基礎(chǔ)的就是分析需求編寫測(cè)試用例,測(cè)試是把握質(zhì)量的守關(guān)人,保證不漏測(cè)的第一步就是要編寫盡可能全面的測(cè)試用例。基礎(chǔ)打牢后多實(shí)踐。測(cè)試是講究經(jīng)驗(yàn)的職業(yè),從簡(jiǎn)單需求開(kāi)始,制定測(cè)試計(jì)劃,編寫用例執(zhí)行,執(zhí)行過(guò)程及時(shí)調(diào)整計(jì)劃爆出風(fēng)險(xiǎn)和進(jìn)度給團(tuán)隊(duì)知道非常重要。而且現(xiàn)在是自動(dòng)化的時(shí)代,你可以學(xué)習(xí)使用一些自動(dòng)化測(cè)試工具來(lái)進(jìn)行功能自動(dòng)化測(cè)試。
自動(dòng)化工具
a) 輕量接口自動(dòng)化測(cè)試
jmeter
b) APP UI層面的自動(dòng)化
android:UI Automator Viewer,Android Junit,Instrumentation,UIAutomator,
iOS:基于Instrument的iOS UI自動(dòng)化
測(cè)試方法
根據(jù)軟件說(shuō)明或用戶需求驗(yàn)證App的各個(gè)功能實(shí)現(xiàn),采用如下方法實(shí)現(xiàn)并評(píng)估功能測(cè)試過(guò)程:
1)采用時(shí)間、地點(diǎn)、對(duì)象、行為和背景五元素或業(yè)務(wù)分析等方法分析、提煉App的用戶使用場(chǎng)景,對(duì)比說(shuō)明或需求,整理出內(nèi)在、外在及非功能直接相關(guān)的需求,構(gòu)建測(cè)試點(diǎn),并明確測(cè)試標(biāo)準(zhǔn)。
2)根據(jù)被測(cè)功能點(diǎn)的特性列出相應(yīng)類型的測(cè)試用例對(duì)其進(jìn)行覆蓋,如:設(shè)計(jì)輸入的地方需要考慮等價(jià)、邊界、負(fù)面、異常、非法、場(chǎng)景回滾、關(guān)聯(lián)測(cè)試等測(cè)試類型對(duì)其進(jìn)行覆蓋。
3)在測(cè)試實(shí)現(xiàn)的各個(gè)階段跟蹤測(cè)試實(shí)現(xiàn)與需求輸入的覆蓋情況,及時(shí)修正業(yè)務(wù)或需求理解錯(cuò)誤。
性能測(cè)試
自動(dòng)化工具
a) Web前端性能測(cè)試
網(wǎng)絡(luò)抓包工具:Wireshark
網(wǎng)頁(yè)文件大小
webpagetest
pagespeed insight
chrome adb
b) APP端性能測(cè)試
Android內(nèi)存占用分析:MAT
iOS內(nèi)存問(wèn)題分析:ARC模式
Android WebView性能分析:
iOS WebView性能分析
c) 后臺(tái)服務(wù)性能測(cè)試
負(fù)載,壓力,耐久性
可拓展性,基準(zhǔn)
工具:apacheAB,Jmeter,LoadRunner
測(cè)試方法:
1)響應(yīng)能力測(cè)試:測(cè)試App中的各類操作是否滿足用戶響應(yīng)時(shí)間要求。
App安裝、卸載的響應(yīng)時(shí)間
App各類功能性操作的響應(yīng)時(shí)間
2)壓力測(cè)試,反復(fù)/長(zhǎng)期操作下,系統(tǒng)資源是否占用異常。
App反復(fù)進(jìn)行安裝卸載,檢查系統(tǒng)資源是否正常
其他功能反復(fù)進(jìn)行操作,檢查系統(tǒng)資源是否正常
專項(xiàng)測(cè)試
APP啟動(dòng)快不快?跑起來(lái)是不是常常Crash?是否有卡頓?這些問(wèn)題可以靠專項(xiàng)測(cè)試來(lái)解決。專項(xiàng)測(cè)試包括CPU、內(nèi)存、幀率、流量、電量等;這塊有很多工具和方法,如果能做好專項(xiàng)測(cè)試,那在業(yè)界是很受歡迎的。在大公司,如果APP有一個(gè)大的版本要發(fā)布,通常是需要做全面的專項(xiàng)測(cè)試的。
a) 兼容性測(cè)試
手工測(cè)試:操作系統(tǒng),分辨率,rom,網(wǎng)絡(luò)類型
云平臺(tái):testin,腳本編寫,Android。
測(cè)試方法
主要測(cè)試內(nèi)部和外部兼容性
1)與本地及主流App是否兼容
2)與各種設(shè)備是否兼容,若有跨系統(tǒng)支持則需要檢驗(yàn)是否在個(gè)系統(tǒng)下,各種行為是否一致。
不同手機(jī)屏幕分辨率的兼容性
不同手機(jī)品牌的兼容性
b) 流量測(cè)試
Android自帶的流量管理,
iOS自帶的Network
tcpdump抓包
WiFi代理抓包:Fiddler
流量節(jié)省方法:壓縮數(shù)據(jù),json優(yōu)于xml;WebP優(yōu)于傳統(tǒng)的JPG,PNG;控制訪問(wèn)的頻次;只獲取必要的數(shù)據(jù);緩存;
c) 電量測(cè)試
基于測(cè)試設(shè)備的方法,購(gòu)買電量表進(jìn)行測(cè)試。
GSam Battery Monitoe Pro
iOS基于Instrument Energy工具
d) 弱網(wǎng)絡(luò)測(cè)試
手機(jī)自帶的網(wǎng)絡(luò)狀況模擬工具
基于代理的弱網(wǎng)絡(luò)的模擬:
工具:windows:Network Delay Simulator
Mac:Network Link Conditioner

實(shí)地測(cè)試
e) 穩(wěn)定性測(cè)試
Android:Monkey
模糊測(cè)試
f) 安全測(cè)試
安裝包:反編譯,簽名,完整性校驗(yàn),權(quán)限。
敏感信息測(cè)試:
鍵盤劫持
賬戶安全
數(shù)據(jù)加密
組件安全測(cè)試
服務(wù)端接口測(cè)試:SQL注入,XSS跨站腳本攻擊,CSRF跨站請(qǐng)求偽造,越權(quán)訪問(wèn)。
g) 環(huán)境相關(guān)的測(cè)試
干擾測(cè)試
權(quán)限測(cè)試
邊界情況
定位測(cè)試
輔助測(cè)試方法
a) 代碼靜態(tài)掃描
Android工具:FindBugs,Lint,
iOS工具:Analyze
b) 代碼覆蓋率測(cè)試
現(xiàn)有框架:emma,jacoco
c) 接口Mock方法
接口異常模擬
d) AOP測(cè)試方法
AspectJ
Aspects
總結(jié):
由于移動(dòng)互聯(lián)網(wǎng)的應(yīng)用太多,更新頻繁,無(wú)論如何不是個(gè)人經(jīng)驗(yàn)所能覆蓋完全的。以上幾點(diǎn),僅從我測(cè)試過(guò)的APP進(jìn)行總結(jié),僅為APP應(yīng)用測(cè)試新人提供思考方向。希望看完本文,您對(duì)于移動(dòng)應(yīng)用的測(cè)試多了一些了解。