軟體測試中常用的幾種糾錯技術

2021-05-21 17:28:53 字數 909 閱讀 3413

軟體測試中常用的幾種糾錯技術 

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

1、插入列印語句

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

2、設定斷點

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

3、掩蔽部分程式

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

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

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

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

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

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

4、蠻力糾錯技術(dubugging by brute force)

某些系統或除錯程式能提供一種「轉儲」命令(dump),用來列印出記憶體可疑區或輸出檔案的全部內容,供糾錯者分析使用。這種作法的優點是資訊齊全,只要有耐心,總可以找出問題。但輸出的資料量大,從中尋找錯誤的跡象好比大海撈針,效率很低。如果說前3種技術都重視分析與錯誤有關的資訊,dump命令卻不論資料與錯誤有無關聯,一律拿出來「**」。所以有些文獻稱之為蠻力糾錯,僅在程式很小或其他糾錯手段未能奏效時才使用這種方法。

NAND Flash中常用的糾錯方式

hanming,rs,bch nand flash中常用的糾錯方式 因為快閃儲存器中會有出錯的可能,如果沒有使用ecc模組,讀出的資料和寫入的資料會有不匹配的可能,也許乙個檔案中只有一兩個bit不匹配,這也是不能容忍的。相對來說slc中出錯概率比較低,所以使用乙個糾錯能力不強的hanming碼就可以...

網路中常用的幾種矩陣

網路中常用的幾種矩陣 1.度矩陣 2.相鄰矩陣 3.拉普拉斯矩陣 給定乙個有n個頂點的圖g,它的拉普拉斯矩陣 定義為 l d a 其中d為圖的度矩陣,a為圖的 鄰接矩陣。度矩陣在有向圖中,只需要考慮出度或者入度中的乙個。經過計算可以得 1 若i j,則 為頂點 的度。2 若i j,但頂點 和頂點 相...

Spring 中常用的幾種註解

spring 2.5 中除了提供 component 注釋外,還定義了幾個擁有特殊語義的注釋,它們分別是 repository service 和 controller。在目前的 spring 版本中,這 3 個注釋和 component 是等效的,但是從注釋類的命名上,很容易看出這 3 個注釋分別...