1、無法對程序進行完全測試
(1)測試所需要的輸入量太大
(2)測試的輸出結果太多
(3)軟件實現的途徑太多
(4)軟件規格說明沒有一個客觀標準
2、測試無法顯示潛在的軟件缺陷和故障
——通過軟件測試只能報告軟件已被發現的缺陷和故障,無法報告隱藏的軟件故障。
3、存在的故障現象與發現的故障數量成正比
——結論:應當對故障集中的程序段進行重點測試
4、不能修復所有的軟件故障
——原因:沒有足夠的進行修復;修復的風險較大; 不值得修復;可不算做故障的一些缺陷;“殺蟲劑現象”。
——結論:關鍵是要進行正確的判斷、合理的取舍,根據風險分析決定哪些故障必須修復,哪些故障可以不修復。
5、軟件測試的代價
——工作原則:就是如何將無邊無際的可能性減小到一個可以控制的范圍,以及如何針對軟件風險做出恰當選擇,去粗存精,找到最佳的測試量,使得測試工作量不多也不少,既能達到測試的目的,又能較為經濟。
原文轉自:http://www.anti-gravitydesign.com