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