2010-10-02 62 views

回答

15

好問題。這裏列出了一些需要考慮的事項,並提供可以提供幫助的工具鏈接。

至於執行測試,您可以閱讀一些列出的教程,並使用框架如Robotium來簡化測試的編寫。

測試類型

下面是類型的測試,應該是相關測試Android應用程序的非詳盡清單。

  • 單元測試
    • 非Android特異性的,即業務邏輯
    • 的Android單元測試,例如測試UI組件
  • 功能測試
    • Android的儀器測試
  • 集成測試
    • 測試應用程序組件的交互
  • 系統測試
    • 黑箱測試,測試整個應用程序及其依賴
  • 無障礙環境測試
    • 待辦事項UI組件具有正確的標籤,說明和提示文本包括在內?
    • 是否有任何可能影響人的潛在問題,例如:色盲?
  • 安全性和可靠性測試
    • 是輸入之前使用,例如驗證在本地數據庫中,還是在發送到服務器之前?
    • 用戶界面是否可靠地處理所有事件,例如配置更改,硬件事件?

這取決於究竟您的應用程序做,但它應該是可以測試多的這種自動使用一些下面列出的工具。

變量

軟件和硬件功能的various Android devices不同。
您應該考慮這些因素,並結合目標市場將使用的設備類型進行測試。

重要的是要確保你支持multiple screen types,特別是確保你提供正確的resources以支持具有不同屏幕密度和物理屏幕尺寸的設備。

一般而言,您希望包含儘可能少的圖形,但要使用各種Android Drawable類型,這些類型通常允許您通過XML定義需要的圖形。無論使用什麼設備,還要充分利用automatically scale themselves的佈局和圖像。

這樣做可以使不同設備的測試更簡單。

工具

寫作考試

  • 集成的單元測試JUnit支持
  • TestCase類測試Android組件
  • Robotium —庫,使得它非常簡單的寫黑箱功能測試也可以跨越多個活動

使用嘲笑

雖然Android提供了可用於僞造部件用於測試目的幾個mock objectsmany more would be useful

由於這個原因(以及一般情況),設計考慮可測試性的應用程序是一個好主意。例如,不要直接訪問ConnectivityManager,而是創建一個定義您需要的方法調用的接口。然後編寫該接口的兩個實現:一個包裝Android ConnectivityManager和另一個模擬版本。根據你是否在運行單元測試,選擇你想在運行時使用的實現。

運行測試

其他

參考

超越所有的鏈接上面的一種形式,可以在這裏找到一些具體的條款:

+1

很好的答案!你幫了我很多忙。有了新的測試方法,你應該更新這個。 – 2013-11-14 20:32:47

相關問題