• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Android單元測試研究與實踐

    發表于:2017-02-21來源:meituan作者:潘銘煒 黃超點擊數: 標簽:單元測試Android
    單元測試是參與項目開發的工程師在項目代碼之外建立的白盒測試工程,用于執行項目中的目標函數并驗證其狀態或者結果,其中,單元指的是測試的最小模塊,通常指函數。如圖1所示

    Android單元測試介紹

    處于高速迭代開發中的Android項目往往需要除黑盒測試外更加可靠的質量保障,這正是單元測試的用武之地。單元測試周期性對項目進行函數級別的測試,在良好的覆蓋率下,能夠持續維護代碼邏輯,從而支持項目從容應對快速的版本更新。

    單元測試是參與項目開發的工程師在項目代碼之外建立的白盒測試工程,用于執行項目中的目標函數并驗證其狀態或者結果,其中,單元指的是測試的最小模塊,通常指函數。如圖1所示的綠色文件夾即是單元測試工程。這些代碼能夠檢測目標代碼的正確性,打包時單元測試的代碼不會被編譯進入APK中。

    單元測試工程位置

    圖1 單元測試工程位置

    Java單元測試相同,Android單元測試也是維護代碼邏輯的白盒工程,但由于Android運行環境的不同,Android單元測試的環境配置以及實施流程均有所不同。

    Java單元測試

    在傳統Java單元測試中,我們需要針對每個函數進行設計單元測試用例。如圖2便是一個典型的單元測試的用例。

    單元測試示例

    圖2 單元測試示例

    上述示例中,針對函數dosomething(Boolean param)的每個分支,我們都需要構造相應的參數并驗證結果。單元測試的目標函數主要有三種:

    1. 有明確的返回值,如上圖的dosomething(Boolean param),做單元測試時,只需調用這個函數,然后驗證函數的返回值是否符合預期結果。
    2. 這個函數只改變其對象內部的一些屬性或者狀態,函數本身沒有返回值,就驗證它所改變的屬性和狀態。
    3. 一些函數沒有返回值,也沒有直接改變哪個值的狀態,這就需要驗證其行為,比如點擊事件。

    既沒有返回值,也沒有改變狀態,又沒有觸發行為的函數是不可測試的,在項目中不應該存在。當存在同時具備上述多種特性時,本文建議采用多個case來真對每一種特性逐一驗證,或者采用一個case,逐一執行目標函數并驗證其影響。

    原文轉自:http://tech.meituan.com/Android_unit_test.html

    ...
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>