軟體測試中常用的幾種錯誤修正技術

來源:互聯網
上載者:User

錯誤修正先要查錯。查錯的工作量通常占整個錯誤修正的十分之九以上。所謂錯誤修正的技術,主要是指查明程式錯誤時可能採用的工具和手段。這些手段如果運用得當,就能明顯的提高查錯的效率。

1、插入列印語句

在程式中插入暫時性的列印語句,是一種十分常見的查錯技術。這類列印語句的作用主要是顯示程式的中間結果或有關變數的內容。插入列印適用於任何進階語言書寫的程式。但其輸出與程式的原輸出夾雜在一起,需要注意分辯。此外,錯誤修正結束後必須記住將它們刪除。

2、設定斷點

查錯的基本技術之一,就是在程式的可疑區設定斷點。每當程式執行到設定的斷點時,就會暫停執行,以便錯誤修正者觀察變數內容和剖析器的健全狀態。

3、掩蔽部分程式

對可疑程式進行檢查時,常常要讓程式反覆執行。如果整個程式較長,可疑區僅占其中的一小部分,則每次運行整個程式,必將浪費許多時間和精力。在這種情況下,明智的作法是把不需要檢查的程式掩蔽起來,只讓可疑的部分程式反覆運行。

掩蔽無關程式可使用下述方法:

(1)在要掩蔽的語句行加上注釋符,使解釋或編譯器把它們當作注釋行,不予處理。

(2)把要掩蔽的程式段置入一個“常假”的選擇結構中,使它總沒有機會執行。

(3)用GOTO語句跳越要掩蔽的程式段

無論使用哪一種掩蔽方法,錯誤修正結束後都應撤銷掩蔽,使程式複原。

4、蠻力錯誤修正技術(Dubugging by Brute Force)

某些系統或偵錯工具能提供一種“轉儲”命令(DUMP),用來列印出記憶體可疑區或輸出檔案的全部內容,供錯誤修正者分析使用。這種作法的優點是資訊齊全,只要有耐心,總可以找出問題。

但輸出的資料量大,從中尋找錯誤的跡象好比大海撈針,效率很低。如果說前3種技術都重視分析與錯誤有關的資訊,DUMP命令卻不論資料與錯誤有無關聯,一律拿出來“曝光”。所以有些文獻稱之為蠻力錯誤修正,僅在程式很小或其他錯誤修正手段未能奏效時才使用這種方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.