軟件測試的目的即是儘可能發現軟件中的缺陷;軟件缺陷可以定義爲軟件實現的遺漏(用戶需求實現遺漏)、錯誤(與有用戶需求不符)、多餘(額外的實現)。
80%的錯誤集中在20%的代碼中----經驗有理。。。
1、測試分類
黑盒測試,不關注內部實現邏輯,把所有實現看成一個黑盒子,只關注輸入和輸出,具體包括:
功能測試、性能測試、可用性、可靠性、安全性、可服務性。
白盒測試,針對程序內部實現邏輯進行測試
程序插裝,在程序中插了打印、斷言打出要求測試的內容。
域測試
符號測試
2、測試方法
黑盒
a. 功能測試
等價類劃分
邊界值
錯誤推斷
因果圖
判定表
正交分析
b. 性能測試
指標:吞吐量ThroughOut、延遲Latency、丟包率Frame Lost Rate等
白盒
a. 邏輯覆蓋
語句覆蓋
判定覆蓋
條件覆蓋
判定-條件覆蓋
路徑覆蓋
b. 程序結構分析
控制流、數據流、信息流
參考
1. RFC2544