軟體測試的十大原則
原則是最重要的,方法應該在這個原則指導下進行。軟體測試的基本原則是站在使用者
的角度,對產品進行全面測試,儘早、儘可能多地發現 Bug, 並負責跟蹤和分析產品中的問
題,對不足之處提出質疑和改進意見。
零缺陷(Zero-Bug) 是一種理念,足夠好(Good-Enough)是測試的基本原則。在軟體測試過程中,應注意和遵循的具體原則,可以概括為十大項:
1. 所有測試的標準都是建立在使用者需求之上。
正如我們所知,軟體測試的目標就是驗證產品的一致性和確認產品是否滿足客戶的需求,所以測試人員要始終站在使用者的角度去看問題、去判斷軟體缺陷的影響,系統中最嚴重的錯誤是那些導致程式無法滿足使用者需求的缺陷。
2. 軟體測試必須基於 “ 質量第一 ” 的思想去開展各項工作
當時間和質量衝突時,時間要服從質量。質量的理念和文化(如零缺陷的“第一次就把事情做對”)同樣是軟體測試工作的基礎。
3. 事先定義好產品的質量標準。
有了質量標準,才能依據測試的結果對產品的質量進行正確的分析和評估,例如,進行效能測試前,應定義好產品效能的相關的各種指標。同樣,測試用例應確定預期輸出結果,如果無法確定測試結果,則無法進行校驗。
4. 軟體專案一啟動,軟體測試也就是開始,而不是等程式寫完,才開始進行測試。
在程式碼完成之前,測試人員要參與需求分析、系統或程式設計的審查工作,而且要準備測試計劃、測試用例、測試指令碼和測試環境,測試計劃可以在需求模型一完成就開始,詳細的測試用例定義可以在設計模型被確定後開始。應當把“儘早和不斷地測試”作為測試人員的座右銘。
5. 窮舉測試是不可能的。
甚至一個大小適度的程式,其路徑排列的數量也非常大,因此,在測試中不可能執行路徑的每一種組合,然而,充分覆蓋程式邏輯,並確保程式設計中使用的所有條件是有可能的。
6. 第三方進行測試會更客觀,更有效。
程式設計師應避免測試自己的程式,為達到最佳的效果,應由第三方來進行測試。測試是帶有 ”挑剔性” 的行為,心理狀態是測試自己程式的障礙。同時對於需求規格說明的理解產生的錯誤也很難在程式設計師本人測試時被發現。
7. 軟體測試計劃是做好軟體測試工作的前提。
所以在進行實際測試之前,應制定良好的、切實可行的測試計劃並嚴格執行,特別要確定測試策略和測試目標。
8. 測試用例是設計出來的,不是寫出來的
所以要根據測試的目的,採用相應的方法去設計測試用例,從而提高測試的效率,更多地發現錯誤,提高程式的可靠性。除了檢查程式是否做了應該做的事,還要看程式是否做了不該做的事;不僅應選用合理的輸入資料,對於非法的輸入也要設計測試用例進行測試。
9. 不可將測試用例置之度外,排除隨意性。
特別是對於做了修改之後的程式進行重新測試時,如不嚴格執行測試用例,將有可能忽略由修改錯誤而引起的大量的新錯誤。所以,迴歸測試的關聯性也應引起充分的注意,有相當一部分最終發現的錯誤是在早期測試結果中遺漏的。
10. 對發現錯誤較多的程式段,應進行更深入的測試。
一般來說,一段程式中已發現的錯誤數越多,其中存在的錯誤概率也就越大。錯誤集中發生的現象,可能和程式設計師的程式設計水平和習慣有很大的關係。