融合軟件調(diào)試教程 什么是軟件調(diào)試?
什么是軟件調(diào)試?所謂程序調(diào)試,就是在程序投入實際運行之前,通過人工或編譯的方法糾正語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統(tǒng)正確性的必要步驟。計算機程序編制完成后,必須送計算機進行測試。程序調(diào)試
什么是軟件調(diào)試?
所謂程序調(diào)試,就是在程序投入實際運行之前,通過人工或編譯的方法糾正語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統(tǒng)正確性的必要步驟。計算機程序編制完成后,必須送計算機進行測試。程序調(diào)試分為以下幾個步驟:第一步是將編譯好的源程序按一定的編寫格式發(fā)送給計算機,編輯程序會根據(jù)用戶的意圖對源程序進行添加、刪除或修改。第二步是把輸入的源程序翻譯成機器語言,即用編譯器檢查源程序的語法,把符合語法規(guī)則的源程序語句翻譯成計算機能識別的“語言”。如果在編譯器中發(fā)現(xiàn)語法錯誤,則必須使用編輯器修改源程序中的語法錯誤,然后進行編譯,直到?jīng)]有語法錯誤為止。第三步是使用計算機中的連接程序來連接已翻譯的計算機語言程序,并培養(yǎng)計算機真正能夠運行的程序。在連接過程中,一般不會出現(xiàn)連接錯誤。如果出現(xiàn)連接錯誤,說明源程序中存在一些問題,如子程序調(diào)用混亂或參數(shù)傳遞錯誤。這時,我們需要用編輯器修改源程序,然后編譯連接,這樣反復,直到?jīng)]有連接錯誤為止。第四步是測試修改后的程序。此時,可以假設幾個模擬數(shù)據(jù)進行試運行,并將輸出結(jié)果與人工處理的正確結(jié)果進行比較。如果存在差異,則表明計算機程序中存在邏輯錯誤。如果程序不大,可以用人工方法模擬計算機修改源程序的數(shù)據(jù);如果程序較大,人工模擬明顯不起作用,此時只能將計算機設置為單步執(zhí)行模式,對程序進行逐步跟蹤。一旦發(fā)現(xiàn)問題,仍然需要使用編輯器修改源程序,然后仍然需要編譯、連接和執(zhí)行,直到?jīng)]有邏輯錯誤為止。
什么是軟件調(diào)試?
軟件測試是執(zhí)行程序以發(fā)現(xiàn)錯誤的過程。也就是說,軟件測試是根據(jù)軟件開發(fā)各個階段的規(guī)范和程序的內(nèi)部結(jié)構(gòu),精心設計一批測試用例(即輸入數(shù)據(jù)和預期輸出結(jié)果),并利用這些測試用例運行程序以發(fā)現(xiàn)程序錯誤的過程。(1) 測試是發(fā)現(xiàn)軟件中的錯誤;調(diào)試是證明軟件開發(fā)的正確性。(2) 測試從已知條件開始,使用預定義的程序,并具有可預測的結(jié)果。不可預知的是程序是否通過了測試。調(diào)試通常從未知的內(nèi)部條件開始,除了統(tǒng)計調(diào)試之外,結(jié)果是不可預測的。(3) 測試是有計劃的,需要測試設計;調(diào)試不受時間限制。(4) 測試經(jīng)歷了發(fā)現(xiàn)錯誤、糾正錯誤和重新測試的過程;調(diào)試是一個推理過程,必須在整個開發(fā)過程中進行調(diào)試。(5) 測試的執(zhí)行是有規(guī)律的;調(diào)試的執(zhí)行往往需要開發(fā)人員進行必要的推理,甚至是感性的“跳躍”。(6) 測試通常由一個獨立的測試團隊在不了解軟件設計的情況下完成;調(diào)試必須由了解詳細設計的開發(fā)人員完成。