淺談移動網際網路App測試
前言
在移動網際網路高速發展的今天,測試作為技術研發流程中最重要的環節之一,其地位是不言而喻的。一個測試人員需要具備什麼樣的技術能力,怎麼樣快速對移動網際網路測試有一個全面的認識和學習,是測試人員必須面對和考慮的,也給測試人員提出了新的挑戰。
功能自動化測試
如果僅僅依靠純手工的測試,很快就會面臨瓶頸,因為每個功能幾乎都要經過 bug修復、驗證和迴歸的過程。另外針對介面協議的驗證,也必須依賴自動化才能驗證。
移動網際網路的產品和Web網際網路產品類似,後臺都有大量的介面提供相應的服務,很多的業務邏輯都是放在後臺來處理的,所以可以針對這部分邏輯做輕量級的介面自動化測試。技術方案上,從介面發起相關請求的做法效率不高且不夠穩定,所以我們一般採用直接從介面層面發起請求來驗證。
除了介面的自動化,App UI 自動化也可以幫助快速地進行App功能的迴歸。考慮到UI自動化用例建設和維護成本,可以針對相對穩定的功能進行App UI 自動化用例建設,這些用例除了UI的自動化驗證之外,持續整合和相容性測試中也能發揮他們的價值。目前業界用的比較多的App UI自動化測試框架有Robotium和Appium,Robotium相對原生的UI自動化測試框架,提供了更友好的定位控制元件的方法,在寫自動化指令碼的時候建議使用Robotium類庫來提高測試效率。Appium框架是一個開源的重量級的自動化測試框架,支援iOS和Android等平臺的自動化測試,支援跨平臺,支援真機和模擬器,也支援多種語言編寫測試指令碼。每種測試框架都有其優缺點,可以根據實際的專案來挑選適合自己的。
效能測試
產品經過了功能層面的驗證,還達不到釋出的要求,還有很多影響使用者體驗的問題需要重點關注,比如App使用時不流暢,操作時服務端響應慢,高峰期使用應用頻繁報錯,莫名閃退,App使用一段時間後佔用記憶體過高,介面開啟速度變慢等等。這些問題雖然不關乎功能,但很有可能造成使用者的流失,影響產品的口碑。所以我們需要做充分的效能測試來規避相關風險。
效能測試是一個非常綜合的測試技術,涉及面廣,測試人員需要有一定的積累才能發現隱藏較深的問題,對於移動App的效能測試,分為Web前端的效能測試、App端的效能測試,後臺服務的效能測試。Web前端的效能測試已經較為成熟,Fiddler、FireBug等工具都能輔助測試。App端的效能測試在這三項中是最重要的,頁面渲染的時間,CPU的使用情況、記憶體洩露,都會直接影響到App的執行效能,甚至導致程式崩潰。測試的時候可以藉助一些工具幫助分析記憶體使用情況。基於後臺服務的效能測試主要是從負載、壓力、永續性等方面量化地評估系統的響應時間和容量等指標。
專項測試
針對某個特殊問題進行的測試,我們稱為專項測試,它是移動網際網路產品中重要的測試型別,可以從不同的維度發現更多深層次的問題,必不可少。主要有以下幾類:
相容性測試
隨著終端裝置的型號多樣化,使用者多了以後自然而然就會遇到相容性問題,因此需要覆蓋不同的軟硬體環境來進行相容性測試。作業系統的版本、螢幕解析度、網路型別、瀏覽器型別都是需要考慮的。執行方案上,一般會藉助UI自動化和雲測試平臺來進一步提升相容性測試的效率和覆蓋面。
流量測試
App 使用過程中,很多使用者會關心流量用了多少,特別是非寬頻的流量需要付費時。如果App設計有缺陷,頻繁聯網去服務端獲取資訊,會導致流量消耗較快,最終結果是導致使用者解除安裝App。所以流量測試從兩個方面入手,前臺使用者的操作和後臺的流量消耗情況。對於Android系統,可以通過系統提供的API介面來獲取流量資料,而對於iOS系統,可以通過Instrument自帶的Network來檢視網路流量。當然還有其他方法,比如可以通過手機抓包、Wifi代理的方式來獲取流量資料進行分析。控制流量的策略也有很多,資料壓縮、訪問控制、快取、不同訪問策略和不同的資料格式等等,在App設計之初最好能提前考慮到這些方面,避免後續架構改動較多帶來一定的風險。
電量測試
電量和流量一樣,也是使用者較為關心的一個方面。耗電太快,也會導致使用者流失。Android系統上,可以藉助第三方App來評估手機上各個App的耗電情況。針對iOS系統,還是依賴Instrument提供的Energy工具,從多個維度來檢視App的耗電情況,同時蘋果提供了類庫也可以獲取當前裝置電量資訊。
弱網路測試
很多時候,問題總是在環境比較複雜的情況下才會暴露出來,弱網路就是其中之一。與其讓使用者遇到帶來不好的體驗,不如在測試階段模擬弱網路環境,及早解決。iOS系統中自帶的開發者選項可以對網路狀態進行設定。另外目前還有好多弱網路模擬工具比如Charles可以幫助測試,還可以採用真機模擬弱網路的方式。
穩定性測試
說起移動App穩定性測試,第一個想到的肯定是Monkey測試,Monkey工具使用起來也比較簡單,通過命令就可以執行。當應用程式崩潰或者產生了ANR(Application not responding),Monkey就會停止並報錯。
安全測試
移動App產品的安全測試主要有以下幾個方面:安裝包的安全測試,能否反編譯、是否簽名、許可權檢查、完整性校驗;敏感資訊測試,包括資料庫、日誌、配置檔案中的資訊;賬戶安全和資料通訊安全;服務端介面的安全測試,常用的SQL隱碼攻擊,XSS跨站指令碼攻擊、CSRF跨站請求偽造,越權訪問。
以上各項測試可以獨立執行,也可以交叉結合,構造更加複雜的測試場景。
寫在最後
也許這裡的技術/工具方案並不是最好的,但是各維度領域的測試思路,希望能對你有所幫助。
相關文章
- [原創]淺談移動網際網路App相容性測試APP
- 51Testing專訪陳曄:暢談移動網際網路測試
- [原創]淺談移動App安全測試APP
- [原創]淺談網際網路金融測試平臺規劃
- [原創]淺談網際網路金融介面測試平臺搭建
- [原創]淺談網際網路金融理財系統測試
- 如何做好移動網際網路應用測試
- [原創]網際網路公司App測試流程APP
- 移動網際網路
- 淺談大型網際網路的安全
- 淺談網際網路公司業務安全
- 關於移動網際網路測試的發展史的科普
- 第三屆中國移動網際網路測試開發大會
- [原創]網際網路金融App測試介紹APP
- 網際網路App應用程式測試流程及測試總結APP
- comScore:移動APP佔據移動網際網路主導地位APP
- 搞不懂流量,談什麼移動網際網路出海
- 移動網際網路贏利模式之廣告前景淺析模式
- 淺談網際網路中弱口令的危害
- 移動網際網路正在終結傳統網際網路
- 移動網際網路使用者行為研究-移動網際網路改變生活
- 淺談大型網際網路企業入侵檢測及防護策略
- 移動的微博,移動的網際網路薦
- 中國移動終端測試聯合實驗室與網際網路思維
- 移動網際網路仍需“有形之手”
- 美國移動網際網路模式分析模式
- 網際網路移動在“雲”端
- 移動網際網路的前世今生
- GOOGLE:移動網際網路案例分析Go
- 移動網際網路的支付作用
- 容器、微服務和網際網路架構淺談微服務架構
- 網際網路公司,網際網路時代的特徵(移動網際網路,平臺思維,網際網路思維)特徵
- 淺談大型網際網路的企業入侵檢測及防護策略
- 瑪麗·米克爾:“網際網路女皇”解析移動網際網路趨勢
- StatCounter:移動網際網路已佔全球網際網路流量的12%
- 網際網路測試經驗和管理雜談 (如何培養人)
- VRI:日本移動網際網路網站排名VR網站
- 淺談網際網路中劫持的一些事情