Android 談?wù)勛詣?dòng)化測(cè)試

本篇文章已授權(quán)為微信公眾號(hào) code小生 發(fā)布

前言

最近窖铡,手頭上的項(xiàng)目基本開(kāi)發(fā)完成,優(yōu)化也做的差不多了统捶,本以為可以安心準(zhǔn)備上線七蜘。然而老板卻反映說(shuō)測(cè)試人員發(fā)現(xiàn) App 總會(huì)出現(xiàn)一些莫名的 bug.

bug 來(lái)了,那就解決唄捕仔。但是這 bug 又賊迷匕积,偶爾出來(lái)一個(gè)調(diào)戲一下你,就問(wèn)你服不服榜跌。所以為了讓 App 中的 bug 盡可能的減少闪唆,只能暫時(shí)苦逼地轉(zhuǎn)行測(cè)試。這幾天花了不少時(shí)間和精力钓葫,好好研究了下 Android 平臺(tái)的自動(dòng)化測(cè)試悄蕾,在此總結(jié)一下。

一础浮、概述


Android 平臺(tái)的自動(dòng)化測(cè)試可以從兩個(gè)方向入手

  • Android 端的自動(dòng)化測(cè)試框架

  • 各大云測(cè)試平臺(tái)

    • 騰訊優(yōu)測(cè)云測(cè)試平臺(tái)
    • 華為開(kāi)發(fā)者聯(lián)盟
    • 貫眾云測(cè)試
    • Testin 云測(cè)

測(cè)試的內(nèi)容包括:

  • 兼容性測(cè)試:安裝帆调、啟動(dòng)、卸載
  • 功能測(cè)試:手勢(shì)操作豆同、功能驗(yàn)證
  • 穩(wěn)定性測(cè)試:app 是否容易出現(xiàn)閃退等現(xiàn)象
  • 場(chǎng)景測(cè)試:模擬真實(shí)網(wǎng)絡(luò)場(chǎng)景番刊,2G、3G影锈、4G撵枢、wifi 網(wǎng)絡(luò)的切換

上面介紹了 Android 自動(dòng)化測(cè)試的兩個(gè)方向以及測(cè)試的具體內(nèi)容,接下來(lái)談下他們之間的區(qū)別和優(yōu)缺點(diǎn)精居。

  • Android 自動(dòng)化測(cè)試框架
    利用 Android 端的自動(dòng)化測(cè)試框架锄禽,可以通過(guò)代碼完成相應(yīng)的測(cè)試用例,盡量覆蓋所有使用場(chǎng)景靴姿,讓人工的重復(fù)性操作沃但,轉(zhuǎn)換成腳本的自動(dòng)化執(zhí)行,解放程序猿寶貴的右手(嗯佛吓,也可能是左手)宵晚。emmmm,上面的優(yōu)點(diǎn)是不是看起來(lái)很不錯(cuò)维雇。別急淤刃,還沒(méi)說(shuō)缺點(diǎn)呢,缺點(diǎn)就是對(duì)測(cè)試人員來(lái)說(shuō)編寫(xiě)代碼能力要求較高吱型,而且由于要覆蓋大多數(shù)的使用場(chǎng)景逸贾,所以很考驗(yàn)測(cè)試人員對(duì)于 App 的整體理解和把握,而且一般多用于 UI 測(cè)試,而無(wú)法進(jìn)行兼容性的測(cè)試铝侵,畢竟手機(jī)有限灼伤。

  • 各大云測(cè)試平臺(tái)
    利用云測(cè)試平臺(tái)的好處還是很多的,畢竟人家是專業(yè)搞這個(gè)的咪鲜,所以很多你沒(méi)考慮到的東西狐赡,別人都已經(jīng)幫你集成到平臺(tái)里面了。而且相對(duì)于 Android 自動(dòng)化測(cè)試框架疟丙,各大云測(cè)試平臺(tái)還能給你提供各種各樣的機(jī)型颖侄,例如華為開(kāi)發(fā)者聯(lián)盟就提供了大部分華為和榮耀系列的手機(jī),手機(jī)版本從 4.4 到 7.0 都有享郊,看著這些優(yōu)點(diǎn)是不是覺(jué)得美滋滋览祖。缺點(diǎn)嘛,其實(shí)不多拂蝎,就一個(gè)「收費(fèi)」穴墅。這當(dāng)然也能理解,畢竟人家也是要吃飯的温自,如果免費(fèi)給你用玄货,那還要不要人活了。

二悼泌、自動(dòng)化測(cè)試框架


2.1 Espresso

Espresso 是 Google 針對(duì) Android 平臺(tái)開(kāi)源的一款 Android 自動(dòng)化測(cè)試框架松捉,主要是用于 Android App UI 自動(dòng)化測(cè)試。

在這里簡(jiǎn)單說(shuō)下 UI 自動(dòng)化測(cè)試:我們作為 App 的使用者馆里,要讓機(jī)器模擬我們的測(cè)試過(guò)程隘世,那么就需要針對(duì)我們?nèi)庋劭吹降哪切┙缑妫切┌粹o鸠踪,也就是 UI 組件進(jìn)行相應(yīng)的操作以及對(duì)結(jié)果正確性的驗(yàn)證丙者。

比如說(shuō),作為用戶我們并不關(guān)心某個(gè)網(wǎng)絡(luò)請(qǐng)求返回值的具體數(shù)據(jù)是否正確营密,我們關(guān)心的是在界面上看到我們想要看到的結(jié)果械媒。因此,做 UI 自動(dòng)化測(cè)試用例的時(shí)候评汰,一個(gè)通用的思路就是:找到某個(gè)元素纷捞,做一些操作,檢查結(jié)果被去,把自己當(dāng)成用戶主儡,只關(guān)注我能看到的東西。

