android測試工具小總結

             今天同事問到了android測試工具有點懵。因爲我一般不會去專業點的測試,我就用我肉嘟嘟的手指點啊點啊就完事了。既然人家問我我也不能丟了android人的面子,那麼來學習一下吧。

android自動化測試工具簡介

現在,已經有大量的Android自動化測試架構或工具可供我們使用,其中包括:Activity Instrumentation, DroidPilot,MonkeyRunner, Robotium, 以及Robolectric。另外LessPainful也提供服務來進行真實設備上的自動化測試。

  Android自身提供了對instrumentation測試的基本支持,其中之一就是位於android.test包內的 ActivityInstrumentationTestCase2類,它擴展了JUnit的TestCase類來提供Android activities的功能測試。在應用測試中,每一個activity首先會被Instrumentation初始化,然後再加載到Android模擬 器或設備的Dalvik虛擬機中來執行。

      一個新出android自動化測試工具,DroidPilot是一個自動化測試工具。它可以針對於Android平臺的應用程序進行測試腳本編輯、自動回放、結果檢 查、報告輸出等操作,以此來縮短迴歸測試的時間,提升項目整體進度。測試腳本不僅可以運行於模擬器,更可以同時運行於多臺移動設備,這樣更能凸顯測試結果 的真實性和可比性。

  Android SDK自帶一個測試工具MonkeyRunner,它提供的API和執行環境可以運行Python語言編寫的測試代碼。它提供API來連接設備,安裝/卸 載應用,運行應用,截屏,比對圖片來判斷特定命令執行後的屏幕是否包含預期信息,以及運行對應用的測試。MonkeyRunner使用 ActivityInstrumentationTestCase2, ProviderTestCase,ServiceTestCasek, SingleLaunchActivityTestCase及其他類來定義測試用例,並使用InstrumentationTestRunner類來運行 測試。

  Robotium是另一種通過InstrumentationTestRunner來完成Android交互式測試的架構,它橫跨多個 activities,支持功能測試,系統測試和接收測試。Robotium支持Activities、Dialogs、Toasts、Menus、 Context Menus甚至Honeycomb,並且它可以同Maven和Ant集成來完成持續集成測試。Robotium被稱之爲針對Android應用的又一個 Selenium。

  Robolectric另闢蹊徑,它並不依賴於Android提供的測試功能,它使用了shadow objects並且運行測試於普通的工作站/服務器JVM,不像模擬器或設備需要dexing(Android dex編譯器將類文件編譯成Android設備上的Dalvik VM使用的格式),打包,部署和運行的過程,大大減少了測試執行的時間。Pivotal實驗室聲稱使用Robolectric可以在28秒內運行1047 個測試。

  LessPainful將Android測試又推進了一步,它提供了一個多設備平臺自動化測試的服務。用戶上傳應用(*.apk)和用 Cucumber(一種業務相關的DSL)編寫的測試文件,選擇測試運行需要的設備配置,最後測試將自動執行並生成測試報告。它支持的設備包括 Garmin Asus,幾款HTC,LG,Samsung Galaxy,Sony Xperia和Motorola Motodefy。

 

Fps2d:

工具名稱:

 

fps2d性能測試工具

 

工具描述:

fps2d主要針對android系統系統對2D圖形處理性能的測試

測試方法:

將該軟件下載到所要測試的android系統上,雙擊該程序。待程序運行完畢後,記錄本次測試的成績

測試結果:

測試結果有avg、stdev兩個參數值,其中,avg是每秒幀數的平均值,stdev是標準偏差值,avg的值正常值是(58-60),另測試最後,系統會給出測試時迭代的次數,iteration是迭代的次數

 

Linpack:

工具名稱:

 

Linpack性能測試工具

 

工具描述:

Linpack用具測試計算機浮點計算性能

測試方法:

將該軟件下載到所要測試的android系統上,雙擊該程序。進入程序主界面後,點擊running benchmark,開始測試

測試結果:

測試結果中有四個參數:MFLOPS、time、norm res、precision

MFLOPS每秒百萬次的浮點運算,

norm res可以是標準參照,

precision 是軟件版本信息

一般MFLOPS值越高越好,採用此工具測量時需要多次測試,求下平均值

 

Benchmark:

工具名稱:

Benchmark

工具描述:

Benchmark可以測試系統中的多項性能,包括2D、cpu、內存和文件系統,且速度較快

測試方法:

將該工具下載到系統上,雙擊該系統,進入程序主界面,用戶直接點擊running benchmark按鈕,將會測試工具默認的各項內容,

測試結果:

測試結果中的各項內容結果:

Graphic:total graphic score、draw opacity bitmap(繪製不透明的位圖萬像素/每秒)、draw transparent bitmap(繪製透明的位圖萬像素/每秒)

Cpu cpu的總得分

Memory 內存總得分和複製內存的時間

