測試
- 測試的正向思維(確認測試) 向開發人員和客戶展示軟件滿足其需求
- 測試的逆向思維(缺陷測試)找出可能導致軟件行為不正確原因。
- 測試是更廣闊的軟件確認和驗證( Verification and Validation; V & V)過程的一部分。驗證和確認并不相同,雖然它們經常被混淆。軟件工程先驅之一Barry Boehm簡潔地將二者之間的區別表達為(Boehm 1979 ):
- 確認(verification):我們在以正確的方式構造產品嗎?
- 驗證 (validation):我們在構造正確的產品嗎?
動態測試的應用
- 白盒測試
- 黑盒(灰盒)測試
白盒測試方法
主要要邏輯驅動法和基本路徑法。
- 語句覆蓋。
- 判定覆蓋。
- 條件覆蓋。
- 判定/條件覆蓋。
- 條件組合覆蓋。
- 路徑覆蓋。
- 循環覆蓋。
黑盒測試常用方法(牢記)
運行單元程序有時需要基于被測單元的接口,開發相應的驅動模塊和樁模塊(根)。
有些參考書誤導:單元測試采用白盒測試技術,由開發人員完成。
- 驅動模塊(drive):對底層或子層模塊進行測試所編寫的調用這些模塊的程序。
- 樁模塊(stub):對頂層或上層模塊進行測試時所編寫的替代下層模塊的程序。
- 等價類劃分法
- 邊界值分析法 三種數據:
- 錯誤推測法 – 正常數據
- 因果圖法 – 錯誤數據
- 功能圖法 – 邊緣數據
另外還得考慮接口測試、性能測試、內存測試
- 性能分析
- 內存分析