成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android自動化測試解決方案

移動開發(fā) Android 自動化
在傳統(tǒng)的桌面應用軟件與瀏覽器端應用的自動化測試領(lǐng)域,已經(jīng)有相當成熟的工具可供用戶選擇,例如商業(yè)工具HP QTP,IBM Robot/RFT,Borland SilkTest等;開源工具如Selenium,Watir等。

桌面應用程序與瀏覽器端的自動化測試都已經(jīng)歷了十年的發(fā)展,無論是從工具上還是項目管理方 法論上都已經(jīng)趨于成熟。而移動設(shè)備端應用程序的自動化測試近兩年才剛起步,似乎一切尚處于探討與研究階段。但我們似乎已經(jīng)看到其爆炸性的需求增長勢頭。可 以從這兩方面著眼分析:其一,移動應用從數(shù)量上和邏輯復雜程度上的增長,以及產(chǎn)品發(fā)布周期的緊縮,使得快速回歸測試迫在眉睫;其二,安卓系統(tǒng)的開放性造成 硬件廠商百家爭鳴的局面,設(shè)備款式之多,迫使移動應用的兼容性測試提上日程。縱觀當前智能手機兩 大主流陣營iPhone與Android,似乎安卓應用開發(fā)商與設(shè)備制造商更能體會兼容性測試的切膚之痛。鑒于此,并結(jié)合傳統(tǒng)桌面系統(tǒng)上的自動化測試經(jīng) 驗,我們在此探討基于Android平臺應用程序的關(guān)鍵字驅(qū)動自動化測試的可能性,并摸索一條適合在移動應用開發(fā)過程日新月異的現(xiàn)實情況中切實有效的實現(xiàn) 和實施自動化測試的路子。

理論基礎(chǔ)

在傳統(tǒng)的桌面應用軟件與瀏覽器端應用的自動化測試領(lǐng)域,已經(jīng)有相當成熟的工具可供用戶選擇,例如商業(yè)工具HP QTPIBM Robot/RFT,Borland SilkTest等;開源工具如Selenium,Watir等。剖析這些工具,它們似乎都有著相同的功能結(jié)構(gòu):

● 對被測應用界面對象/界面元素的捕獲與識別,并對其進行管理與操作;

● 對于測試腳本的編輯功能與語法解析功能;

● 對于測試數(shù)據(jù)的組織與管理;

● 對于腳本執(zhí)行結(jié)果的分析與輸出;

如果細說,還可以牽扯到如腳本錄制功能,插件管理功能,與測試管理工具、缺陷跟蹤工具的整合等內(nèi)容,涵蓋面相當廣泛。但所有這些都是為了一個目的:模擬測試人員行為,達到功能性回歸測試的目的。本文嘗試從以下最關(guān)鍵的幾點來分析自動化測試工具的核心構(gòu)成部分。

1、關(guān)鍵字驅(qū)動

關(guān)鍵字測試的主要思路是以面向?qū)ο蟮姆绞絹砉芾肀粶y應用的對象、對象的相關(guān)操作、測試數(shù)據(jù)以及這些測試數(shù)據(jù)之間的組合關(guān)系。關(guān)鍵字驅(qū)動是自動化測試中行之有效的方式,它可以幫助測試工程師更方便的維護測試腳本、構(gòu)建復雜的業(yè)務邏輯測試用例、并節(jié)省手工測試的執(zhí)行時間(尤其是在回歸測試階段)。關(guān)鍵字驅(qū)動主要由以下三種元素構(gòu)成:

1)被測對象,即被測應用界面上的元素;

2)針對這些對象的操作,如點擊(按鈕)、填充(文字)、選擇(單選框/多選框);

3)以及基于這些操作的數(shù)值;

上述三種元素可以描述為以下表格:

對象

操作

數(shù)值

文本框

輸入

文本值

按鈕

點擊

選擇框

選擇

選項值

或者以面向?qū)ο蟮奈姆ū硎鰹椋?/p>

對象.操作(值)

該語句是關(guān)鍵字驅(qū)動腳本的構(gòu)成基礎(chǔ)。

2、對象庫

  對象庫是用于儲存被測應用程序界面對象(界面元素)的地方。它是關(guān)鍵字驅(qū)動測試工具的關(guān)鍵點。有了它,用戶可以更容易的維護被測對象、更快速的構(gòu)建測試腳本。它是如何做到這些的呢?讓我們看看下面的結(jié)構(gòu):

實踐

探討完上述關(guān)于不同測試工具的使用特點,更準確的說,是安卓應用自動化測試工具的特點,我們不妨來實踐(其實是模擬)一個移動應用的測試過程。這里我們選用API Demo作為被測應用,選用DroidPilot作為測試工具。

分析被測應用

被測應用API Demo使用標準Android SDK作為開發(fā)控件,且被測應用未加擾碼,因此,界面上所有元素可以被DroidPilot識別。

對于一些非標準Android SDK控件開發(fā)的應用,這里有兩種情況:一種情況控件完全由自己開發(fā),如果是這種情況,DroidPilot完全無法識別對象;另一種情況是在標準控件基 礎(chǔ)上做了二次開發(fā),這樣的話DroidPilot只能識別到原生SDK那一層。對于這兩種情況,都可以聯(lián)系DroidPilot開發(fā)團隊為非標準控件度身 定制專屬插件,用于識別被測控件。

對于擾碼問題,正如上述《前置條件》章節(jié)所描述的,DroidPilot本身是無能為力的,只能請開發(fā)團隊去掉擾碼,打包一個不加擾碼的測試包給測試團隊使用了。

