我們都知道在測試移動app時最耗時的是在各種測試設(shè)備進行測試半哟, 因為不論是安卓還是iOS都已經(jīng)碎片化了训唱。而云測試看似是解決這一問題的有效途徑匙睹。因此選擇哪種云測試平臺來協(xié)助測試人員進行各種測試就成為首要問題灵临。
我們先來看看云測試平臺通常都提供哪些功能和服務(wù)坐求。
主流的云測試平臺都支持對原生native,混合hybrid和Web app的測試陶冷,這些測試包括:
兼容測試
通過在多種測試設(shè)備上安裝/卸載和運行被測app闺鲸,遍歷app的每個界面,主要檢查app是否會報錯或者崩潰埃叭。有些云測試平臺還會對每個頁面進行截圖并進行對比摸恍。
腳本測試
通過運行云測試平臺工具進行錄制的或者使用自動化測試框架編寫的自動化腳本,實現(xiàn)模擬用戶操作的目的赤屋,并且減少手動測試時間立镶。
性能監(jiān)控和分析
利用Android SDK提供的接口,云測試平臺可以檢測移動app的耗電量类早,CPU等資源占用率媚媒,使用的流量等信息。有些云測試平臺還提供自己的SDK涩僻,整合在app中可以提供更為準確的性能指標和信息缭召,包括線上app的性能信息以及崩潰信息等。
手動測試和人工測試
云測試平臺的手動測試是指租用云測試平臺的特定設(shè)備逆日,測試人員手動登錄設(shè)備進行測試嵌巷。
而人工測試則是將測試需求告知云測試平臺的專業(yè)測試人員,雇傭他們臨時作為自己的測試人員進行測試室抽。
持續(xù)集成
不少提供腳本測試的云測試平臺都同時提供對持續(xù)集成(Continuous Integration)環(huán)境的支持搪哪。
此外不少國內(nèi)云測試平臺還提供以下功能:
安全測試
內(nèi)測托管分發(fā)
眾包測試
我們再來看看各種云測試平臺對于上述功能和服務(wù)的支持情況。
由于國內(nèi)外的云測試平臺使用環(huán)境等因素的不同坪圾,我們分別對國內(nèi)外主流的幾個云測試平臺進行對比晓折。
國外主流的云測試平臺:
Xamarin Test Cloud ? ? ? ? ? ? ? ? (https://xamarin.com/test-cloud/)
TestDroid ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(http://testdroid.com/)
Sauce Labs ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (https://saucelabs.com/mobile/)
Google Cloud Test Cloud ? ? ? ? ?(https://developers.google.com/cloud-test-lab/)
AWS Device Farm ? ? ? ? ? ? ? ? ? ? ?(https://aws.amazon.com/device-farm/)
從上圖我們可以看到一些特點:
在測試設(shè)備的數(shù)量上,Xamarin Test Cloud和Sauce Labs都是非常有優(yōu)勢的兽泄,雖然Xamarin Test Cloud統(tǒng)計的是測試設(shè)備的數(shù)量漓概,而Sauce Labs是平臺的數(shù)量;
亞馬遜自己的FireOS只被自己的云測試平臺支持病梢,在國內(nèi)我們也能看到類似的例子胃珍;
所有的云測試平臺都支持app測試,但是只有TestDroid支持游戲測試;
對于國內(nèi)云測試平臺提供的人工測試堂鲜,安全測試,內(nèi)測分發(fā)和眾包測試护奈,國外這些云測試平臺都是不支持的缔莲,需要結(jié)合別的工具和框架進行使用。不過對于手動測試霉旗,Sauce Labs和Perfecto這兩個云測試平臺支持租用測試設(shè)備進行手動測試痴奏;
對于云測試基礎(chǔ)功能的兼容測試,以及腳本測試厌秒,崩潰分析和持續(xù)集成读拆,這些云測試平臺都是支持的;
只有Xamarin Test Cloud鸵闪,TestDroid和AWS Device Farm支持性能監(jiān)控檐晕;
對于腳本測試所使用的移動app自動化測試框架,每個平臺都不甚相同:
Xamarin Test Cloud支持Calabash(iOS和Android)和自己的Xamarin.UITest;
TestDroid支持很多框架蚌讼,包括支持iOS的Calabash辟灰,appium,UI Automation和 Jasmine篡石,以及支持Android的Calabash芥喇,appium,Espresso凰萨,Robotium和uiautomator继控;
Sauce Labs支持自己的開源框架appium;
Google Cloud Test Lab則支持Espresso胖眷,Robotium和Robo test武通;
AWS Device Farm也支持很多框架,包括支持iOS的Calabash珊搀,appium厅须,UIAutomation和XCTest,以及支持Android的Calabash食棕,appium朗和,JUnit,Espresso簿晓,Robotium和uiautomator眶拉。
Xamarin Test Cloud,TestDroid和Sauce Labs都有自己的移動app測試腳本錄制工具憔儿,分別是:Xamarin Test Recorder忆植,TestDroid Recorder和appium inspector。
綜合來看,對于國外的云測試平臺朝刊,如果側(cè)重的是測試設(shè)備的覆蓋程度耀里,選擇Xamarin Test Cloud和Sauce Labs會更合適;如果需要測試FireOS設(shè)備拾氓,那就選擇AWS Device Farm冯挎;如果側(cè)重的是腳本測試中支持的語言和框架,那就可以選擇TestDroid和AWS Device Farm咙鞍;如果是進行游戲測試房官,只能選擇TestDroid;如果要遠程連接測試設(shè)備進行手動測試续滋,那就需要選擇Sauce Labs和Perfecto翰守;如果在測試過程中需要同步監(jiān)測性能,就不能選擇Sauce Labs和Google Cloud Test Lab疲酌。
國內(nèi)主流的云測試平臺:
Testin云測 ? ? ? ? ? ? ? ? ? ? ? ? (http://www.testin.cn/)
百度MTC ? ? ? ? ? ? ? ? ? ? ? ? ? (http://mtc.baidu.com/)
騰訊優(yōu)測 ? ? ? ? ? ? ? ? ? ? ? ? ? ? (http://utest.qq.com/)
阿里MQC ? ? ? ? ? ? ? ? ? ? ? ? ?(http://mqc.aliyun.com/)
從上圖我們也可以看到一些特點:
1蜡峰、Testin云測支持的測試設(shè)備數(shù)量最多,達到了600部Android和70部iOS終端的數(shù)量朗恳;但是和Xamarin Test Cloud以及Sauce Labs支持的設(shè)備數(shù)量還是有不少差距的事示;
2、和亞馬遜類似僻肖,阿里的YunOS也只有阿里MQC才能支持肖爵;
3、和國外的云測試平臺很類似臀脏,這四個國內(nèi)云測試平臺也都支持app的云測試劝堪,而不支持游戲測試酥泛;只有Testin云測支持游戲測試丧蘸;
4拍嵌、對于云測試基礎(chǔ)功能的兼容測試世杀,國內(nèi)主流云測試平臺都是支持的;
5绪励、這四個國內(nèi)云測試平臺也都支持崩潰分析钓账,不過對于性能監(jiān)控毁渗,卻只有百度MTC支持灌诅,而且百度MTC的深度性能測試中還可以做競品app的性能對比芳来;
6、Testin云測和百度MTC不支持手動測試猜拾;
7即舌、只有阿里MQC不支持人工測試;
8挎袜、只有Testin云測不支持安全測試顽聂;對于支持安全測試的云測試平臺肥惭,也沒有公布是如何進行安全測試的;
9紊搪、Testin云測支持內(nèi)測分發(fā)和眾包測試蜜葱,阿里MQC支持眾包測試,其它兩個云測試平臺對于內(nèi)測分發(fā)和眾包測試都不支持耀石;
10牵囤、對于腳本測試,只有騰訊優(yōu)測不支持娶牌;而對于測試工具和框架奔浅,各個平臺的支持也不相同:
~ Testin云測支持Robotium馆纳,JUnit诗良,淘寶的Athrun和Testin SDK,其中只有Testin SDK支持iOS和Android鲁驶,其他框架都只支持Android鉴裹;
~ 百度MTC只支持通過自己的測試腳本錄制工具錄制的腳本;
~ 阿里MQC支持Robotium和增強后的appium钥弯,其中appium可以支持iOS和Android径荔;
11、Testin云測脆霎,百度MTC和阿里MQC都提供了自己的測試腳本錄制工具总处,分別是itestin錄制回放工具,百度MTC錄制回放工具和易測睛蛛;
12鹦马、國內(nèi)云測試平臺都沒有提及持續(xù)集成,不過從筆者的了解看來忆肾,Testin云測和阿里MQC應(yīng)該是都支持的荸频。
對于國內(nèi)云測試平臺,如果需要覆蓋更多的測試設(shè)備或者需要測試游戲亦或需要內(nèi)測分發(fā)客冈,只能選擇Testin云測旭从;如果需要測試YunOS設(shè)備,那就需要選擇阿里MQC场仲;如果需要進行性能監(jiān)控和競品對比和悦,那就選擇百度MTC;如果要遠程連接測試設(shè)備進行手動測試渠缕,那就需要選擇騰訊優(yōu)測和阿里MQC摹闽;如果需要雇傭云測試平臺的專業(yè)測試人員,就不能選擇阿里MQC褐健;如果需要進行安全測試付鹿,就不能選擇Testin云測澜汤;如果需要進行眾包測試,那就選擇Testin云測和阿里MQC舵匾;如果要進行腳本測試俊抵,就不能選擇騰訊優(yōu)測,對于百度MTC也不推薦坐梯。
相信通過對比這些云測試平臺提供的功能和服務(wù)徽诲,以及它們各自的特點,讀者在選用云測試平臺時有了更多的依據(jù)吵血。希望大家在使用這些信息作為依據(jù)時谎替,綜合考慮這些云測試平臺的特點,同時可以使用它們提供的免費試用進行嘗試蹋辅,以便驗證是否真的適合自己的app钱贯。
P.S.以上云測試平臺提供的功能及服務(wù),截止于2016年3月20日侦另。以上原文鏈接
新增加兩個國內(nèi)比較好的測試平臺
TestBird? ? ? ? ? ? ? ? (www.testbird.com)
貫眾云測? ? ? ? ? ? ? (http://cloudtest.komect.com/)
TestBird
最初是從手游測試開始起步秩命,在手游圈積累起很高的知名度,目前也在逐步向APP測試領(lǐng)域進軍褒傅。平臺上面有2000+的Android & IOS機型弃锐,上面筆者介紹的國內(nèi)測試平臺的幾種測試,除了Yunos暫時不能測殿托,其他都是可以測的霹菊。同時TestBird也加入了智能硬件的測試領(lǐng)域,相信這也是其他幾家目前還未進入的測試領(lǐng)域支竹。不僅如此旋廷,TestBird同時也開發(fā)出云手機平臺,幫助開發(fā)者和測試者實現(xiàn)遠程真機調(diào)試唾戚,自助功能測試和自動回歸測試
貫眾云測
兼容測試: 1. 安裝柳洋、運行、卸載全流程測試
? ? ? ? ? ? ? ? ? ? 2. 覆蓋主流機型
? ? ? ? ? ? ? ? ? ? 3. 支持iOS&Android兩大平臺
功能測試: 1. 支持自定義腳本和Appium腳本
? ? ? ? ? ? ? ? ? ? 2. 圖像對比驗證 3. 支持iOS&Android兩大平臺
性能測試: 1. CPU叹坦、內(nèi)存熊镣、上下行速率、流量指標全覆蓋
? ? ? ? ? ? ? ? ? ? 2. 多應(yīng)用測試結(jié)果自由對比 3. 支持iOS&Android兩大平臺
穩(wěn)定性測試: 1. 12小時不間斷測試
? ? ? ? ? ? ? ? ? ? ? ?2. 錯誤日志募书、截圖一目了然
? ? ? ? ? ? ? ? ? ? ? ?3. 支持iOS&Android兩大平臺
場景測試: 1. 模擬真實2G&3G&4G網(wǎng)絡(luò)場景
? ? ? ? ? ? ? ? ? ? ?2. 支持iOS&Android兩大平臺
SDK測試: 1.支持Android Instrumentation&Junit測試框架