2007年10月24日 星期三

F16 Unit Test(2)──測試Class

Class是系統組成的最小單位,因而同樣也是單元測試的最小單位。設計時讓每個Class都各如其分地負責自己的工作,測試時則確保每個Class都能正常運作,這麼一來採用這個Class組成的大小組件就不會出現基本層面的問題。

一個Class會有一個對應的測試類別,生成的同時應針對public、package與protected的方法產生對應的測試方法,每個測試方法裡依設計規格產生輸入用的資料後,呼叫該方法並驗證傳回值是否正常或是否如預期般拋出例外。public的方法是必測的,package與protected的方法如果可以測試會更理想,然而因為後兩者在包裝層次與元件時可由外部測試來涵蓋相當大的部分,要是時間不夠的時候略過也無妨。

能夠針對規格裡提到的所有狀況都寫出一段測試程式是最理想的,因為測試涵蓋度越大就越不容易有問題,不過測試時大多都只會挑選一些重要的規格,省略測試功能的結果就是有可能讓小問題在未來因為相互影響而成為更大的問題。

註:測試Class的範圍包含static APIs但不包含Abstract Class。

沒有留言:

張貼留言