自頂向下測試:是從程序的初始模塊開始測試。
(1)該方法會在早期發現頂層的錯誤。
(2)早期的程序框架可以進行演示
(3)需要開發樁模塊輔助測試。有些甚至需要多個樁模塊輔助,加大了樁模塊本來的錯誤影響。
(4)測試完一個上層模塊后,挑選哪個模塊作為下一個測試模塊,以及測試的順序沒有唯一的界定標准。
自底向上測試:是從程序的底層模塊開始測試。
(1)I/O操作可以提前測試,更好提交測試用例。
(2)測試后比較容易觀察輸出。
(3)需要開發驅動模塊。
(4)直到最后一個模塊提交,程序才能完整的系統測試。
兩種方法優缺點相反,沒有絕對的好壞。一般在測試過程中,都是跟開發的開發順序來選擇這兩種方法。我個人接觸到比較多的還是自底向上的測試方法。
最底層的模塊,不需要調用其他的模塊優先測試,先穩定底層模塊,等上層模塊提交測試后,更能定位BUG。