排錯的基本方法 軟件測試
排錯(即調試)與成功的測試形影相隨。測試成功的標志是發現了錯誤。根據錯誤跡象確定錯誤的原因和準確位置,并加以改正的主要依靠排錯技術。
1. 排錯過程
如下圖所示,排錯過程開始于一個測試用例的執行,若測試結果與期望結果有出入,即出現了錯誤征兆,排錯過程首先要找出錯誤原因,然后對錯誤進行修正。因此排錯過程有兩種可能,一是找到了錯誤原因并糾正了錯誤,另一種可能是錯誤原因不明,排錯人員只得做某種推測,然后再設計測試用例證實這種推測,若一次推測失敗,再做第二次推測,直到發現并糾正了錯誤。

排錯是一個相當艱苦的過程,究其原因除了開發人員心理方面的障礙外,還因為隱藏在程序中的錯誤具有下列特殊的性質:
(1) 錯誤的外部征兆遠離引起錯誤的內部原因,對于高度耦合的程序結構此類現象更為嚴重;
(2) 糾正一個錯誤造成了另一錯誤現象(暫時)的消失;
(3) 某些錯誤征兆只是假象;
(4) 因操作人員一時疏忽造成的某些錯誤征兆不易追蹤;
(5) 錯誤是由于風時而不是程序引起的;
(6) 輸入條件難以精確地再構造(例如,某些實時應用的輸入次序不確定);
(7) 錯誤征兆時有時無,此現象對嵌入式系統尤其普遍;
(8) 錯誤是由于把任務分布在若干臺不同處理機上運行而造成的。
在軟件排錯過程中,可能遇到大大小小、形形色色的問題,隨著問題的增多,排錯人員的壓力也隨之增大,過分地緊張致使開發人員在排除一個問題的同時又引入更多的新問題。
盡管排錯不是一門好學的技術(有時人們更愿意稱之為藝術),但還是有若干行之有效的方法和策略,下面介紹幾種排錯方法。
2. 排錯方法
無論采用哪種排錯方法,目標只有一個,即發現并排除引起錯誤的原因,這要求排錯人員能把直觀想象與系統評估很好的結合起來。
常用的排錯策略分為三類:
、 原始類(brute force)
文章來源于領測軟件測試網 http://www.kjueaiud.com/