1. 程式人生 > >4.1 測試技術分類

4.1 測試技術分類

本節討論的這些測試技術的目的是幫助識別測試條件、測試用例和測試資料。 4.1.1 選擇測試技術 選擇使用何種測試技術取決於多種因素,包括: • 元件或系統的型別 • 元件或系統的複雜性 • 法規標準 • 客戶或合同需求 • 風險級別 • 風險型別 • 測試目標 • 文件可用性 • 測試人員的知識和技能 • 工具可用性 • 時間和預算 • 軟體開發生命週期模型 • 軟體的預期使用 • 被測元件或系統上使用測試技術的以前經驗 • 元件或系統中預期的缺陷型別 有些技術更適用於特定場景和測試級別;而有些則適用於所有測試級別。建立測試用例時,測試人員通常使用測試技術的組合以實現測試工作的最佳結果。 在測試分析、測試設計和測試實現活動中使用測試技術可以從非常不正式(很少或沒有文件)到非常正式。正式程度取決於測試的上下文,包括測試和開發過程的成熟度、時間限制、安全或監管要求、參與人員的知識和技能,以及所遵循的軟體開發生命週期模型。 4.1.2 測試技術分類和特性 本大綱中將測試技術分類為黑盒、白盒,或基於經驗的。 黑盒測試技術(又稱行為或基於行為的技術)基於對適當的測試依據的分析(例如正式的需求文件、規格說明、用例、使用者故事或業務流程)。這些技術既適用於功能測試,也適用於非功能測試。黑盒測試技術關注在測試物件的輸入和輸出上,而沒有參考其內部結構。 白盒測試技術(又稱結構或基於結構的技術)基於對測試物件的架構、詳細設計、內部結構或程式碼的分析。與黑盒測試技術不同,白盒測試技術關注在測試物件的內部結構和處理。 基於經驗的測試技術利用開發人員、測試人員和使用者的經驗來設計、實現和執行測試。這些技術通常與黑盒和白盒測試技術結合在一起。 黑盒測試技術的共同特點包括: • 測試條件、測試用例和測試資料來自測試依據,其中可能包括軟體需求、規格說明、用例和使用者故事 • 測試用例可用來發現需求與需求實現之間的差距,以及與需求之間的偏離情況 • 覆蓋率的度量基於測試依據中被測試的條目和應用於測試依據的技術 白盒測試技術的共同特點包括: • 測試條件、測試用例和測試資料來自測試依據,其中可能包括程式碼、軟體架構、詳細設計或任何其他有關軟體結構的資訊來源 • 覆蓋率的度量基於選定結構(例如程式碼或介面)內被測試的條目 • 規格說明常常被用作額外的資訊來源,以確定測試用例的預期結果 基於經驗的測試技術的共同特點包括: • 測試條件、測試用例和測試資料來自測試依據,其中可能包括測試人員、開發人員、使用者和其他利益相關者的知識和經驗 國際標準(ISO/IEC/IEEE 29119-4)包含了測試技術及其相應覆蓋率度量的說明(技術詳情見Craig 2002年和Copeland 2004)。