1. 程式人生 > >增量測試:自頂向下測試&自底向上測試

增量測試:自頂向下測試&自底向上測試

本部落格主要內容:
自頂向下測試和自底向上測試的優缺點;
軟體開發週期流程;
不同的測試方法針對不同的測試階段

一、
自頂向下測試:
優點:
1、如果主要的缺陷發生在程式的頂層將非常有利
2、一旦引入I/O功能,提交測試或更容易
3、早期的程式框架可以進行演示,並可激發積極性
缺點:
1、必須開發樁模組
2、樁模組要比最初表現的更復雜
3、在引入I/O功能之前,向樁模組中引入測試用例比較困難
4、建立測試環境可能很困難,甚至無法實現
5、觀察測試輸出很困難
6、使人誤解設計和測試可以交迭進行
7、會導致特定模組測試的完成延後

自底向上測試
1、如果主要的缺陷發生在程式的底層將非常有利
2、測試環境比較容易建立
3、觀察測試輸出比較容易
缺點:
1、必須開發驅動模組
2、直到最後一個模組新增進去,程式從才形成一個整體

執行測試:
當測試用例造成模組輸出的實際結果與預期結果不匹配的情況時,可能存在:要麼該模組存在錯誤,要麼預期結不正確(測試用例不正確)。為了將這種混亂降低到最小程度,應在測試執行之前對測試用例集進行稽核或檢查(即對測試用例進行測試)。

二、
軟體開發週期,過程的流程:
1、將軟體終端使用者的要求轉換為一系列書面的需求。
2、通過評估可行性與成本、消除相抵觸的使用者需求、建立優先順序和平衡關係,將使用者需求轉換為具體目標。
3、將目標轉換為一個準確的 產品規格說明,將產品視為一個黑盒,僅考慮介面以及與終端使用者的互動。“外部規格說明”
4、如果該產品是一個系統,如作業系統、飛行空盒子系統等,而不僅僅是一個程式(編譯器、公子程式、字處理 程式等),那麼下一個步驟就是程式設計。該步驟將系統分割為單獨的程式,部件或者子系統,並定義它們的介面。
5、通過定義每個模組的功能、模組的層次結構以及模組之間的介面,來設計程式或程式集合的結構。
6、設計一份準確的規格說明,定義每個模組的介面與功能。
7、經過一個或者更多的子步驟,將模組介面規格說明轉換為每個模組的原始碼演算法。

point:
{
需求規格定義了為什麼要開發程式
目標定義了程式要做什麼,以及做的怎麼樣
外部規格說明定義了程式對使用者的準確表現
與後續階段相關的文件越來越詳細地規定了程式是如何建立起來的。
}

終端使用者–>需求–>目標–>外部規格說明–>系統設計–>程式結構設計–>模組介面規格說明–>程式碼

三、
對不同的開發階段採用不同的測試方法:
模組測試的目的是發現程式模組規格說明之間的不一致
功能測試是為了證明程式未能符合其外部規格說明
系統測試的目的是為了證明軟體產品與其初始目標不一致
這種結構的好處是避免了沒有效果的多餘測試,並使我們不會遺漏大量的錯誤型別。