測試應該具備哪些特質


測試應該具備哪些特質

 

  1. 互相隔離的(不受其他測試的表現形式、是否存在、執行結果的影響)
  2. 自動化的
  3. 編寫快
  4. 運行快
  5. 獨一無二(為開發人員提供自信,而不會由其他測試提供信息,與其他測試不相關)
  Roy Osherove補充道:好的測試有三個基本屬性:可維護、值得信賴、易於理解。
  Mike Hill的列表要更長:
  * 它會很短,通常只有十來行代碼。
  * 它不會測試運行程序內部的對象,但是會測試為了測試目的而構建的應用內部的對象。
  * 它只會調用很小的一部分代碼,通常是某個函數的某一分支。
  * 它是灰盒的形式編寫的。也就是說,它運作的方式像是黑盒,但是有時又會利用白盒的長處。(一般來說,這是避免組合問題的重要因素。)
  * 測試要符合生產代碼的編碼標准,比如,團隊目前對於優秀編碼的最佳看法。
  * 應用的眾多小測試構成了一個“提交關卡”。這就是說,開發人員可以在所有小測試通過的情況下提交代碼,否則(強烈建議、甚至不惜手段)阻止他們提交。
  * 測試應對接受測試的對象有完全的控制權,因此應是自包含的。也就是說,它不會依賴不屬於測試代碼及其依賴圖的任何其他對象。
  * 它的運行時間非常短。
  * 它會先於要測試的代碼變更之前編寫。
  * 通過一系列slip-and-fake技巧,它會避免使用所有“糟糕”的collaborator。
  * ……
  Mike和Ron Jeffries提醒我們:TDD的核心價值是要簡化設計、提升開發效率;代碼質量的提升和bug數量的減少是因此而帶來的重要好處。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com