軟體測試教程之手機軟體測試方法

qq_842354603發表於2019-04-09

第一:相容性測試(轉載來源:千鋒)

  針對App通常會考慮這些方面:

  1)作業系統版本

  包括Andoird版本,iOS版本

  2)螢幕解析度

  android 800*480, 960*640,1280*720(720p),1920*1080(1080p),2560*1440(2k).

  對於iOS,考慮最近幾代機型對應的解析度即可.

  3)不同廠家的ROM

  不同廠家的ROM,大多廠家都對android 系統進行了定製、實際中會遇到例如呼叫相機和底層服務出現的不相容問題以及搖一搖遇到的不同手機對於方向和重力感測器靈敏度設定不同的問題.

  4) 網路型別

  網路型別通常考慮wifi,2g,3g4g下的功能情況。另外針對m版網站考慮不同瀏覽器型別和螢幕解析度.

6801ee9b01b743e8b663844ac70bcdf5.jpg

  第二:流量測試

  在移動產品的測試中,很有必要對App使用的流量進行度量,大致來說,流量可以從使用者使用的的相關性角度分為:一類是使用者的操作直接導致的流量消耗;另一類是後臺,即在使用者沒有直接使用情況下的流量消耗。

  流量的測試方法:

  1. 基於系統自帶功能.

  eg android proc/uid_stat/{uid} /tcp_send

  android proc/uid_stat/{uid} /tcp_rcv

  2. 通過API或者系統埋點來獲取資料。

  3. 通用的流量測試方法:手機抓包,或者wifi代理(Fiddler, Charles)。

  常見的流量節省方法:

  1. 資料壓縮。

  壓縮包含介面文字資料的壓縮,js檔案的壓縮及圖片的壓縮。

  2. 不同資料格式的採用

  例如採用JSON格式作為介面資料返回格式通常比XML格式要小。

  3. 控制訪問的頻次

  這個主要針對後臺資料上報,PUSH訊息檢查等定時機制的。

  4. 只獲取必要的資料

  有時候APP一頁的內容非常多,而使用者可能只會看一部分,過多的從後臺拉去資料就是浪費,所以可以採用分屏載入或者懶載入的方式來減少流量消耗。

  5. 快取

  可將圖片,js等資料暫存起來,但由於手機儲存空間有限,也需要控制整個快取大小,並給使用者提供清理快取的選項。

  6. 針對不同網路型別設計不同的訪問策略

  有些APP不同的網路型別返回的內容不一樣。

8b84c13e471241a9970d1424a8609f56.png

  第三:電量測試

  在電器電池技術沒有取得巨大突破前提下,這方面始終會存在一些瓶頸,如果一些App架構設計的不好,或者程式碼偶缺陷,就可能導致電量消耗比較高,所以電量測試也是很重要的。

  工具 GSam Battery Monitor Pro.

  第四:弱網路測試

  移動網際網路產品相比PC網際網路產品,有一個特點是前者使用的網路比較多樣,除了Wif之外,很多時候是在行動網路下使用的,行動網路遇到的情況又比較複雜,比如地鐵、隧道、體育場等。所以網路不穩定的情況是比較容易發生的,很多情況下App的一些問題是在複雜的網路情況下才會暴露,與其讓使用者發現和投訴這些問題,不如我們在測試階段儘量模擬這樣的網路情況,及早發現和修復這些問題。

  工具:

  1. Windows下的Network Delay Simulator

  2. Mac下的Network Link Conditioner

  第五:穩定性測試

  在保證基本功能正確基礎之上,App的穩定性就顯得非常重要,如果一個App經常出現閃退或者卡死,那麼使用者體驗就會受到很大傷害,在有其他競爭產品的情況下很容易造成使用者的流失。

  第六:安全測試

  包括安裝包的安全測試(能否反編譯程式碼、安裝包是否簽名,完整性校驗,許可權設定檢查等)。

  敏感資訊測試(資料庫,日誌,配置檔案)。

  軟鍵盤劫持(金融類APP登入頁面的使用者名稱密碼輸入框)、

  賬戶安全(密碼是否明文,密碼傳輸是否加密,賬戶輸入錯誤次數過多鎖定,同時會話提醒, 登出機制)

  資料通訊安全(關鍵資料是否雜湊或加密,關鍵連線是否使用安全通訊,是否對數字證書合法性進行驗證,是否校驗資料合法性。

  元件安全測試。

  伺服器端介面測試(SQL隱碼攻擊測試、XSS跨站指令碼攻擊, CSRF跨站請求偽造,越權訪問等)。

b2997ba6f9c3470a9a97f0827cb415f4.jpg

  第七:環境相關的測試

  在實際專案中,有一些缺陷我發現是和App所處的執行環境相關的,所以設計測試的時候,要多考慮這些場景,比如:

  1)干擾測試

  收到電話、收到簡訊、收到通知欄訊息、無電提示框彈出、第三方安全軟體告警彈出。

  2)許可權測試

  一些使用者在實際使用App的時候回有意識阻止某些功能。例如有的使用者感覺讓某個App訪問電話本或者相簿可能洩漏隱私,就在手機中設定了禁止了該App訪問相簿的許可權。

  3)邊界測試

  手機環境本身也有其邊界情況需要在測試中覆蓋。常見的場景有:

  可用儲存空間過少、沒有SD卡/雙SD卡、飛航模式、系統時間有誤(晚於和早於標準時間)、第三方依賴(比如我們的App依賴第三方App,但是現在第三方App沒有安裝或者版本過低的測試情況)。

  4)Android定位測試

  用白盒方式模擬

相關文章