怎麼玩轉App測試?自動化測試工具選擇方法彙總!
現在app的開發已經是火爆的一個開發趨勢,手機應用的測試也顯得格外的重要,現在大部分還是停留在手動測試的狀態。我們知道手機app開發,要適應不同的裝置,比如一個Android app要適應不同的版本,不僅是要支援最新的版本,舊的版本也需要支援,這也就導致了手動測試需要購買N部android手機來手動測試,如何應對繁瑣的手機測試呢?當然是使手機測試自動化。
經常有新手或者經驗尚淺的朋友在後臺給我留言:手機App功能測試用什麼自動化工具啊?這些多測試工具到底用於什麼測試啊?針對APP測試如何選擇自動化測試工具這個問題,今天我來個大家做一個彙總。
功能測試
功能測試最開始最基礎的就是分析需求編寫測試用例,測試是把握質量的守關人,保證不漏測的第一步就是要編寫儘可能全面的測試用例。基礎打牢後多實踐。測試是講究經驗的職業,從簡單需求開始,制定測試計劃,編寫用例執行,執行過程及時調整計劃爆出風險和進度給團隊知道非常重要。而且現在是自動化的時代,你可以學習使用一些自動化測試工具來進行功能自動化測試。
自動化工具 a) 輕量介面自動化測試 jmeter b) APP UI層面的自動化 android:UI Automator Viewer,Android Junit,Instrumentation,UIAutomator, iOS:基於Instrument的iOS UI自動化
測試方法
根據軟體說明或使用者需求驗證App的各個功能實現,採用如下方法實現並評估功能測試過程:
1)採用時間、地點、物件、行為和背景五元素或業務分析等方法分析、提煉App的使用者使用場景,對比說明或需求,整理出內在、外在及非功能直接相關的需求,構建測試點,並明確測試標準。
2)根據被測功能點的特性列出相應型別的測試用例對其進行覆蓋,如:設計輸入的地方需要考慮等價、邊界、負面、異常、非法、場景回滾、關聯測試等測試型別對其進行覆蓋。
3)在測試實現的各個階段跟蹤測試實現與需求輸入的覆蓋情況,及時修正業務或需求理解錯誤。
效能測試
自動化工具 a) Web前端效能測試 網路抓包工具:Wireshark 網頁檔案大小 webpagetest pagespeed insight chrome adb b) APP端效能測試 Android記憶體佔用分析:MAT iOS記憶體問題分析:ARC模式 Android WebView效能分析: iOS WebView效能分析 c) 後臺服務效能測試 負載,壓力,耐久性 可拓展性,基準 工具:apacheAB,Jmeter,LoadRunner
測試方法:
1)響應能力測試:測試App中的各類操作是否滿足使用者響應時間要求。
App安裝、解除安裝的響應時間
App各類功能性操作的響應時間
2)壓力測試,反覆/長期操作下,系統資源是否佔用異常。
App反覆進行安裝解除安裝,檢查系統資源是否正常
其他功能反覆進行操作,檢查系統資源是否正常
專項測試
APP啟動快不快?跑起來是不是常常Crash?是否有卡頓?這些問題可以靠專項測試來解決。專項測試包括CPU、記憶體、幀率、流量、電量等;這塊有很多工具和方法,如果能做好專項測試,那在業界是很受歡迎的。在大公司,如果APP有一個大的版本要釋出,通常是需要做全面的專項測試的。 a) 相容性測試 手工測試:作業系統,解析度,rom,網路型別 雲平臺:testin,指令碼編寫,Android。
測試方法
主要測試內部和外部相容性
1)與本地及主流App是否相容
2)與各種裝置是否相容,若有跨系統支援則需要檢驗是否在個系統下,各種行為是否一致。
不同手機螢幕分標率的相容性
不同手機品牌的相容性 b) 流量測試 Android自帶的流量管理, iOS自帶的Network
tcpdump抓包 WiFi代理抓包:Fiddler 流量節省方法:壓縮資料,json優於xml;WebP優於傳統的JPG,PNG;控制訪問的頻次;只獲取必要的資料;快取; c) 電量測試 基於測試裝置的方法,購買電量表進行測試。 GSam Battery Monitoe Pro iOS基於Instrument Energy工具
d) 弱網路測試 手機自帶的網路狀況模擬工具 基於代理的弱網路的模擬: 工具:windows:Network Delay Simulator Mac:Network Link Conditioner
實地測試 e) 穩定性測試 Android:Monkey 模糊測試 f) 安全測試 安裝包:反編譯,簽名,完整性校驗,許可權。 敏感資訊測試: 鍵盤劫持 賬戶安全 資料加密 元件安全測試 服務端介面測試:SQL注入,XSS跨站指令碼攻擊,CSRF跨站請求偽造,越權訪問。 g) 環境相關的測試 干擾測試 許可權測試 邊界情況 定位測試
輔助測試方法 a) 程式碼靜態掃描 Android工具:FindBugs,Lint, iOS工具:Analyze b) 程式碼覆蓋率測試 現有框架:emma,jacoco c) 介面Mock方法 介面異常模擬 d) AOP測試方法 AspectJ Aspects
總結:
由於移動網際網路的應用太多,更新頻繁,無論如何不是個人經驗所能覆蓋完全的。以上幾點,僅從我測試過的APP進行總結,僅為APP應用測試新人提供思考方向。希望看完本文,您對於移動應用的測試多了一些瞭解。
歡迎加入 51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660