Filesystem 中列出整個文件系統的得分,同是有創建/刪除100個文件所用的時間,向文件中讀/寫1M內容的速度

(及時編譯工具jit的開啓可以提高測試的成績。Sp13開啓也會影響到測試成績)

 

Quadrant(象限)

工具名稱:

Quadrant

工具描述:

Android系統的性能測試工具,針 對CPU、內存、I/O輸入輸出、2D及3D圖像的性能,提供了一鍵式的完整測試。也可以或是根據需要選擇其中某些測試項目單獨測試。

測試工具:

在所要測試的系統上裝入該測試工具,雙擊該工具,進入軟件主界面,用戶可以選擇綜合性能測試,也可以選擇自定義性能測試

測試結果:

測試覆蓋cpu、memory、IO、2D、3D五大部分。測試完成後,將會給出給個部分的測試數值,同時將正在測試的系統的平分和其他機器測試的結果分佈的直方圖。

 

Cts

工具名稱:

Cts android兼容性測試工具

工具描述:

測試在在android系統上開發的程序可以正常運行在手機設備上,即android應用程序的兼容性

測試方法:

在android設備的shell環境下運行cts工具,進入cts環境內,ls –plan 命令將android的項目有八大項,如:CTS、Android、Signature(簽名安全)、AppSecurity(應用程序安全)、等。使用start –plan name運行其中一個項目,也可以通過start –-plan name –p packagename 運行該項目中的一個應用程序。

測試結果:

測試結果在out/host/linux-x86/cts/android-cts/repository/results/目錄下,並以開始測試的時間命名文件夾下的testresult.xml文件中會記載測試項的測試結果。Testresult.xml文件中的summary項即記錄就是測試結果總結

 

Monkey測試工具

工具名稱:

Mokey測試工具

工具描述:

Mokey是android系統自帶測試工具,monkey測試工具是向用戶發送僞用戶事件流,對android系統進行壓力測試。測試軟件的穩定性和健壯性

測試方法:

Monkey是android系統自帶的測試工具,需運行在其環境中的shell裏啓動該工具,可以使用adb.exe shell進入shell環境,直接使用monkey命令後跟參數即可進行android的壓力測試。Monkey的常用命令參數有:

-p ALLOWED_PACKAGE 僞事件操作的程序範圍,當設定-p參數後,隨機僞事件將會在設定的應用程序中產生,當沒有設定該參數是,隨機僞事件將在Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY運行,可以指定多個應用程序

-v 增加反饋信息的級別,參數選擇有level0、level、level2

其他可以參照monkey參數含義

測試結果:

當僞事件運行完畢後,且無錯誤時,shell上會提示monkey finish信息。

 

Speed test工具

工具名稱:

Speed test測試工具

工具描述:

Speed test工具主要測試設備的網絡速度。可單獨測試3G和無線網絡的上傳和下載的速度,通常測試需要多次測試取平均值。

測試方法:

將工具導入設備中,同時開啓所要測試的網絡對象,單擊功能頁面speed test工具的圖標,進入工具的主頁面。

單擊“開始測試”按鈕,進入測試界面。測試完成後,工具會恢復到開始測試的界面。多次重複該測試步驟。

測試結果:

在result菜單下可以看到之間的每次測試結果,每次的測試都以開始測試的時間爲標識符。求幾次測試的平均值。

 

SD卡速度測試

工具名稱:

SD.card.speed.test

工具描述:

測試SD卡的讀取和寫入的速度,SD合格的標準:

C=class

C2不低於2M/S

C4 不低於4M/s

C6 不低於6M/s

測試方法:

將SD.card.speed.test工具導入設備中,一般情況下工具會自動檢測設備上的SD卡,如果沒有的SD卡的情況,設備會給出提示,如果檢測到SD卡後就開始測試。公司MID中一部本的內存掛載到了SDcard下(可能有8G),因此這個時候測試SD卡的讀取和寫入的速度並不準確,這種情況下可以卸載存儲一保證測試數據的準確性。

測試結果:

可測試結果中給出了SD卡的讀取和寫入的速度。可以多次測試求平均值。

 

SD卡速度測試

工具名稱:

Nand test

工具描述:

測試SD卡的讀取和寫入的速度,SD合格的標準:

C=class

C2不低於2M/S

C4 不低於4M/s

C6 不低於6M/s

測試方法:

將SD.card.speed.test工具導入設備中,一般情況下工具會自動檢測設備上的SD卡,如果沒有的SD卡的情況,設備會給出提示,如果檢測到SD卡後就開始測試。公司MID中一部本的內存掛載到了SDcard下(可能有8G),因此這個時候測試SD卡的讀取和寫入的速度並不準確,這種情況下可以卸載存儲一保證測試數據的準確性。

測試結果:

可測試結果中給出了SD卡的讀取和寫入的速度。可以多次測試求平均值。

 

 

以上是前人總結的,我只是搬過來而已,要本人打算學習Monkey,大家可以根據需要去學習。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章