為了能設計出有效的測試方案,軟件工程師必須充分理解并正確運用指導軟件測試的基本準則。主要的測試準則如下所述。
·所有的測試都應該能追溯到用戶需求。正如前面講過的,軟件測試的目標是發現錯誤。從用戶角度看,最嚴重的錯誤是導致程序不能滿足用戶需求的那些錯誤。
·應該在測試開始之前的相當長時間,就制定出測試計劃。一旦完成了需求模型就可以著手制定測試計劃,在確定了設汁模型之后就可以立即開始設計詳細的測試方案。因此,在編碼之前就可以對所有測試工作進行計劃和設計。
.把Parete.原理應用于軟件測試。Pan,to原理告訴我們,測試發現的錯誤中的80%很町能是由程序中20%的模塊造成的。當然,問題是怎樣找出這些可疑的模塊并徹底地測試它們。
.測試應該從“小規?!遍_始,并逐步進行“大規?!睖y試。通常,首先重點測試單個程序模塊,進一步的測試重點轉向在集成的模塊簇中尋找錯誤,最后在整個系統中尋找錯誤。
.窮舉測試是不可能的。所謂窮舉測試就是把程序所有可能的執行路徑都檢查遍的測試。即使是.個中等規模的程序,其路徑排列數也是非常大的,由于受時間、人力和資源的限制,在測試過程中不可能執行路徑的每一種組合。這就表明,測試只能證明程序中有錯誤,不能證明程序中沒有錯誤。但是,通過精心設計測試方案,有可能充分覆蓋程序邏輯并確保把過程設計中使用的所有條件都檢查一遍。
·為了達到最佳的測試效果,應該由獨立的第三方來從事測試工作。所謂“最佳效果”是指具有最大可能性發現錯誤的測試(這是測試的基本目標)。由于前面已經講過的原因,創建軟件系統的軟件工程師并不是完成全部軟件測試工作的最佳人選(通常他們主要承擔模塊測試工作)。
原文轉自:http://www.anti-gravitydesign.com