5.4 兼容性測試
兼容性測試,由于手機的種類繁多尤其是安卓,五花八門,不同的分辨率,不同的操作系統(tǒng),不同的配置等等,想要完成全部的兼容測試基本上是不可能的。因此我們需要挑選市面上較為流行的機型,操作系統(tǒng)和分辨率進行真機測試。我主要的參考獲取渠道是友盟,網(wǎng)址為:http://www.umindex.com/可以很清楚的看到近期較為活躍的安卓和IOS設(shè)備,使用較多的系統(tǒng),分辨率,聯(lián)網(wǎng)方式和地理位置的分布。另外同類網(wǎng)站還有TALKINGDATA:https://www.talkingdata.com/Flurry:http://www.flurry.com/(國外網(wǎng)站)等,通過多個渠道獲得的信息進行分析對比,可選擇出較為合適的兼容性測試環(huán)境,下面幾個方向均已分析出基線為標(biāo)準(zhǔn)。
兼容測試我主要分為以下幾個方向來測試:
(一)設(shè)備兼容
設(shè)備兼容也就是說能否順利安裝游戲,能否在設(shè)備上順利的運行游戲,運行游戲時是否有不正常的情況。從設(shè)備上選擇我們主要看設(shè)備的CPU型號,CPU內(nèi)核數(shù),內(nèi)存大小,GPU等來選擇設(shè)備。由于引擎對某些CPU的不支持,導(dǎo)致游戲無法在部分手機上運行時,我們需要對使用該CPU的手機進行調(diào)研,從而做出決定,是推動引擎解決問題還是pass掉該機型。
(二)分辨率兼容
Android級向來以支持多分辨率的設(shè)備著稱,這樣照成了市面上各種形形色色的分辨率機型。分辨率的測試可以再模擬器和真機上進行測試,但建議不要使用模擬器,模擬器上的測試與真機是無法相提并論的,在真機缺少的情況下盡量找同事來借設(shè)備進行測試。分辨率的分布如下所示:
在分辨率測試中,主要關(guān)心界面UI的測試,觀察屏幕邊緣是否有空隙,邊線等,UI界面的拉伸是否符合原本的設(shè)計,各種分辨率能否正常啟動運行游戲,各分辨率UI位置是否正確,有無交叉重疊,偏移等,UI對應(yīng)的touch位置是否正確,文字是否超出邊框。這里舉一個對齊方式的BUG
(三)系統(tǒng)兼容測試
系統(tǒng)的測試也是蠻麻煩的,因為安卓的系統(tǒng)也是測出不窮,目前大多數(shù)安卓系統(tǒng)都是2.3.3以上了,之下的版本可以不做考慮,除了官方ROM外還需考慮各種修改ROM(目前用官方的反而較少),小米,魅族,錘子等等。IOS系統(tǒng)相對較好,因為IOS目前只能單向升級,不能降級。
需注意IOS在進行升級后,游戲是否正常運行,而不Crash。
(四)軟件兼容測試
與市面上主流的APP是否兼容,如微信,QQ等應(yīng)用,盡量安裝用戶可能用到的,較為熱門的應(yīng)用進行兼容測試,游戲能否正常運行。
5.5云測
說到兼容測試,順便提下云測。云測主要是將應(yīng)用上傳到云測的平臺,進行模擬測試。云測公司會提供大量真機,在云端進行一些兼容測試,也可以寫一些自動化腳本,進行功能的兼容測試。
①Testin:Testin是國內(nèi)較為老牌的云測了,網(wǎng)址:http://www.testin.cn現(xiàn)在只提供了安卓的應(yīng)用測試的兼容免費測試,其他如功能測試,手游測試等,都需付費。我也只進行了免費的應(yīng)用兼容測試體驗。操作流程較為簡單,注冊賬號,通過審核后即可使用,選擇應(yīng)用測試,兼容測試:
然后點擊下一步,上傳安卓應(yīng)用,或提供下載連接即可。下面高級選項有使用Monkey測試,所謂Monkey測試就是隨機測試的一種,使用軟件模擬隨機在屏幕上進行點擊,后面在隨機測試中會對這種測試進行一些介紹,根據(jù)需求可以選擇點擊或者不點。下面是如果應(yīng)用需登錄,要提供賬號。
這里我隨便上傳了一個應(yīng)用,然后點擊下一步選擇測試機型,這里可以通過系統(tǒng)版本,分辨率,品牌來選擇手機。免費的每天只能選擇300款次測試,機型較少。
選擇測試機之后就是,下方可以選擇測試完成后通知的郵箱,多個郵箱用逗號分開,然后提交測試就可以了,等待完成后測試報告會發(fā)送到郵箱中。
②百度MTC:這是由百度移動中心提供的云測平臺,網(wǎng)址:http://mtc.baidu.com/這個平臺對免費使用的開發(fā)者更為友好,幾乎完全免費,提供的測試方案還有很多,如下圖所示:
性能測試:選擇NativeApp測試>性能測試,這里可以選擇自己關(guān)注的性能測試點,然后上傳App,這里還可以上傳三個競品進行橫向?qū)Ρ?,下面寫通知郵件,如圖:
由于這里是性能測試,所以百度提供了兩款中高端機型作為測試,如下:
點擊提交測試,如果未上傳測試用例,百度的這款測試會自動進行Monkey測試,檢測性能測試中進行Monkey測試,測試報告很詳細,報告放在
兼容測試:可測試安裝卸載,高/低版本覆蓋安裝,終端兼容,安全軟件兼容測試,如圖:
然后機型選擇,與testin一樣,可以選擇手機品牌,系統(tǒng)版本,屏幕分辨率,系統(tǒng)版本,選擇之后提交測試即可。
深度遍歷測試:會操作App的所有界面,并提供截圖,上傳待測的APP,如需登陸,提供賬號密碼:
然后選擇機型,提交開始測試。
特定場景測試:可以自定義特殊測使用場景,如電量,地理位置,網(wǎng)絡(luò)類型等,會自動測試并截圖。上傳測試APP,然后選擇要測試的場景,點擊開始測試:
安全漏洞掃描測試:可進行安全漏洞掃描,組件掃描和crash隱患掃描,上傳APP開始測試即可:
功能回放測試:回放用戶錄制的功能測試用例并截圖,前面也有一些測試支持上傳測試用例,這個測試用例事實上是用MTC一款錄制軟件錄制的自動化測試腳本,下載地址:http://mtc.baidu.com/?pname=replayhome先用這個工具進行腳本的錄制,然后打包上傳到測試用例處,開始測試即可:
MTC腳本錄制工具,使用較為簡單,一試就上手,不再多說:
以上測試報告均在:
在我的MTC中可看到測試的完成度:
③testbird:testbird和testin大致差不多,提供免費的兼容測試,會員服務(wù)需注冊為會員公司才能繼續(xù)使用,注冊為會員公司后可使用其他服務(wù),這里不再多說。
一般在兼容測試通過率達到85%即可認為合格,當(dāng)然,要看沒有通過的機型,按其在市面的占有率做權(quán)重考慮。
云測平臺還有很多,除了上面所說的還有:
http://mobile.51cto.com/aengine-402829.htm這里還有幾款??勺鳛轭~外參考。
5.6弱網(wǎng)測試
移動互聯(lián)網(wǎng)比傳統(tǒng)互聯(lián)網(wǎng)更具傳播力,影響力,流行程度更快,就是因為人們可以隨時隨地的拿出移動設(shè)備來上網(wǎng),玩游戲,這也加大了游戲運行環(huán)境的復(fù)雜性,網(wǎng)絡(luò)就是我們所要關(guān)注的重點。可以想一下我們平常都在什么時候玩手機,上廁所,坐地鐵,電梯等等,而且不幸的是,在這些地方,通常網(wǎng)絡(luò)的信號都較差,因此網(wǎng)絡(luò)的切換,網(wǎng)絡(luò)連接的變化等,對于手游測試來說是比較重要的。
模擬弱網(wǎng)環(huán)境,模擬弱網(wǎng)環(huán)境最好的方法當(dāng)然是實地去模擬,當(dāng)然,這種方法不可控,只能作為隨機測試的一種。第二,就是用軟件來模擬弱網(wǎng)環(huán)境,控制移動設(shè)備的網(wǎng)絡(luò)連接,來模擬弱網(wǎng),從而進行測試。
使用工具之前,我們要先確認弱網(wǎng)模型,即我們需要模擬的網(wǎng)絡(luò)狀況。模型應(yīng)包括傳輸速率(上傳和下載),丟包率等,下圖是一個弱網(wǎng)測試模型
根據(jù)這個模型,我進行發(fā)散擴大,考慮出一些的模型:
只考慮丟包的模型:
丟包率
5%
10%
20%
50%
80%
100%
只考慮帶寬的模型,單位kb/s:
上傳
14.4(GMS)
40(GPRS)
118.4(EDGE)
128(3G)
348(HSDPA)
下載
14.4
80
236.8
1920
14400
上面為標(biāo)準(zhǔn)的流量速率,可以結(jié)合弱網(wǎng)模型進行測試,4G傳速速率較快,可用WIFI模擬。
混合模型,即將丟包模型和帶寬模型組合:
帶寬kbps
丟包率10
15
50
87
120
150
3100
5%
10%
20%
50%
80%
100%
根據(jù)以上模型,使用工具進行弱聯(lián)網(wǎng)模擬測試??刂凭W(wǎng)絡(luò)的軟件網(wǎng)上一搜一大堆,這里介紹一款比較好用的,功能較為強大的軟件進行模擬,Charles。
Charles是一款http代理服務(wù)器/http監(jiān)視器/逆向代理服務(wù)器(官網(wǎng)自介紹如下:Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).),附上官網(wǎng):http://www.charlesproxy.com/我是在進行網(wǎng)絡(luò)抓包的研究的時候接觸這款軟件,由于這款軟件可以進行http代理服務(wù),所以思路就是讓手機通過代理,連接PC,然后用Charles控制網(wǎng)絡(luò)速度以達到弱網(wǎng)模擬的目的。這個軟件在windows,mac和Linux均有版本。使用方法:
①首先要保證PC和手機在同一個網(wǎng)段下。(下面是我自己在家里進行測試,網(wǎng)關(guān)為192.168.1.1 子網(wǎng)掩碼255.255.255.0 因此都在一個網(wǎng)段內(nèi)。)
②打開Charles,如下圖:
③選擇Proxy>Proxy Settings,將http proxy端口設(shè)為8888,并勾上下面的"Enable transparent HTTP proxying",如圖:
④在手機上進行設(shè)置(細節(jié)有可能不同,但大體都差不多),首先設(shè)置進入WLAN設(shè)置,長按連接的無線WiFi,此時會有兩個選項:
點擊修改網(wǎng)絡(luò),顯示高級設(shè)置,代理處選擇手動,然后代理服務(wù)器輸入PC的IP地址(在PC上通過“運行(win+R)”>“cmd”>ipconfig命令查看),端口號輸入:8888,如下圖:
設(shè)置好之后,選擇保存,然后使用手機進行一次網(wǎng)絡(luò)連接,如打開瀏覽器,隨便進入一個網(wǎng)站,此時PC上,Charles會彈出一個窗口,選擇允許(allow)即可,如下圖:
如果不小心點了Deny,請重啟Charles重新連接一下。設(shè)置好之后就可以通過Charles對手機進行抓包和網(wǎng)絡(luò)控制操作了,在MAC機上的設(shè)置步驟應(yīng)該大同小異。這里主要說下弱網(wǎng)模擬的操作,在Charles菜單上點擊Proxy>Throttle Settings,然后勾上Enable Throttling,如下圖:
這時候在Throttle preset里就可以設(shè)置,這里有些預(yù)設(shè)的模擬情況,點擊下面的Add preset也可以增加自己設(shè)置的模擬環(huán)境,進行參數(shù)的調(diào)節(jié)。
根據(jù)上面的弱網(wǎng)模型,調(diào)節(jié)后就可進行弱網(wǎng)模擬的測試了。
模擬弱網(wǎng)的軟件還有一款Network Emulator for Windows Toolkit,配合其他軟件使手機通過電腦上網(wǎng),安裝后,在菜單欄里Configuration →New link(新建鏈路)→設(shè)置loss(丟包率)、latency(延時率)即可。