摘要:隨著3G誘發(fā)的移動互聯(lián)網時代的到來,移動終端將深入社會生活的方方面面。在這種時代背景下形形色色的手機軟件瘋狂問世,每個程序都期望成為QQ/Fetion。軟件所有者為了搶占廣闊的市場,在更短的時間內提供更為優(yōu)質的手機軟件產品,因而在這種形勢下?lián)碛懈咝、便捷、快速等特點的自動化測試將成為軟件測試中不可缺少的重要部分。
1 引言
近年來,隨著國內IT行業(yè)的迅猛發(fā)展與日益規(guī)范,手機軟件產品的質量越來越成為企業(yè)競爭制勝的關鍵,企業(yè)領導者亦日趨理性并愈發(fā)重視軟件產品的質量。在市場格局變化的今天,各運營商亦紛紛推出自己獨特的定制終端和定制業(yè)務,為了捍衛(wèi)自主品牌保證產品質量,幾乎每個運營商的產品在發(fā)布前都需要進行大量的質量控制、回歸測試和壓力測試工作,然而這些工作必須投入大量的資金依靠具備嫻熟技能的專業(yè)測試人才來完成。那么是否有這樣一種革新的自動化測試工具,它不但能夠降低測試難度、降低測試成本、縮短測試周期,而且能夠達到測試的預期效果呢?
2 手機軟件手工測試的缺陷
據統(tǒng)計資料表明,測試的工作量約占整個項目開發(fā)工作量的40%左右,測試的工作量往往是其他階段的3~5倍。
就目前國內的軟件開發(fā)行業(yè)來看,幾乎所有的測試還是來自最原始的手工測試,對于自動化測試的應用還不普及。手工測試,顧名思義就是需要由人來動手進行測試。測試人員需要手腦并用,充分發(fā)揮聰明才智,才能設計出那些可以導致軟件失效或是符合軟件設計效果的真實場景。由測試人員來進行手工測試,可以最大程度地發(fā)揮人的主觀能動積極性,設計出真實的用戶情況,在真實的用戶環(huán)境中使用真實的用戶數(shù)據,同時可以識別出顯而易見的缺陷和難以察覺的缺陷。但以往的經驗告訴我們,單獨的手工測試無法保證軟件的質量,因為手工測試存在效率低,人力、時間投入大,壓力測試難以進行,隱形問題難以發(fā)現(xiàn)的缺點,在這種背景下應運而生了自動測試。
3 Pilot AutoTest系列介紹
隨著移動業(yè)務突飛猛進地發(fā)展,傳統(tǒng)的手工測試已經難以滿足業(yè)務增長的需要,在業(yè)務高速擴張的同時又要保證業(yè)務的質量今天,珠海世紀鼎利通信科技股份有限公司針對手機軟件開發(fā)出一套自動化移動業(yè)務測試及評估系統(tǒng)——Pilot AutoTest產品,它結合了測試工程師多年的經驗和最新研究成果。Pilot AutoTest系列產品包括Pilot AutoTest Enterprise,Pilot AutoTest Handse,Pilot AutoTest Web和Pilot AutoTest Cloud。
Pilot AutoTest系列是一套基于圖像識別原理開發(fā)的自動化業(yè)務測試及評估系統(tǒng)。目前已實現(xiàn)Android,Windows Mobile,Symbian等主流系統(tǒng)的終端測試。該系統(tǒng)通過終端模擬器進行設備模擬,允許用戶通過系統(tǒng)模擬真實操作,程序自動記錄用戶操作的所有過程。同時,引入圖像識別技術及文字識別技術,提供測試參考及判斷標準,可以更好地幫助加強操作的可執(zhí)行性,提高自動化測試的可靠度及易用度。Pilot AutoTest提供了靈活的腳步編輯功能,包括:異常分支編輯、數(shù)據采集、自定義變量、元素修改等,便于用戶進行快捷的腳步移植操作,最大限度的減少額外工作量。允許用戶任意指定執(zhí)行中的圖像對比元素(見圖1)。
圖1 手機屏幕圖和對象圖
3.1 Pilot AutoTest Enterprise
企業(yè)級終端自動測試系統(tǒng),提供高效、專業(yè)、準確的本地測試,自動錄制命令,用戶自定義測試腳本,實現(xiàn)自動化回歸測試。允許用戶連接任意終端、定制測試計劃、自動運行,并對運行中的錯誤進行自動截屏,幫助用戶更快發(fā)現(xiàn)程序異常,同時,壓力測試后的測試報告能更好地幫助用戶評估業(yè)務程序或終端的穩(wěn)定性。
Pilot AutoTest使用分布式系統(tǒng)部署,允許用戶進行遠程調度、數(shù)據集中管理,無論身處何地,都能實現(xiàn)自動化測試(見圖2)。
圖2 Pilot AutoTest Enterprise版拓撲圖
3.2 Pilot AutoTest Handset
便攜設備獨立自動測試可以提供靈活、方便、終端獨立運行的測試。終端內置腳本執(zhí)行模塊,通過本地導入或遠程Web端調度的方式獲取測試腳本,完成自動化測試。終端界面的日志記錄、結果統(tǒng)計能幫助用戶更便捷地獲取第一時間的測試信息(見圖3)。
圖3 Pilot AutoTest Handset版界面
3.3 Pilot AutoTest Web
中心調度及控制服務器,客戶端錄制測試腳本通過網絡上傳到服務器,并存儲到腳本用例庫中,用戶可通過Web接入中心調度及控制服務器進行任務配置、調度、監(jiān)控,及結果匯總統(tǒng)計等。用戶通過Pilot AutoTest Enterprise或Pilot AutoTest Handset均可連接到Web端實現(xiàn)遠程控制(見圖4)。
圖4 Pilot AutoTest web版界面
3.4 Pilot AutoTest Cloud
終端云資源共享自動測試,提供后端虛擬設備資源池。實現(xiàn)“不見其人,但聞其聲”的意境。用戶并不實際接觸終端,但通過Web訪問可以控制終端實現(xiàn)任意模擬操作,包括開/關機、程序安裝/卸載、業(yè)務測試等等,與真實操作完成一致。
AutoTest Cloud為程序開發(fā)者提供了更便捷的測試方案,不僅成本節(jié)省了,而且也效率卻提高了,更為產品的上線縮短了周期。
4 Pilot AutoTest Enterprise的用途和優(yōu)點
4.1 Pilot auto Test Enterprise的用途(見圖5)
圖5 Pilot AutoTest的應用
(1)Pilot AutoTest是一套針對手機軟件的自動化測試工具,它能夠自動加載設備并根據腳本實現(xiàn)業(yè)務回顧測試。腳本執(zhí)行完畢后會自動生成一份統(tǒng)計報表,此報表包括執(zhí)行測腳本的次數(shù)、每個動作的執(zhí)行次數(shù)、腳本的成功率、每個動作的成功率等相關參數(shù)。若由于某種原因導致操作失敗還可以提供相應的信息日志以供查看。對于網絡交互的相關動作,AutoTest結合世紀鼎利Walktour產品,還可以在日志中顯示與網絡交互的相關信令、參數(shù)、時延等信息。
(2)可運用于手機軟件開發(fā)商,幫助其提高測試效率、縮短測試周期。
(3)可運用于電信運營商的入網檢測、大會戰(zhàn)、定制業(yè)務等方面,能夠準確、高效、直觀的呈現(xiàn)測試結果。
4.2 Pilot auto Test Enterprise的優(yōu)點
(1)測試更便捷。由于回歸測試的動作和用例是完全設計好的,期望的結果也是可以預料的,自動運行可以提高測試的效率,縮短測試的時間。
(2)可以運行更多更繁瑣的測試執(zhí)行一些手工測試不能進行或者困難的測試,比如,對于大量用戶的壓力測試,不可能同時讓足夠多的測試人員同時進行測試,但是卻可以通過自動化測試模擬同時有許多用戶,從而達到測試的目的并降低項目投資成本。
(3)更好地利用資源。將繁瑣的任務自動化,可以提高準確性和測試人員的積極性,將測試技術人員解脫出來投入更多精力設計更好的測試用例。有些測試不適合自動測試,僅適合于手工測試,將可自動測試的測試自動化后,可以讓測試人員專注于手工測試部分,提高手工測試的效率。
(4)重復測試,每一個測試腳本都可重復利用,幾次、幾十次、幾百次都由用戶指定。
(5)測試的復用性。Pilot AutoTest進行了專業(yè)的腳本編輯設計,具有良好的移植性,從一個終端到另一個終端的測試,用戶只需要修改部分腳本或部分圖片元素就可以進行測試。
(6)增加軟件信任度。由于測試是自動執(zhí)行的,所以不存在執(zhí)行過程中人為的主觀判斷或疏忽,杜絕了測試中人為錯誤。一旦軟件通過了壓力測試后,軟件的信任度就會增加。
5 結束語
本文分析了當前手機軟件手動測試的缺陷,介紹新一代自動測產品——Pilot AutoTest。目的是為了使手機軟件開發(fā)商、電信運營商等廠商能夠通過此產品提高測試的效率、縮短測試的周期、解放測試人員和降低測試的投資。誠然,Pilot AutoTest也不是一款全能的自動化測試系統(tǒng),在比如聲音、震動、流媒體、游戲等需要主觀判斷或人機交互上的測試還很有局限,但最大限度的實現(xiàn)功能性自動化測試是Pilot AutoTest的努力方向。