軟體測試教程之手機軟體測試方法
第一:相容性測試(轉載來源:千鋒)
針對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版網站考慮不同瀏覽器型別和螢幕解析度.
第二:流量測試
在移動產品的測試中,很有必要對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不同的網路型別返回的內容不一樣。
第三:電量測試
在電器電池技術沒有取得巨大突破前提下,這方面始終會存在一些瓶頸,如果一些App架構設計的不好,或者程式碼偶缺陷,就可能導致電量消耗比較高,所以電量測試也是很重要的。
工具 GSam Battery Monitor Pro.
第四:弱網路測試
移動網際網路產品相比PC網際網路產品,有一個特點是前者使用的網路比較多樣,除了Wif之外,很多時候是在行動網路下使用的,行動網路遇到的情況又比較複雜,比如地鐵、隧道、體育場等。所以網路不穩定的情況是比較容易發生的,很多情況下App的一些問題是在複雜的網路情況下才會暴露,與其讓使用者發現和投訴這些問題,不如我們在測試階段儘量模擬這樣的網路情況,及早發現和修復這些問題。
工具:
1. Windows下的Network Delay Simulator
2. Mac下的Network Link Conditioner
第五:穩定性測試
在保證基本功能正確基礎之上,App的穩定性就顯得非常重要,如果一個App經常出現閃退或者卡死,那麼使用者體驗就會受到很大傷害,在有其他競爭產品的情況下很容易造成使用者的流失。
第六:安全測試
包括安裝包的安全測試(能否反編譯程式碼、安裝包是否簽名,完整性校驗,許可權設定檢查等)。
敏感資訊測試(資料庫,日誌,配置檔案)。
軟鍵盤劫持(金融類APP登入頁面的使用者名稱密碼輸入框)、
賬戶安全(密碼是否明文,密碼傳輸是否加密,賬戶輸入錯誤次數過多鎖定,同時會話提醒, 登出機制)
資料通訊安全(關鍵資料是否雜湊或加密,關鍵連線是否使用安全通訊,是否對數字證書合法性進行驗證,是否校驗資料合法性。
元件安全測試。
伺服器端介面測試(SQL隱碼攻擊測試、XSS跨站指令碼攻擊, CSRF跨站請求偽造,越權訪問等)。
第七:環境相關的測試
在實際專案中,有一些缺陷我發現是和App所處的執行環境相關的,所以設計測試的時候,要多考慮這些場景,比如:
1)干擾測試
收到電話、收到簡訊、收到通知欄訊息、無電提示框彈出、第三方安全軟體告警彈出。
2)許可權測試
一些使用者在實際使用App的時候回有意識阻止某些功能。例如有的使用者感覺讓某個App訪問電話本或者相簿可能洩漏隱私,就在手機中設定了禁止了該App訪問相簿的許可權。
3)邊界測試
手機環境本身也有其邊界情況需要在測試中覆蓋。常見的場景有:
可用儲存空間過少、沒有SD卡/雙SD卡、飛航模式、系統時間有誤(晚於和早於標準時間)、第三方依賴(比如我們的App依賴第三方App,但是現在第三方App沒有安裝或者版本過低的測試情況)。
4)Android定位測試
用白盒方式模擬
相關文章
- 軟體測試學習教程—軟體測試質量
- 軟體測試學習教程—軟體測試基本知識
- 軟體驗收測試有哪些測試方法?北京權威軟體測試機構安利
- 軟體測試的方法
- 軟體測試培訓教程:軟體測試面試之怎麼測試刷抖音?面試
- 軟體測試學習教程—軟體測試基礎理論五
- 軟體測試學習教程—軟體測試基礎理論六
- 軟體測試學習教程—軟體測試基礎理論四
- 軟體測試學習教程—軟體測試基礎理論三
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 軟體測試學習教程—迴歸測試
- 軟體效能測試有哪些測試方法?靠譜的軟體測試公司推薦
- 【軟體測試】——介面測試
- 軟體測試——三、軟體測試的分類
- 軟體測試需求分析方法
- 軟體測試方法彙總
- 幾種軟體測試方法
- 軟體測試
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體測試培訓分享:哪家軟體測試培訓機構好?
- 軟體測試-測試計劃
- 軟體測試學習教程——WEB測試之JS記憶體WebJS記憶體
- 軟體安全測試有哪些方法?在哪裡測試?
- 軟體測試:軟體缺陷管理
- 軟體效能測試的常見方法分享,上海軟體測試公司有哪些?
- 軟體驗收測試之α測試和β測試,如何選擇權威的軟體檢測機構
- 軟體測試入門【1】什麼是軟體測試
- 軟體測試真的很重要!——軟體測試的作用
- 軟體測試書籍-學軟體測試最好的書
- 軟體測試學習教程——LoadRunner實現介面測試
- 軟體測試:瓶頸分析方法
- 軟體效能測試方法有哪些?
- 軟體測試概要
- 軟體測試模式模式
- 軟體測試模型模型
- 【軟體測試】缺陷
- 軟體測試流程
- 軟體迴歸測試有什麼策略和方法?出具軟體測試報告的檢測機構安利測試報告