軟件測試發展 40 多年長期實踐總結歸納出基本的測試原理與測試特性準則,被業界普遍接受和遵循。對測試設計、執行和管理均具有工程指導意義
軟件測試
     原理 1: 測試可以證明缺陷存在,但不能證明缺陷不存在  測試可證明軟件產品是失敗的,即說明軟件中有缺陷但測試不能證明軟件中沒有缺陷。
     原理 2: 窮盡測試是不可能的測試若考慮所有可能的輸入值及其組合,并結合所有前置條件窮盡測試是不可能的。實際測試過程中必須根據風險和優先級,控制測試工作量。
     原理 3: 測試活動應盡早開始在軟件生命周期中,測試活動應盡早實施,并聚焦于定義的目標上,盡早發現缺陷。
     原理 4: 缺陷集群性通常情況下,缺陷并非平均而是集群分布,大多數的缺陷只存在于測試對象的小部分中。所謂的缺陷集群性,即‘8/2 現象’
     原理 5: 殺蟲劑悖論若同樣的測試用例被一再重復執行, 則會減少測試的有效性。先前沒有發現的缺陷反復使用同樣的測試用例也不會被重新發現。戰勝這種“抗藥性”,應對測試用例進行修正或更新,從而發現更多的缺陷。
軟件測試
     原理 6: 測試依賴于測試內容測試必須與應用系統運行環境及使用中固有風險相適應。沒有兩個系統可以完全相同的方式進行測試。對于每個軟件系統,測試出口準則等應依據其使用的環境分別量體定制
     原理 7: 沒有失效就是有用的系統是一種謬論測試找到 Bug、 并修正缺陷,并非保證整個系統達到用戶預期要求