測試自動化的目的 (1)

在 xUnit Test Patterns 一書的第三章中, 提到 Test automation 的 goal. 作者認為應該有以下目的:

1. 應該能幫助我們改進品質
2. 應該能幫助我們了解受測程式
3. 應該能減低風險
4. 應該要能容易執行
5. 應該要容易撰寫和維護
6. 隨著系統的演進和發展, 應該只需要最低程度的維護花費

1. 應該能幫助我們改進品質
(1) 當作規格
- 如果測試是在撰寫程式前進行, 便可以在建構受測系統前, 來捕捉它應該做甚麼.
- 它允許以一種可執行的形式, 來描述各種的scenario, 以及受測系統相對應的行為.
- 測試要能反映實際使用受測系統的方式, 才能確保建構正確的系統.

(2) Bug 的驅蟲劑
- 自動化測試並不是為了要找 bug.
- 它是要避免在我們修改系統或是解 bug 後, 反而將之前可運行的系統變成不work.

(3) Defect 的定位
- Unit test 如果很小的話, 當失敗時應該就能很快指出錯誤的地方. 這就是 unit test 比 integration test, acceptant test 棒的地方.
- Acceptance test 不能通過時, 你只能說某些預期的行為不能正常運作. 但是 Unit test 失敗時, 它可以指出失敗的原因. 這就是 defect 定位.
- 如果你的 acceptance test失敗, unit test 成功, 代表你一定有遺漏的 unit test

 
2. 應該能幫助我們了解受測程式
- 排除 defect 並不是測試程式唯一能做的事情, 還可以讓使用者知道, 要如何使用受測程式.
- 在這種情況下, 測試程式便是受測程式另一種形式的文件.

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()