Android 下的自動化測試工具總結

Just4life發表於2013-09-09

測試手段1: CTS (Compatibility Test Suits)

用來確保某裝置符合 Android 相容性規範。原來想擴充它,不是正道。


測試手段2: Monkey

1)    應用程式的開發者可以測試自己應用的魯棒性。

2)    裝置製造商可以使用猴子對自己的測試施行壓力測試。看裝置能堅持多久。

猴子測試即可以針對全域性,也可以正對某個區域性(某個 Category, package等等)。

執行簡單,效果明顯。


測試手段3:MonkeyRunner

1)     在工作站上通過API定義的特定命令和事件控制裝置或模擬器。

2)     用於多裝置控制,功能測試,迴歸測試,可擴充套件的自動化。

3)  比monkey強大,任何你在模擬器/裝置中能幹的事情,MonkeyRunner都能幹,而且還可以記錄和回放。


測試手段4: ASE (Android Script Environment)

ASE 意思為 Android 指令碼環境,即我們可以通過指令碼(比如Python)呼叫 Android 的功能,從而定製一些測試。比如打電話,發簡訊,瀏覽網頁,等。

我們可以擴充它的API(Java 部分), 並用python 指令碼呼叫這些API,  從而實現豐富的測試功能。

用於API 部分可以訪問到Android全部API, python又能靈活部署測試,所以 ASE 的擴充套件性非常好。


測試手段5: Robotium

該工具用於黑盒的自動化測試。可以在有原始碼或者只有APK的情況下對目標應用進行測試。

Robotimu 提供了模仿使用者操作行為的API,比如在某個控制元件上點選,輸入 Text 等等。


測試手段6:單元測試

Android 本身帶有很多單元測試例子,我們可以按需要模仿它們,針對某個應用進行單元測試。

注意 Android 的Instrument機制功能非常強大,可以測試 UI.


測試手段7:Smart Robot (東舟軟體)

SmartRobot提供了錄製產生測試用例的方式,使用者操作手機即可產生用例,不需要逐行去編寫用例指令碼。測試用例與裝置解析度無關,與手機型號無關,同一用例可以在不同型號手機、不同解析度手機下執行。

Smart Robot的測試用例基於Android Instrumentation。

Smart Robot是一款既能基於控制元件又能基於手機影象的自動化測試軟體

SmartRobot不僅提供了基於Android介面控制元件的錄製和回放機制,而且提供了基於介面影象的用例方式,二者兼而有之。即SmartRobot既可以做到驗證介面控制元件的細節,也可以做到驗證和比對手機介面影象。



總結

對於 CTS/Monkey, 我們不需要開發,只要執行測試就可以了。

對於 ASE,  我們可以擴充它的現有API(Java), 用Python呼叫這些API實現豐富的測試功能。

Robotium 模仿普通使用者行為,可以試著把一些原來由測試工程師做的測試變成Robotium自動化實現。


相關文章