移動App測試實戰——專項測試
我們在進行了手工的功能測試之後,也開發了一些自動化測試用例,並且做了效能測試之後,測試工作看似比較完整了。但是當我們的App在大量的使用者那裡被安裝和使用的時候,還是會有很多我們之前沒有預料的問題被反饋回來,比如:
Crash的問題
裝置相容性的問題
流量使用過多的問題
App導致使用者手機電量消耗過快的問題
在不同的網路情況下不穩定,比如卡死和白屏的問題
這些問題都是上面的測試方法難以找出的,所以這裡引入了一個專項的測試方法,包括:相容性測試、流量測試、電量測試、弱網路測試、穩定性測試、安全測試和環境相關測試。
第一:相容性測試
針對App通常會考慮這些方面:
1)作業系統版本
包括Andoird版本,iOS版本
2)螢幕解析度
3)不同廠家的ROM
4) 網路型別
比如Wifi、3G、4G下的功能情況
第二:流量測試
在移動產品的測試中,很有必要對App使用的流量進行度量,大致來說,流量可以從使用者使用的的相關性角度分為:一類是使用者的操作直接導致的流量消耗;另一類是後臺,即在使用者沒有直接使用情況下的流量消耗。
第三:電量測試
在木器電池技術沒有取得巨大突破前提下,這方面始終會存在一些瓶頸,如果一些App架構設計的不好,或者程式碼偶缺陷,就可能導致電量消耗比較高,所以電量測試也是很重要的。
第四:弱網路測試
移動網際網路產品相比PC網際網路產品,有一個特點是前者使用的網路比較多樣,除了Wif之外,很多時候是在行動網路下使用的,行動網路遇到的情況又比較複雜,比如地鐵、隧道、體育場等。所以網路不穩定的情況是比較容易發生的,很多情況下App的一些問題是在複雜的網路情況下才會暴露,與其讓使用者發現和投訴這些問題,不如我們在測試階段儘量模擬這樣的網路情況,及早發現和修復這些問題。
第五:穩定性測試
在保證基本功能正確基礎之上,App的穩定性就顯得非常重要,如果一個App經常出現閃退或者卡死,那麼使用者體驗就會受到很大傷害,在有其他競爭產品的情況下很容易造成使用者的流失。
第六:安全測試
包括安裝包的安全測試(能否反編譯程式碼、安裝包是否簽名等)、敏感資訊測試、軟鍵盤劫持、賬戶安全、資料通訊安全等。伺服器端的SQL注入測試、XSS跨站指令碼攻擊等。
第七:環境相關的測試
在實際專案中,有一些缺陷我發現是和App所處的執行環境相關的,所以設計測試的時候,要多考慮這些場景,比如:
1)干擾測試
收到電話、收到簡訊、收到通知欄訊息、無電提示框彈出、第三方安全軟體告警彈出。
2)許可權測試
一些使用者在實際使用App的時候回有意識阻止某些功能。例如有的使用者感覺讓某個App訪問電話本或者相簿可能洩漏隱私,就在手機中設定了禁止了該App訪問相簿的許可權。
3)邊界測試
手機環境本身也有其邊界情況需要在測試中覆蓋。常見的場景有:
可用儲存空間過少、沒有SD卡/雙SD卡、飛航模式、系統時間有誤(晚於和早於標準時間)、第三方依賴(比如我們的App依賴第三方App,但是現在第三方App沒有安裝或者版本過低的測試情況)。