由于單元測試要寫測試驅動程序,非常麻煩,能否等到整個系統全部開發完后,再集中精力進行一次性地單元測試呢?
如果這樣做,在開發過程中,缺陷會越積越多并且分布得更廣、隱藏得更深,反而導致測試與改錯的代價大大增加。最糟糕的是無法估計測試與改錯的工作量,使進度失去控制。因此為圖眼前省事而省略單元測試或者“偷工減料”,是“得不償失”的做法。
如果每個單元都通過了測試,把它們集成一起難道會有什么不妥嗎?集成測試是否多此一舉?
要把N個單元集成一起肯定靠接口耦合,這時可能會產生在單元測試中無法發現的問題。例如:數據通過不同的接口時可能出錯;幾個函數關聯在一起時可能達不到預期的功能;在某個單元里可以接受的誤差可能在集成后被擴大到無法接受的程度。所以集成測試是必要的,不是多此一舉。