Venkatesh Sriramulu現在印度金奈的高知特信息技術有限公司擔任項目經理。他有九年以上的IT經驗,他的整個職業(yè)生涯都把重心放在軟件測試和項目管理上。他在管理端到端企業(yè)IT項目生命周期以及為簡化并在復雜的企業(yè)活動中引進測試工具而制定方針(這是一個改進軟件測試流程的動力)方面有著卓越的經驗。他還擅長敏捷和SOA測試,并且為測試流程的改進提出了不少創(chuàng)新想法。
引言
手機已不再僅僅是“打電話和發(fā)短信的”設備了,如今它是提供不折不扣娛樂功能,金融服務和企業(yè)移動性的智能伙伴。IDC預測,今年智能手機出貨量將達到9.78億。Forrester研究表明,到2016年,智能手機和平板電腦將放權到一百萬全球消費者手中。不像web應用程序,用戶體驗已變成了移動應用程序成功的一個關鍵驅動力。隨著手機發(fā)展到支持B2C,B2B和B2E應用程序,用戶期待性能能和他們在筆記本電腦和個人計算機上的體驗相匹配。虛擬設備可以是功能自動化的但是用戶體驗或性能是不可測量的。為了在一定程度上解決這個問題,引進了使用云的遠程設備測試。然而觸摸體驗和情感體驗需要直覺,這如今在市場上還沒有解決方法。盡管有選項,但事實上沒有一個選項可以解決所有問題,我們還是深入挖掘,恰當運用虛與實吧。移動測試自動化可以根據不同水平的虛擬化分為如下幾類(見圖1):
圖1.移動測試自動化方法
基于瀏覽器插件的移動測試自動化
這只適用于基于web的移動應用程序。Safari,Mozilla Firefox,and Google Chrome等瀏覽器提供(可以給與web相關內容的)瀏覽器插件。這個方法利用了內嵌的用戶代理。用戶代理幫助提供(將在一個設備上呈現到常規(guī)桌面瀏覽器上的)特定的web內容。這可以通過使用流行工具(如QTP,Selenium,或RFT,它們支持所有的桌面瀏覽器)來開發(fā)自動化。
優(yōu)勢:市場上有很多即時可得的開源自動化工具/框架,這是自動化廉價簡單的方法。
劣勢:只有功能自動化是可能的。設備兼容性,屏幕分辨率和性能參數用這個無法計算出來。無法測試本地或混合app。用這個自動化只能建立一個非常有限的QA可信度。
基于Simulator/emulator的移動測試自動化
一個手機Simulator是一個在其真實環(huán)境中模仿所有典型硬件和典型移動設備的軟件功能的軟件應用程序。對于所有操作系統(tǒng),市場上都有合適的Simulator和emulator,并兼容了大量的設備。將Simulator自動化所花的時間要比連接到當地網絡或云中的真實設備的延遲時間少。根據應用程序,當應用程序在真實設備上運行時要小心對待該延遲以避免應用程序中的消極因素。現下多數Simulator都是免費的,移動手機制造商廢了不少精力確保他們的平臺易測試,也有不少解決方案。將它們自動化的工具也是免費的;這些工具的質量很高,非常值得信賴。
優(yōu)勢:simulation的一大優(yōu)勢是:其提供的(實際證明以現下技術水平無法進行測量的)細節(jié)程度。Simulation可以輕易地被自動化,市場上也有相應的框架可以將它們自動化。不同的中斷和特定設備的特點可以和功能自動化一樣被測試。Simulation測試比在每次設計上執(zhí)行多個測試更便宜更快。
劣勢:牢記一點——simulators與真機測試無法相互替代,simulators會出現真實設備中不存在的問題:
**Simulation錯誤:第一個缺點是simulation錯誤。在simulation中,我們通常使用事物的工作原理而不是規(guī)律編程,原理也不是正確。一次錯誤擊鍵可以改變Simulation的結果。我們首先需要運行一個基線以證明它是有效的。
**硬件-軟件差異:simulator的另一方面的測試是軟件和硬件間的差異。Simulator并不能呈現出每個支持設備的特定硬件和軟件功能。
**性能:比較PC運行emulator的處理能力和手機的類別,有限的CPU和內存以及被用于測試,emulator上的性能不能保證。
**安全:人們對數據很敏感,比如保留在手機上的銀行賬號,或者顯示在屏幕上的密碼。安全設計對于各個手機型號都有變化。模擬環(huán)境中的這幾類安全問題的測試并沒有好好利用時間,因為需要被測試的是實際的手機行為。
使用云的遠程的基于設備的移動測試自動化
如果你有一個針對多款手機的應用程序,面對不同的形式,技術規(guī)格以及服務供應商,你該如何測試你的應用程序?很明顯獲取所有你需要測試的手機并不可行。算你的公司可以獲取你需要的所有手機,也需要花上不少精力來對所有手機進行測試工作。并不是所有的手機都有一樣的安全設計,所以每個設備都要進行單獨測試;谠频倪h程設備利用對大量真實運行的移動設備硬件以及(通過網絡可獲取的)軟件的選擇解決了該問題。隨地自動化的能力是一個很大的優(yōu)勢,因為所需要做的只是連接到云實驗室。“隨地進行自動化”的功能是使用工具如Perfecto Mobile和Device Anywhere時的一個明顯的優(yōu)勢。它們讓身處世界上任何地方的開發(fā)者和測試員能在線“獲取”全面的新的移動手機和平板電腦。因為整個基礎設施是在一個網絡內部的,測試團隊有等同于他們當前本地環(huán)境的專用連接性能。一些組織有類似的本地創(chuàng)建而不在云中的實驗室結構。
優(yōu)勢:揭示性能缺陷更容易,缺陷是手機本身或其環(huán)境的結果。Emulator中無法找到的崩潰和內存泄露問題用這個自動化可以找到。數據記錄(像處理器使用,內存利用,應用程序啟動時間,電池使用,網絡流量和網絡延遲)都可計算;ビ眯詼y試是有可能的,如果建立了一個載體測試實驗室。熟悉整個行業(yè)產品的測試工程師也可以用商業(yè)工具插件機制比如:HP QTP和IBM RFT。
劣勢:大的劣勢是許可費用。許多公司提供費用支用撥款制度服務,但是比起上述任何自動化方法,投資費用仍很高。此外,移動應用程序的測試更新需要不斷地投資。還有,某些類型的測試如藍牙以及一些中斷是無法被測試的,這或許非常接近真機測試,但仍不是真機測試。
使用自動化程序的真實的基于設備的移動測試自動化
真機自動化是手動測試員在真實的移動設備上進行的測試自動化。這不能視作不可能,但聽起來像是外星人技術。然而這項技術已經開始實現了。2012年,T-Mobile公司推出了Tappy,第一個自動化電話測試機器人。Tappy像一個普通手機用戶一樣按下按鈕,導航觸屏。它編入了用戶會在日常生活中體驗的數不清的使用情景,包括測試鍵盤,用戶界面速度,電池壽命,音樂,語音通話,游戲,短信,郵件,網頁瀏覽和app下載的方法。Jason Huggins,Sauce Labs的創(chuàng)始人之一,設計了一個可以玩憤怒的小鳥的機器人。這個機器人叫“Tapster”,它是由3D打印材料制作的,由Arduino驅動,且完全開源。Tapsterbot和Appium在將來會更緊密地合作。OCULUS機器人已在硅谷英特爾總部建成,兩端用兩個帶有橡膠墊的手指以微米的精度敲擊和輕刷。英特爾創(chuàng)建OCULUS試著憑經驗測試觸摸屏的響應速度和“觸感”來判斷大家是否會喜歡。