設(shè)計測試用例

這里我們假設(shè)一個測試用例是進入\App\Activity\Animation\Fade in\界面,對界面的元素(按鈕、文本框、多選框、單選框、下拉列表)進行操作,并驗證文本框的文字是否符合我的預期結(jié)果。測試步驟如下:

測試用例1 -驗證\App\Activity\Animation\Fade in\界面元素

前置條件:API Demo已經(jīng)啟動,停留在起始頁

步驟

動作

期望結(jié)果

1

點擊App項

 

 

點擊Activity項

 

 

點擊Animation項

 

 

點擊Fade in項

 

 

在文本框輸入"put your text here"

 

 

勾選Checkbox1

 

 

向下滑動一次屏幕

 

 

點擊下拉框

 

 

勾選Venus

 

 

檢查文本框

文字="textColorPrimary"

開發(fā)測試腳本

先使用DroidPilot腳本編輯工具抓取各個屏幕的對象,然后把這些對象選入腳本設(shè)計器,按照測試用例的順序來排列,如下圖:

如下圖,傳統(tǒng)模式,測試工程師可能在第一輪測試才有一次Full Test,在后續(xù)的回歸測試中,可能只能做到部分回歸。

如果引入自動化測試工程師,同步開發(fā)測試腳本(理想情況,每個應用自動化比率達到70%~80%,整體自動化比率達到60%~70%),有可能使得回歸測試比率有所提高。

從零做起

既然如此,何不從現(xiàn)在開始,從零開始,在項目中嘗試引入自動化測試,哪怕只是抽調(diào)部分人力著手部分應用的自動化測試,至少可以達到Daily Build Smoke Test的效果。再者,移動應用自動化測試行業(yè)正處于起步階段,此時介入也不失為一個好時機。

結(jié)論

回顧上述討論的內(nèi)容,我們設(shè)想能在移動應用自動化測試領(lǐng)域延續(xù)桌面系統(tǒng)自動化測試的成功經(jīng)驗,從理論基礎(chǔ)、工具支持、以及后續(xù)項目管理方面都做了一番探討。盡管主要還是局限于安卓應用的自動化方面,對于iOS提及較少。不難理解,iOS本身支持的機型有限,對于設(shè)備 兼容性測試并不是重點關(guān)注的內(nèi)容。而在功能性回歸測試方面,它本身也有相關(guān)工具支持。至于像Blackberry之類的平臺,因為本身并沒有呈現(xiàn)爆炸性的 應用增長,所以也沒有列在討論范圍。所以,本文仍以安卓平臺作為自動化測試的突破口,希望從中能結(jié)合市面上的一些商用工具,嘗試實踐以“關(guān)鍵字驅(qū)動”為基 礎(chǔ)的自動化測試,而非原始的以“坐標點”為基礎(chǔ)的屏幕點擊測試。對于開源工具也沒有提及,原因是考慮到像Robotium和MonkeyRunner之類 的流行工具可能更貼近于開發(fā)工程師使用,而非更貼近于測試工程師。所以,我們希望在上述的討論中能帶給讀者在測試項目中新的啟發(fā)。

責任編輯:閆佳明 來源: blogjava
相關(guān)推薦

2022-05-26 10:13:22

C/C++GCC插件單元測試

2014-05-13 13:41:51

iOS開發(fā)自動化打渠道包

2015-02-27 11:35:20

云平臺云測試自動化測試

2013-05-16 10:58:44

Android開發(fā)自動化測試

2014-07-17 00:42:18

Android應用測試方案

2024-02-27 09:00:00

2024-12-02 14:07:57

2021-09-02 15:02:27

自動化網(wǎng)絡(luò)安全AI

2015-10-21 14:23:08

反模式持續(xù)部署自動化運維

2014-05-06 18:00:02

電力通信EPTN解決方案華為

2014-06-30 16:53:31

云計算Aspect

2023-11-03 08:29:55

自動化測試

2023-12-04 15:07:25

2012-02-27 17:34:12

Facebook自動化

2021-09-03 09:56:18

鴻蒙HarmonyOS應用

2014-04-16 14:15:01

QCon2014

2022-02-17 10:37:16

自動化開發(fā)團隊預測

2013-09-12 10:21:07

Nubo虛擬化MDM

2021-06-30 19:48:21

前端自動化測試Vue 應用
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久草免费在线视频 | 日韩在线免费视频 | 91精品国产欧美一区二区 | 亚洲成人第一页 | 久久精品国产一区 | 亚洲美女网站 | 在线免费中文字幕 | 免费中文字幕 | 成人网av| 欧美综合在线视频 | 久久国产精彩视频 | 国产精品欧美一区二区三区不卡 | 日韩欧美国产综合 | 成人午夜激情 | 免费观看一级毛片 | 国产一区二区麻豆 | 粉嫩一区二区三区性色av | 久久中文字幕一区 | 日韩在线电影 | 欧美精品在欧美一区二区 | 国产视频一区在线观看 | 波多野结衣亚洲 | 亚洲成人一区 | 久草.com | 国产精品久久在线观看 | 农村黄性色生活片 | 黄色网址av | 五月天激情综合网 | 久久久久一区 | 九九久久精品视频 | 欧美午夜精品 | 亚洲成人网在线观看 | 精品视频久久久久久 | 天堂色区 | 少妇淫片aaaaa毛片叫床爽 | 久久尤物免费一区二区三区 | 成人在线日韩 | 中文字幕第一页在线 | 一区二区三区久久久 | 天天干夜夜操 | 欧美在线一区二区三区 |