軟件測試的概念和定義:
1972年,軟件測試領域的先驅Bill Hetzel博士(代表論著《The Complete Guide to Software Testing》),提出了對軟件測試的定義:“就是建立一種信心,認為程序能夠按預期的設想運行。Establish confidence that a program does what it is supposed to do. ” 為表明軟件正確而進行測試
1979年Glenford J. Myers(代表論著《The Art of Software Testing》)提出了對軟件測試的定義:“測試是為發現錯誤而執行的一個程序或者系統的過程。The process of executing a program or system with the intent of finding errors.” 測試的目的是尋找錯誤,並且是盡最大可能找出最多的錯誤。 Myers還給出了與測試相關的三個重要觀點,那就是:
1、 測試是為了證明程序有錯,而不是證明程序無錯誤;
2、 一個好的測試用例是在於它能發現至今未發現的錯誤;
3、 一個成功的測試是發現了至今未發現的錯誤的測試;
- 軟件測試的成熟度:
Phase 2 :測試的目的是為了表明軟件不能夠能夠正常工作
Phase 3 :測試的目的不是要證明什么,而是為了把軟件不能正常工作的預知風險降低到能夠接受的程度
Phase 4 : 測試不是行為,而是一種自覺的約束 (mental discipline) ,不用太多的測試投入產生低風險的軟件上的 。
V模型:改進軟件開發的效率和效果。
W模型:測試是伴隨着整個軟件開發周期。而且測試的對象不僅僅是程序,需求、設計等同樣要測試,也就是說,測試與開發是同步進行的。W模型有利於盡早地全面的發現問題。例如,需求分析完成后,測試人員就應該參與到對需求的驗證和確認活動中,以盡早地找出缺陷所在。同時,對需求的測試也有利於及時了解項目難度和測試風險,及早制定應對措施,這將顯著減少總體測試時間,加快項目進度。
總結:
V模型的局限性是把測試作為編碼之后的一個階段,是針對程序而尋找錯誤的活動,,而忽視了測試活動對需求分析,系統設計等活動的驗證和確認的功能。
W模型的局限性是在W模型中,需求、設計、編碼等活動被視為串行的,同時,測試和開發活動也保持着一種線性的前后關系,上一階段完全結束,才可正式開始下一個階段工作。
軟件測試的起源與發展這篇文章來源於 51testing博客,作者是 袁琳 網址鏈接是:http://www.51testing.com/html/87/n-6987.html