A. 軟體測試和調試的區別是什麼
我自己是這樣記得,跟你分享一下,不要笑啊:
軟體測試:發現錯誤(發現自己生病內了)
軟體容調試:診斷並改正錯誤(去看醫生)
->錯誤定位(醫生診斷是胃有病)
->糾正錯誤(醫生說要打針)
->回歸測試(醫生說還要復診)
B. 軟體測試技術中測試與調試的概念及區別
1,軟體測試是找出軟體已經存在的錯誤,而調試是定位錯誤,修改程序以修正錯誤.
2,軟體測試從一個已知的條件開始,有預知的結局 而調試從未知的條件開始,其結局不可預知
3,軟體測試可以計劃,可以預先制定測試用例和過程,工作進度可以度量.而調試不能計劃,進度不可度量.
4,調試是在測試之後,在方法,思路,策略上都有所不同.
5,測試的對像可以是文檔和代碼 而調試的對像只能是代碼
6.調試是隨機性的 由程序員完成 為了程序可運行
測試是有目的性的 由測試人員完成 為了程序可完成指定功能
軟體測試是為了發現錯誤而執行程序的過程。或者說,軟體測試是根據軟體開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),並利用這些測試用例去運行程序,以發現程序錯誤的過程。
軟體測試與調試在目的、技術和方法等方面存在很大的區別,主要表現在如下方面:
(1) 測試是為了發現軟體中存在的錯誤;調試是為了證明軟體開發的正確性。
(2) 測試以已知條件開始,使用預先定義的程序,且有預知的結果,不可預見的僅是程序是否通過測試;調試一般是以不可知的內部條件開始,除統計性調試外,結果是不可預見的。
(3) 測試是有計劃的,需要進行測試設計;調試是不受時間約束的。
(4) 測試經歷發現錯誤、改正錯誤、重新測試的過程;調試是一個推理的過程。
(5) 測試的執行是有規程的;調試的執行往往要求開發人員進行必要推理以至知覺的"飛躍"。
(6) 測試經常是由獨立的測試組在不了解軟體設計的條件下完成的;調試必須由了解詳細設計的開發人員完成。
(7) 大多數測試的執行和設計可以由工具支持;調式時,開發人員能利用的工具主要是調試器。
測試的目的是顯示存在錯誤,而調試的目的是發現錯誤或導致程序失效的錯誤原因,並修改程序以修正錯誤。調試是測試之後的活動。
測試和調試在目標、方法和思路上都有所不同,如下:
1 、測試從一個已知的條件開始,使用預先定義的過程,有預知的結果。調試從一個未知的條件開始,結束的過程不可預計。
2 、測試過程可以實現設計,進度可實現確定。調試不能描述過程或持續時間。
3 、測試是顯示錯誤的行為。調試是推理的過程。
4 、測試顯示開發人員的錯誤。調試是開發人員為自己辯護。
5 、測試能預期和可控。調試需要想像,經驗和思考。
6 、測試能在沒有詳細設計的情況下完成。沒有詳細設計的信息調試不可能進行。
7 、測試能由非開發人員進行。調試必須由開發人員進行。