一、問題的提出
最近二兩年來,一直在從事移動(dòng)設(shè)備的自動(dòng)化測(cè)試工作,可以說小有心得。但最近由于種種原因,面臨著對(duì)移動(dòng)設(shè)備的自動(dòng)化測(cè)試工具的更換工作。所以,一個(gè)問題呈現(xiàn)在面前。我們需要為我們的項(xiàng)目選出一款新的自動(dòng)化測(cè)試工具,具體來說就是我們要選出可以支持iOS,android,windows phone甚至是黑莓等設(shè)備的自動(dòng)化測(cè)試工具。當(dāng)然在講我的案例前,我希望針對(duì)我們對(duì)工具的選型工作能夠?qū)Υ蠹矣袇⒖甲饔茫员阄磥碓谀赡苡龅筋愃频膯栴}時(shí),也能夠有章可循。
![]()
日常我們目前公司的mobile app基本上實(shí)際上是webbased 的app,所以在此之前我們的所有自動(dòng)化測(cè)試腳本都是建立在基于對(duì)web自動(dòng)化測(cè)試工作支持較好的sahi上。而我們的mobile automation則是使用chrome瀏覽器來模擬mobile client,使用sahi來進(jìn)行自動(dòng)化工作,整體來講,mobile 應(yīng)用的自動(dòng)化工具是很成功的,自動(dòng)化覆蓋率比較好,而且運(yùn)行的速度較快,也為公司節(jié)省了許多金錢。但實(shí)際上我們也面臨一個(gè)問題,就是我最終發(fā)布的應(yīng)用實(shí)際上是一個(gè)hybrid應(yīng)用,而且在實(shí)際測(cè)試工程中,手工測(cè)試人員由于覺得大部分自動(dòng)化測(cè)試跑在chrome上,他們對(duì)自動(dòng)化的信任度也不能夠達(dá)到較高的程度,所以他們覺得,有必要把自動(dòng)化測(cè)試覆蓋掉的用例也要手工跑一下,以免出現(xiàn)意外。當(dāng)然我們非常認(rèn)可同事的認(rèn)真工作的態(tài)度,但我們確實(shí)也應(yīng)該解決這一問題,讓automation真正跑在設(shè)備上。基于以上,我們打算更換一款工具,能夠讓我們的自動(dòng)化測(cè)試跑在真實(shí)設(shè)備上,而非模擬器上。
那么現(xiàn)在問題來了,我們選什么呢?所以我們得先分析一下需求。首先,我們的自動(dòng)化必須能夠跑在設(shè)備上。其次,工具必須能夠支持iOS,android,windows phone,blackberry等。除這兩項(xiàng)硬性規(guī)定外,我們的需要工作盡可能好用,能夠支持企業(yè)級(jí)應(yīng)用,當(dāng)然如果能夠免費(fèi)最好。
二、 找到至少兩組備選方案
首先我們得借助一下google,百度,查詢一下有沒有適合的工具。
首先映入眼簾的是它。
我們先來看一下 appium 能干什么?看簡(jiǎn)要說明它主要能夠?qū)崿F(xiàn) iOS,Android 以及FireFox OS 設(shè)備的自動(dòng)化測(cè)試,包括 native,hybrid 及手機(jī) web 應(yīng)用。最重要的是它還是開源的。Appium 是跨平臺(tái)的,即你可以寫一套測(cè)試腳本同時(shí)運(yùn)行在 android 及 iOS 平臺(tái)上。Appium 是基于客戶端/服務(wù)器架構(gòu),它實(shí)際上是提供一套 Restful API.它從客戶端接收連接,偵聽命令,然后在移動(dòng)設(shè)備上執(zhí)行命令。在客戶端我們可以使用任何語(yǔ)言來編寫測(cè)試腳本。服務(wù)端可以運(yùn)行在不同的機(jī)器上。
我們?cè)賮砜纯催@個(gè)家伙,叫做 SeeTest automation:
SeeTest automation 支持 iOS,Android, Blackberry 及windowsphone 的自動(dòng)化測(cè)試。它能夠在真實(shí)設(shè)備上錄制也可以在模擬器上錄制,可同時(shí)在不同的設(shè)備運(yùn)行測(cè)試,插件豐富,包括 HPUFT(QTP),WebDriver(selenium),JunIT,微軟 visual studio 和 pathon。可以與ALM 連接,Jenkins 和其它持續(xù)集成工具。可以通過 usb 或是無線網(wǎng)線與設(shè)備進(jìn)行聯(lián)接。
這個(gè) SeeTest automation 功能還是真奇全,但這個(gè)軟件是商業(yè)軟件,它還有配套的SeeTest Could 以及虛擬化軟件。價(jià)格比較昂貴,功能強(qiáng)勁。
我們?cè)僭诳匆豢睿?KeyNote DeviceAnyWhere,這是一款和 SeeTest Automation 差不多的軟件,支持支持 iOS,Android, Blackberry 及 windowsphone 的自動(dòng)化測(cè)試。而且它也對(duì)設(shè)備提供云的支持。功能強(qiáng),價(jià)格貴,是一款企業(yè)級(jí)的商業(yè)軟件。
三、對(duì)比
通過對(duì)備選軟件的對(duì)比,相信很容易能夠得出您所需要的適合的移動(dòng)設(shè)備自動(dòng)化測(cè)試工具。可能也有看官在好奇我們最終選了什么軟件。我可以負(fù)責(zé)任的告訴大家,做為一家有錢任性的大公司,我們毫不猶豫的選擇了商業(yè)軟件,而且那兩款商用軟件都有啊。
拋開錢的問題,做為一家企業(yè),你有可能會(huì)有這樣的潛在需求,即你希望你的設(shè)備是可以集中管理的,比如說,我在大連有一個(gè)移動(dòng)設(shè)備中心,然后在北京也有一個(gè),在上海也有一個(gè),如果貴公司是全球企業(yè),可能你在美國(guó),英國(guó)等都有一個(gè)移動(dòng)設(shè)備中心,如果需要設(shè)備是共享的,那么如果你選擇的自動(dòng)化測(cè)試工具提供云的支持,那么每個(gè)中心的設(shè)備大家都是共享可用的,你也可以最大化的利用到每一臺(tái)設(shè)備。
當(dāng)然,大多數(shù)互聯(lián)網(wǎng)公司 我相信會(huì)更可能選擇開源的appium,它免費(fèi),又可以自己動(dòng)手定制,一般來講中國(guó)大多數(shù)互聯(lián)網(wǎng)公司對(duì)自動(dòng)化測(cè)試云的要求不是那么強(qiáng)烈,如果真有要求,我們一般也會(huì)自己想辦公,利用現(xiàn)有的開源軟件及技術(shù),自己來搭建。
講到這里,實(shí)際上我們應(yīng)該已經(jīng)了解到,對(duì)于任何一種工具的選擇,我們首要考慮其功能性,看能夠滿足我們的要求。其它,看價(jià)格。性價(jià)比高的優(yōu)先考慮。最后我們一定將潛在的需求也列出來,是否有設(shè)備云的要求,是否有持續(xù)集成的要求,是否對(duì)我們所擅長(zhǎng)的編程語(yǔ)言有支持,以及是否有利用擴(kuò)展等。
除此外,如果您打算入手商業(yè)工具,這里還建議各們先試用,小范圍使用評(píng)估并反饋結(jié)果。一般商業(yè)軟件都有試用期,通常為一個(gè)月,如果試用一個(gè)月不夠,通常情況下要求延長(zhǎng)試用期也是可行的。
最后:在我的V :atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.