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