qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          使用模擬器和實(shí)際設(shè)備進(jìn)行自動(dòng)化測試

            移動(dòng)測試的挑戰(zhàn)


            在看移動(dòng)測試的自動(dòng)化工具前,你需要對(duì)與移動(dòng)應(yīng)用程序面臨的挑戰(zhàn)稍作了解。

            設(shè)備

            移動(dòng)應(yīng)用程序應(yīng)該在你要求的設(shè)備上工作。

            移動(dòng)應(yīng)用程序必須在每個(gè)設(shè)備上都正常工作。

            移動(dòng)設(shè)備必須為應(yīng)用程序的運(yùn)行時(shí)間進(jìn)行測試。

            移動(dòng)設(shè)備處理能力不同,內(nèi)存有限,還必須考慮通信協(xié)議。

            應(yīng)用

            新的操作系統(tǒng)版本和功能意味著開發(fā)人員建立了必須被測試的新的,更復(fù)雜的程序。

            多個(gè)構(gòu)建常常時(shí)間很短,因此腳本執(zhí)行往往不能完成。

            網(wǎng)絡(luò)

            多種網(wǎng)絡(luò)類型,必須進(jìn)行測試,如GSM,CDMA,GPRS和Wi-Fi。

            不同的連接速度(包括2G,3G和4G LTE)必須跨地點(diǎn)測試。

            世界各地有超過400多的移動(dòng)網(wǎng)絡(luò)運(yùn)營商,測試必須處理各種網(wǎng)絡(luò)。

            技術(shù)

            必須考慮大量的測試用例。

            必須處理手機(jī)特有的功能,包括觸屏約定。

            必須執(zhí)行API級(jí)別的測試。

            移動(dòng)應(yīng)用程序類型

            當(dāng)制定移動(dòng)測試策略時(shí),你必須清楚了解可能需要測試的應(yīng)用程序。移動(dòng)應(yīng)用程序可分為本地應(yīng)用程序(Native App), 網(wǎng)絡(luò)應(yīng)用程序(WebApp)和混合應(yīng)用程序(Hybrid App)。

            Native應(yīng)用程序

            Native App是專為移動(dòng)操作系統(tǒng)所建,并直接安裝到該設(shè)備上。

            用戶通常通過網(wǎng)上商店或市場(如App Store)獲取這些應(yīng)用程序。

            Native App是用本地編程語言構(gòu)建的。例如:iPhone或iPad apps是用ObjectiveC構(gòu)建的,Android apps是用Java構(gòu)建的。Native App速度快,提供更好的用戶體驗(yàn)和界面,并且通常可以獲取目標(biāo)設(shè)備的所有功能。

            Native Apps的功能包括:

            存儲(chǔ)。二進(jìn)制“可執(zhí)行映像”,被明確下載并存儲(chǔ)到移動(dòng)設(shè)備的文件系統(tǒng)中。安裝過程可以由用戶,或者在某些情況下,由企業(yè)的IT部門開啟。

            分布。獲得Native Apps最常見的方法是去有相關(guān)特定設(shè)備的應(yīng)用程序商店或市場(iTunes有iPhone或iPad的apps,安卓市場有Android Apps),或者通過企業(yè)分配機(jī)制獲取。

          操作。程序直接在操作系統(tǒng)中運(yùn)行:

            由主屏幕開啟。

            不需要另一個(gè)存儲(chǔ)器應(yīng)用程序來運(yùn)行它。

            明確利用操作系統(tǒng)APIs。

            移動(dòng)Web應(yīng)用程序

            移動(dòng)Web應(yīng)用程序是專門針對(duì)移動(dòng)設(shè)備的網(wǎng)絡(luò)驅(qū)動(dòng)應(yīng)用程序。

            這些應(yīng)用程序是通過移動(dòng)設(shè)備的網(wǎng)頁瀏覽器獲取的(例如:iPhone上的Safari)。用戶不需要在設(shè)備上直接下載和安裝該應(yīng)用程序。







          手機(jī)模擬器

          費(fèi)用: 手機(jī)模擬器是作為每個(gè)新的操作系統(tǒng)發(fā)布的軟件開發(fā)工具包的一部分來免費(fèi)提供的。

          簡單: 模擬器下載和安裝簡單,即刻使用。許多模擬器能夠以簡單和直接的方式來運(yùn)行。

          快速: 比起要連接到本地網(wǎng)絡(luò)或云的真實(shí)設(shè)備,模擬器的等待時(shí)間更短。

          硬件支持: 仿真模擬里,完全的硬件支持是無法測試的。

          計(jì)算資源: 根據(jù)PC運(yùn)行模擬器的處理能力和被用來測試的手機(jī)和智能機(jī)的類型,模擬器上的表現(xiàn)比起真實(shí)設(shè)備,可能是不切實(shí)際的好或壞。
          網(wǎng)絡(luò)互用性:使用模擬器不可能測試網(wǎng)絡(luò)相關(guān)事件的影響 (如:來電,短信),不同的關(guān)于移動(dòng)應(yīng)用程序行為的網(wǎng)絡(luò)技術(shù)(如: HSPDA, WCDMA, UMTS和LTE). 由于模擬器并沒有連接到移動(dòng)網(wǎng)絡(luò),它們不支持互操作性測試。

          真實(shí)設(shè)備

          可信賴的: 在真實(shí)設(shè)備上進(jìn)行的測試給出的是最精確的結(jié)果。
          網(wǎng)絡(luò)的互操作性:真實(shí)設(shè)備測試是在真實(shí)的網(wǎng)絡(luò)中進(jìn)行的。用戶體驗(yàn):通過使用真實(shí)設(shè)備, 可以把特定設(shè)備的CPU,內(nèi)存或屏幕大小等元素考慮在內(nèi),準(zhǔn)確地看到用戶體驗(yàn)。

          物流和成本: 購買不同版本操作系統(tǒng)的不同設(shè)備是相當(dāng)昂貴的,還要浪費(fèi)不少精力來購買和管理這些設(shè)備。

            表1:使用模擬器和真實(shí)設(shè)備的利弊

            移動(dòng)Web應(yīng)用程序功能:

            完全使用Web技術(shù),如HTML(尤其是HTML5),CSS,Javascript代碼寫的。

            該代碼是由瀏覽器執(zhí)行,而不是由操作系統(tǒng)。

            用戶可以通過多種方式啟動(dòng)應(yīng)用程序:輸入網(wǎng)址,單擊超鏈接,掃描QR碼,或者單擊主屏幕上的快捷方式。

            安裝是非強(qiáng)制性的。

            支持多種操作系統(tǒng)。

            混合應(yīng)用程序

            類似本地應(yīng)用,混合應(yīng)用程序是使用傳統(tǒng)的Web技術(shù)開發(fā)的。

            Hybrid applications是在每臺(tái)設(shè)備上的本地應(yīng)用程序存儲(chǔ)器中運(yùn)行的,但卻是集中部署和維護(hù),是跨平臺(tái)的性質(zhì)的。通常情況下,他們是由云服務(wù),所以地球上任何地方的終端用戶體驗(yàn)是一致的,跨設(shè)備的。


              使用模擬器和實(shí)際設(shè)備進(jìn)行自動(dòng)化測試


            模擬器是用來復(fù)制一個(gè)移動(dòng)設(shè)備的內(nèi)部工作的。它是用于開發(fā)和測試移動(dòng)應(yīng)用程序的強(qiáng)大工具,被用于手動(dòng)和自動(dòng)化測試中。

            當(dāng)然,移動(dòng)APP是用在真實(shí)設(shè)備,而不是模擬器上的,所以測試必須在實(shí)際設(shè)備上進(jìn)行,以確保應(yīng)用質(zhì)量的最高水平。

            然而,讓你們組織里每個(gè)移動(dòng)測試團(tuán)隊(duì)都擁有一個(gè)實(shí)際設(shè)備是很燒錢的,所以使用模擬器是一個(gè)可以控制成本的有效方法。

            在制定移動(dòng)測試策略時(shí),你們組織應(yīng)該謹(jǐn)慎拳皇使用模擬器或?qū)嶋H設(shè)備的利弊。

            移動(dòng)設(shè)備自動(dòng)化測試工具分類

            有三種類型的工具可以支持移動(dòng)設(shè)備的自動(dòng)化測試。

            本地平臺(tái)工具

            本地平臺(tái)工具通常是由移動(dòng)平臺(tái)供應(yīng)商提供的軟件開發(fā)工具包的一部分。這些框架通常與用戶界面對(duì)象級(jí)別的應(yīng)用程序進(jìn)行交互。

            這些工具允許更復(fù)雜的基于對(duì)象的交互,十分成熟,還支持本地UI對(duì)象,因?yàn)樗鼈兪瞧脚_(tái)供應(yīng)商支持的。

            因?yàn)檫@些是操作系統(tǒng)級(jí)別的應(yīng)用程序?qū)ο螅憧梢酝ㄟ^用測試中的應(yīng)用程序編譯的小數(shù)據(jù)庫(也被稱為 “instrumentation”)洞察他們。

            基于視覺的多平臺(tái)工具

            基于視覺的多平臺(tái)工具最常用在移動(dòng)設(shè)備自動(dòng)化測試?yán)铩?/p>

            這些工具通過可視化手段與設(shè)備交互,并可以識(shí)別文本或圖像,使測試人員構(gòu)建基于這些認(rèn)識(shí)和內(nèi)置的手勢的自動(dòng)腳本。

            基于視覺的多平臺(tái)工具的優(yōu)點(diǎn)是它們支持多個(gè)平臺(tái),并且可跨多個(gè)設(shè)備執(zhí)行測試。

            視覺對(duì)象由OCR引擎(基本上都是將掃描的手寫、機(jī)打圖像,或印刷文本轉(zhuǎn)換成機(jī)器編碼的文本智能軟件引擎)識(shí)別。

            基于對(duì)象的多平臺(tái)工具

            基于對(duì)象的多平臺(tái)工具可以在應(yīng)用程序內(nèi)通過識(shí)別,攔截,并發(fā)送信息到對(duì)象,直接用和傳統(tǒng)的測試工具一樣的方式來與應(yīng)用程序UI對(duì)象進(jìn)行交互。

            這些工具的優(yōu)勢是,他們支持多種平臺(tái),并且可以跨平臺(tái)上執(zhí)行測試。

            對(duì)象級(jí)整合也對(duì)應(yīng)用程序變化更加寬容,從而降低與自動(dòng)化測試相關(guān)的整體維護(hù)成本。

            移動(dòng)自動(dòng)化測試的方法

            在規(guī)劃您的移動(dòng)自動(dòng)化工作時(shí),別忘了以下的工具評(píng)估和選擇,對(duì)象技術(shù)的方法:

            工具評(píng)估和選擇

            執(zhí)行工具的可行性,以檢查是否該工具可以在各種移動(dòng)技術(shù)和平臺(tái)使用。

            選擇一個(gè)同時(shí)支持真機(jī)和模擬器或仿真器的工具。

            識(shí)別多種設(shè)備和版本支持。

            用實(shí)用性和可重復(fù)使用功能增加自動(dòng)化測試工作的價(jià)值。

            了解如果選擇的工具需要你破解或獲取設(shè)備的根。

            確保該工具支持操作系統(tǒng)的新版本。

            對(duì)象識(shí)別

            基于圖像的對(duì)象識(shí)別:把每個(gè)測試對(duì)象記錄為圖像,在GUI中匹配對(duì)象和可用運(yùn)行時(shí)間圖像。

            光學(xué)字符識(shí)別對(duì)象的對(duì)象識(shí)別:使用光學(xué)字符識(shí)別(OCR)功能獲取屏幕上的控件的文本。該功能使用了通過字符讀取字符文本的專門算法。

            真實(shí)對(duì)象或本地的對(duì)象標(biāo)識(shí):標(biāo)識(shí)唯一對(duì)象的屬性,如“ ID”,“名稱”和“類” 。

            基于DOM的識(shí)別:利用DOM屬性來識(shí)別web應(yīng)用程序?qū)ο蟆?/p>


          特點(diǎn)

          圖像識(shí)別

          OCR對(duì)象

          本地對(duì)象

          DOM對(duì)象

          對(duì)象識(shí)別的復(fù)雜度

          容易

          容易

          中等

          中等

          對(duì)象維護(hù)工作



          容易

          中等

          跨設(shè)備支持


          中等

          容易

          容易

          執(zhí)行中的識(shí)別速度

          中等

          中等

          中等


            結(jié)論
            通過在移動(dòng)應(yīng)用程序測試中使用自動(dòng)化測試,測試團(tuán)隊(duì)可以在保持質(zhì)量和減少將產(chǎn)品推向市場時(shí)間的同時(shí)降低成本。
            許多工具可用來支持移動(dòng)設(shè)備自動(dòng)化測試。選擇正確的工具需要理解業(yè)務(wù)需求和移動(dòng)測試獨(dú)有的因素。
            權(quán)衡手機(jī)模擬器和真實(shí)設(shè)備的優(yōu)劣,企業(yè)的最佳移動(dòng)測試解決方案往往不是只選擇其中一個(gè),而是選擇結(jié)合這兩者。

          posted on 2014-05-20 10:22 順其自然EVO 閱讀(609) 評(píng)論(0)  編輯  收藏 所屬分類: android

          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 博乐市| 新兴县| 吉林市| 鹤庆县| 邵阳县| 板桥市| 阳春市| 元阳县| 鸡泽县| 巴林左旗| 民县| 武陟县| 罗山县| 桑植县| 建德市| 金溪县| 双鸭山市| 乌拉特中旗| 宣化县| 南京市| 洪洞县| 沙田区| 五台县| 铜川市| 成安县| 额敏县| 伊通| 武穴市| 北川| 江永县| 石楼县| 上思县| 陇西县| 瑞金市| 昌吉市| 阜城县| 九江市| 龙海市| 达州市| 丹寨县| 长顺县|