1. 程式人生 > >軟體測試和軟體除錯的區別

軟體測試和軟體除錯的區別

最近替客戶寫論文,整理提綱的時候發現他們把軟體的測試和除錯的部分分開寫,雖然知道兩者有區別但是當時根本搞不清楚應該怎麼寫,網上找了些資料看了以後才有些概念,現在貼出來,以後可那能用的到.

1,軟體測試是找出軟體已經存在的錯誤,而除錯是定位錯誤,修改程式以修正錯誤.
2,軟體測試從一個已知的條件開始,有預知的結局 而除錯從未知的條件開始,其結局不可預知
3,軟體測試可以計劃,可以預先制定測試用例和過程,工作進度可以度量.而除錯不能計劃,進度不可度量.
4,除錯是在測試之後,在方法,思路,策略上都有所不同.
5,測試的對像可以是文件和程式碼 而除錯的對像只能是程式碼
6.除錯是隨機性的 由程式設計師完成 為了程式可執行
測試是有目的性的 由測試人員完成 為了程式可完成指定功能

軟體測試是為了發現錯誤而執行程式的過程。或者說,軟體測試是根據軟體開發各階段的規格說明和程式的內部結構而精心設計一批測試用例(即輸入資料及其預期的輸出結果),並利用這些測試用例去執行程式,以發現程式錯誤的過程。
   軟體測試與除錯在目的、
技術和方法等方面存在很大的區別,主要表現在如下方面:
  (1) 測試是為了發現軟體中存在的錯誤;除錯是為了證明軟體開發的正確性。
  (2) 測試以已知條件開始,使用預先定義的程式,且有預知的結果,不可預見的僅是程式是否通過測試;除錯一般是以不可知的內部條件開始,除統計性除錯外,結果是不可預見的。
  (3) 測試是有計劃的,需要進行測試設計;除錯是不受時間約束的。
  (4) 測試經歷發現錯誤、改正錯誤、重新測試的過程;除錯是一個推理的過程。
  (5) 測試的執行是有規程的;除錯的執行往往要求開發人員進行必要推理以至知覺的"飛躍"。
  (6) 測試經常是由獨立的測試組在不瞭解軟體設計的條件下完成的;除錯必須由瞭解詳細設計的開發人員完成。
  (7) 大多數測試的執行和設計可以由工具支援;調式時,開發人員能利用的工具主要是偵錯程式。

測試的目的是顯示存在錯誤,而除錯的目的是發現錯誤或導致程式失效的錯誤原因,並修改程式以修正錯誤。除錯是測試之後的活動。
測試和除錯在目標、方法和思路上都有所不同,如下:
1 、測試從一個已知的條件開始,使用預先定義的過程,有預知的結果。除錯從一個未知的條件開始,結束的過程不可預計。
2 、測試過程可以實現設計,進度可實現確定。除錯不能描述過程或持續時間。
3 、測試是顯示錯誤的行為。除錯是推理的過程。
4 、測試顯示開發人員的錯誤。除錯是開發人員為自己辯護。
5 、測試能預期和可控。除錯需要想象,經驗和思考。
6 、測試能在沒有詳細設計的情況下完成。沒有詳細設計的資訊除錯不可能進行。
7 、測試能由非開發人員進行。除錯必須由開發人員進行。