兼容性測(cè)試
針對(duì)App通常會(huì)考慮這些方面:
1、操作系統(tǒng)版本
包括Andoird版本,iOS版本
2、屏幕分辨率
android 800480, 960640,1280720(720p),19201080(1080p),25601440(2k).
對(duì)于iOS,考慮最近幾代機(jī)型對(duì)應(yīng)的分辨率即可.
3、不同廠家的ROM
不同廠家的ROM,大多廠家都對(duì)android 系統(tǒng)進(jìn)行了定制、實(shí)際中會(huì)遇到例如調(diào)用相機(jī)和底層服務(wù)出現(xiàn)的不兼容問題以及搖一搖遇到的不同手機(jī)對(duì)于方向和重力傳感器靈敏度設(shè)置不同的問題.
4、網(wǎng)絡(luò)類型
網(wǎng)絡(luò)類型通常考慮wifi,2g,3g4g下的功能情況。另外針對(duì)m版網(wǎng)站考慮不同瀏覽器類型和屏幕分辨率.
流量測(cè)試
在移動(dòng)產(chǎn)品的測(cè)試中,很有必要對(duì)App使用的流量進(jìn)行度量,大致來(lái)說(shuō),流量可以從用戶使用的的相關(guān)性角度分為:一類是用戶的操作直接導(dǎo)致的流量消耗;另一類是后臺(tái),即在用戶沒有直接使用情況下的流量消耗。
流量的測(cè)試方法:
1、基于系統(tǒng)自帶功能.
eg android proc/uid_stat/{uid} /tcp_send
android proc/uid_stat/{uid} /tcp_rcv
2、通過(guò)API或者系統(tǒng)埋點(diǎn)來(lái)獲取數(shù)據(jù)。
3、通用的流量測(cè)試方法:手機(jī)抓包,或者wifi代理(Fiddler, Charles)。
常見的流量節(jié)省方法:
1、數(shù)據(jù)壓縮。
2、壓縮包含接口文本數(shù)據(jù)的壓縮,js文件的壓縮及圖片的壓縮。
3、不同數(shù)據(jù)格式的采用
例如采用JSON格式作為接口數(shù)據(jù)返回格式通常比XML格式要小。
4、控制訪問的頻次
這個(gè)主要針對(duì)后臺(tái)數(shù)據(jù)上報(bào),PUSH消息檢查等定時(shí)機(jī)制的。
5、只獲取必要的數(shù)據(jù)
有時(shí)候APP一頁(yè)的內(nèi)容非常多,而用戶可能只會(huì)看一部分,過(guò)多的從后臺(tái)拉去數(shù)據(jù)就是浪費(fèi),所以可以采用分屏加載或者懶加載的方式來(lái)減少流量消耗。
6、緩存
可將圖片,js等數(shù)據(jù)暫存起來(lái),但由于手機(jī)存儲(chǔ)空間有限,也需要控制整個(gè)緩存大小,并給用戶提供清理緩存的選項(xiàng)。
7、針對(duì)不同網(wǎng)絡(luò)類型設(shè)計(jì)不同的訪問策略
有些APP不同的網(wǎng)絡(luò)類型返回的內(nèi)容不一樣。
電量測(cè)試
在電器電池技術(shù)沒有取得巨大突破前提下,這方面始終會(huì)存在一些瓶頸,如果一些App架構(gòu)設(shè)計(jì)的不好,或者代碼偶缺陷,就可能導(dǎo)致電量消耗比較高,所以電量測(cè)試也是很重要的。
工具 GSam Battery Monitor Pro.
弱網(wǎng)絡(luò)測(cè)試
移動(dòng)互聯(lián)網(wǎng)產(chǎn)品相比PC互聯(lián)網(wǎng)產(chǎn)品,有一個(gè)特點(diǎn)是前者使用的網(wǎng)絡(luò)比較多樣,除了Wif之外,很多時(shí)候是在移動(dòng)網(wǎng)絡(luò)下使用的,移動(dòng)網(wǎng)絡(luò)遇到的情況又比較復(fù)雜,比如地鐵、隧道、體育場(chǎng)等。所以網(wǎng)絡(luò)不穩(wěn)定的情況是比較容易發(fā)生的,很多情況下App的一些問題是在復(fù)雜的網(wǎng)絡(luò)情況下才會(huì)暴露,與其讓用戶發(fā)現(xiàn)和投訴這些問題,不如我們?cè)跍y(cè)試階段盡量模擬這樣的網(wǎng)絡(luò)情況,及早發(fā)現(xiàn)和修復(fù)這些問題。
工具:
Windows下的Network Delay Simulator
Mac下的Network Link Conditioner
穩(wěn)定性測(cè)試
在保證基本功能正確基礎(chǔ)之上,App的穩(wěn)定性就顯得非常重要,如果一個(gè)App經(jīng)常出現(xiàn)閃退或者卡死,那么用戶體驗(yàn)就會(huì)受到很大傷害,在有其他競(jìng)爭(zhēng)產(chǎn)品的情況下很容易造成用戶的流失。
安全測(cè)試
1、包括安裝包的安全測(cè)試(能否反編譯代碼、安裝包是否簽名,完整性校驗(yàn),權(quán)限設(shè)置檢查等)。
2、敏感信息測(cè)試(數(shù)據(jù)庫(kù),日志,配置文件)。
3、軟鍵盤劫持(金融類APP登錄頁(yè)面的用戶名密碼輸入框)、
賬戶安全(密碼是否明文,密碼傳輸是否加密,賬戶輸入錯(cuò)誤次數(shù)過(guò)多鎖定,同時(shí)會(huì)話提醒, 注銷機(jī)制)
數(shù)據(jù)通信安全(關(guān)鍵數(shù)據(jù)是否散列或加密,關(guān)鍵連接是否使用安全通信,是否對(duì)數(shù)字證書合法性進(jìn)行驗(yàn)證,是否校驗(yàn)數(shù)據(jù)合法性。
4、組件安全測(cè)試。
5、服務(wù)器端接口測(cè)試(SQL注入測(cè)試、XSS跨站腳本攻擊, CSRF跨站請(qǐng)求偽造,越權(quán)訪問等)。
環(huán)境相關(guān)的測(cè)試
在實(shí)際項(xiàng)目中,有一些缺陷我發(fā)現(xiàn)是和App所處的運(yùn)行環(huán)境相關(guān)的,所以設(shè)計(jì)測(cè)試的時(shí)候,要多考慮這些場(chǎng)景,比如:
1、干擾測(cè)試
收到電話、收到短信、收到通知欄消息、無(wú)電提示框彈出、第三方安全軟件告警彈出。
2、權(quán)限測(cè)試
一些用戶在實(shí)際使用App的時(shí)候回有意識(shí)阻止某些功能。例如有的用戶感覺讓某個(gè)App訪問電話本或者相冊(cè)可能泄漏隱私,就在手機(jī)中設(shè)置了禁止了該App訪問相冊(cè)的權(quán)限。
3、邊界測(cè)試
手機(jī)環(huán)境本身也有其邊界情況需要在測(cè)試中覆蓋。常見的場(chǎng)景有:
可用存儲(chǔ)空間過(guò)少、沒有SD卡/雙SD卡、飛行模式、系統(tǒng)時(shí)間有誤(晚于和早于標(biāo)準(zhǔn)時(shí)間)、第三方依賴(比如我們的App依賴第三方App,但是現(xiàn)在第三方App沒有安裝或者版本過(guò)低的測(cè)試情況)。
4、Android定位測(cè)試
用白盒方式模擬