軟件測試和調試的區別
瀏覽量:9561
1.目的不同。
軟件測試的目的是發現錯誤,至于找出錯誤的原因和錯誤發生的地方不是測試的任務,而是調試的任務。軟件開發調試的目的是為了證明程序的正確,因此它必須不斷地排除錯誤。它們的出發點不一樣。前者是挑錯,是一種挑剔過程。
2.任務不同。
既然測試同于質量保證活動,因此它貫穿于整個開發過程。從需求分析開始,就要制訂測試計劃,軟件設計時要設計系統測試、集成測試用例,編碼階段要設計單元測試用例并進行單元測試,測試階段要進行集成測試、系統測試等,直到產品交付。只要有修改就有測試,產品交付后同樣。它是比較有規律的活動,有系統的方法、原則作指導。而調試是編碼活動的一部分,因此有編碼就有調試。它的任務主要就是排錯。調試的方法經常與使用的開發工具有關,例如:解釋型的軟件開發工具可以交互式調試,編譯型開發工具就很難較好地查錯。當然它有一些啟發式的方法,它是一種比較依賴開發人員經驗的話動。
3.指導原則和方法不同。
軟件測試是一種有規律的活動,有一系列軟件測試的原則。其中主要是制訂測試計劃,然后嚴格執行。其次是一種挑剔性行為、因此它不但要測試較件應該做的,還需要測試軟件不應該做的事情。調試所遵循的規律主要是一些啟發式規則,是一個推理過程。例如使用歸納法、演繹法、回溯法等。
4.操作者。
因為心理狀態是測試程序的障礙,所以執行測試的人一般不是開發人員,以測試更客觀、更有效,而調試人員一般都是開發人員。
5.操作環境、配置、工具不同。
調試在開發的編碼環境下進行。如果編碼使用解釋型語言,則可以進行人機交互式調試,設置斷點、單步調試等;如果編碼使用編譯型語言,也可以設置斷點、顯示調試變量值等。而測試是在測試環境下進行,直接運行開發完成的程序,可能不再需要一些開發時的驅動程序、動態鏈接庫等。使用不同的了具,環境配置也不同。例如嵌入式的軟件,開發時可以單獨在自己的環境下仿真調試,而油試時必須嵌入到主程序中和主程序一起運行。甚至調試和測試可以在不同的硬件和操作系統下進行。
本文由軟件開發提供:http://www.www.000217.com