Espresso 畢竟是 Google 自己出的惨缆,優(yōu)點(diǎn)還是很多的

  • 用 Java 來(lái)寫(xiě)代碼糜值,對(duì) Android 開(kāi)發(fā)者很友好
  • API 相當(dāng)?shù)男》峤荩?dāng)然也會(huì)對(duì)拓展開(kāi)放的
  • Espresso 的測(cè)試跑起來(lái)那是相當(dāng)?shù)目欤](méi)有等待、睡眠)
  • Gradle 和 Android Studio 的支持

更多 Espresso 的例子請(qǐng)戳:https://github.com/vgrec/EspressoExamples

2.2 UI Automator

UI Automator 所運(yùn)行的 JUnit 測(cè)試用例是有特殊權(quán)限的臀玄,這意味著測(cè)試用例可以 跨越不同的進(jìn)程瓢阴,它提供了五種不同的類給開(kāi)發(fā)人員使用:

com.android.uiautomator.core.UiCollection;
com.android.uiautomator.core.UiDevice;
com.android.uiautomator.core.UiObject;
com.android.uiautomator.core.UiScrollable;
com.android.uiautomator.core.UiSelector

不過(guò)畅蹂,比較遺憾的是健无,UI Automator 只能工作在 API 16 或更高級(jí)別的 Android 設(shè)備上,而且也沒(méi)有辦法直接訪問(wèn) Android 對(duì)象液斜。

2.3 Appium

Appium 是一款「移動(dòng)」的自動(dòng)化測(cè)試框架累贤,牛逼的地方在于支持 iOS 和 Android 原生和混生的移動(dòng) Web 應(yīng)用程序。它內(nèi)部使用的 JSONWireProtocol 通過(guò) Selenium 的 WebDriver少漆,來(lái)與 iOS 和 Android 應(yīng)用進(jìn)行交互臼膏。通過(guò) UI Automator 和 Seledroid 支持 Android,通過(guò) UI Automation 支持 iOS示损。上面這些話渗磅,看看就好了,反正我也看不懂检访。

Appium 最大的優(yōu)點(diǎn)在于你幾乎可以用任意一種編程語(yǔ)言(例如始鱼,Java、Objective-C脆贵、JavaScript医清、PHP、Ruby)來(lái)編寫(xiě) Appium 腳本而不必選擇工具卖氨,兼容最重要的pigtail(Android 和 iOS)而不必安裝和配置設(shè)備適應(yīng)測(cè)試等等会烙。

三、云測(cè)試平臺(tái)


3.1 騰訊優(yōu)測(cè)云測(cè)試平臺(tái)

擁有超過(guò)1000款測(cè)試終端筒捺,機(jī)型數(shù)量龐大柏腻,機(jī)子比較全。但僅支持 Android 系統(tǒng)系吭,暫時(shí)不支持 iOS 系統(tǒng)五嫂。

不過(guò),該平臺(tái)的收費(fèi)還是蠻高的村斟,一分鐘一塊錢(qián)贫导,而且最低充值 100 元。

3.2 華為開(kāi)發(fā)者聯(lián)盟

優(yōu)點(diǎn):免費(fèi)
缺點(diǎn):只能測(cè)試華為的機(jī)子

測(cè)試主要包括:

  • 兼容性測(cè)試:華為這邊提供所有華為手機(jī)的測(cè)試

  • 穩(wěn)定性測(cè)試

    • 安裝蟆盹、啟動(dòng)孩灯、注冊(cè)登錄、遍歷逾滥、卸載
    • Crash峰档、ANR败匹、UI、功能異常
    • 提供問(wèn)題上下截圖及異常截圖

3.3 Testin

Testin 是國(guó)內(nèi)較早涉足云測(cè)試領(lǐng)域的公司之一讥巡。Testin 在云端部署了 300 多款 1000 多部測(cè)試終端掀亩,終端種類及數(shù)量都比較全面。

該平臺(tái)也是收費(fèi)的欢顷,具體的收費(fèi)標(biāo)準(zhǔn)槽棍,并沒(méi)有在官網(wǎng)上顯示出來(lái),只說(shuō)了有需要服務(wù)的請(qǐng)聯(lián)系客服抬驴。


猜你喜歡


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末布持,一起剝皮案震驚了整個(gè)濱河市豌拙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌题暖,老刑警劉巖按傅,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異胧卤,居然都是意外死亡唯绍,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)灌侣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)推捐,“玉大人,你說(shuō)我怎么就攤上這事侧啼∨F猓” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵痊乾,是天一觀的道長(zhǎng)皮壁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)哪审,這世上最難降的妖魔是什么蛾魄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮湿滓,結(jié)果婚禮上滴须,老公的妹妹穿的比我還像新娘。我一直安慰自己叽奥,他們只是感情好扔水,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著朝氓,像睡著了一般魔市。 火紅的嫁衣襯著肌膚如雪主届。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天待德,我揣著相機(jī)與錄音君丁,去河邊找鬼。 笑死将宪,一個(gè)胖子當(dāng)著我的面吹牛绘闷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涧偷,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼簸喂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼毙死!你這毒婦竟也來(lái)了燎潮?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扼倘,失蹤者是張志新(化名)和其女友劉穎蒋荚,沒(méi)想到半個(gè)月后本姥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年敦姻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片付鹿。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜜氨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出稠诲,到底是詐尸還是另有隱情侦鹏,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布臀叙,位于F島的核電站略水,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏劝萤。R本人自食惡果不足惜渊涝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望床嫌。 院中可真熱鬧跨释,春花似錦、人聲如沸厌处。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嘱蛋。三九已至蚯姆,卻和暖如春五续,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背龄恋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工疙驾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人郭毕。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓它碎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親显押。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扳肛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容