天天看點

#yyds幹貨盤點# 單元測試

單元測試一直都是考試的熱點,近幾年在上午題中出現的頻率很高。在進行單元測試時,測試人員需要依據詳細設計說明書和源程式清單,了解該子產品的I/O條件和子產品的邏輯結構,主要采用白盒測試的測試用例,再加上黑盒測試的測試用例,使之對任何合理的輸入和不合理的輸入,都能鑒别和響應。考試主要從單元測試的概念、階段和内容開展,為此總結了如下知識點供大家學習。

概念:單元測試又稱子產品測試,是針對軟體設計的最小機關——程式子產品, 進行正确性檢驗的測試工作。其目的在于發現各子產品内部可能存在的各種差錯。單元測試需要從程式的内部結構出發設計測試用例。多個子產品可以平行地獨立進行單元測試。

階段:單元測試按照軟體測試在開發階段的劃分,排在第一個階段,後面是內建測試。

單元測試的内容:在單元測試中進行的測試工作需要在以下五個方面對所測子產品進行檢查。

①子產品接口測試:在單元測試的開始,應對通過所測子產品的資料流進行測試。如果資料不能正确地輸入和輸出,就談不上進行其他測試。為此,對子產品接口可能需要如下的測試項目:

(1)調用所測子產品時的輸入參數與子產品的形式參數在個數、屬性、順序上是否比對;

(2)所測子產品調用子子產品時,它輸入給子子產品的參數與子子產品中的形式參數在個數、屬性、順序上是否比對;

(3)是否修改了隻作輸入用的形式參數;

(4)輸出給标準函數的參數在個數、屬性、順序上是否正确;

(5)全局量的定義在各子產品中是否一緻;

(6)限制是否通過形式參數來傳送。

當子產品通過外部裝置進行輸入/輸出操作時,必須附加如下的測試項目:

(1)檔案屬性是否正确;

(2)OPEN語句與CLOSE語句是否正确;

(3)規定的I/O格式說明與I/O語句是否比對;

(4)緩沖區容量與記錄長度是否比對;

(5)在進行讀寫操作之前是否打開了檔案;

(6)在結束檔案處理時是否關閉了檔案;

(7)正文書寫/輸入錯誤,以及I/O錯誤是否檢查并做了處理。

②局部資料結構測試:子產品的局部資料結構是最常見的錯誤來源,應設計測試用例以檢查以下各種錯誤:

(1)不正确或不一緻的資料類型說明;

(2)使用尚未指派或尚未初始化的變量;

(3)錯誤的初始值或錯誤的預設值;

(4)變量名拼寫錯或書寫錯誤;

(5)不一緻的資料類型。

可能的話,除局部資料之外的全局資料對子產品的影響也需要查清。

③路徑測試:由于通常不可能做到窮舉測試,是以在單元測試期間要選擇适當的測試用例,對子產品中重要的執行路徑進行測試。應當設計測試用例查找由于錯誤的計算、不正确的比較或不正常的控制流而導緻的錯誤。對基本執行路徑和循環進行測試,可以發現大量的路徑錯誤。

常見的不正确計算有:

(1)運算的優先次序不正确或誤解了運算的優先次序;

(2)運算的方式錯,即運算的對象彼此在類型上不相容;

(3)算法錯;

(4)初始化不正确;

(5)運算精度不夠;

(6)表達式的符号表示不正确。

常見的比較和控制流錯誤有:

(1)不同資料類型的互相比較;

(2)不正确的邏輯運算符或優先次序;

(3)因浮點數運算精度問題而造成的兩值比較不等;

(4)關系表達式中不正确的變量和比較符;

(5) "差1”錯,即不正确地多循環一次或少循環一次;

(6)錯誤的或不可能的循環中止條件;

(7)當遇到發散的疊代時不能中止的循環;

(8)不适當地修改了循環變量等。

④錯誤處理測試:比較完善的子產品設計要求能預見出錯的條件,并設定适當的出錯處理,以便在一旦程式出錯時,能對出錯程式重做安排,保證其邏輯上的正确性。這種出錯處理也應當是子產品功能的一部分。若出現下列情況之一, 則表明子產品的錯誤處理功能包含有錯誤或缺陷:

(1)出錯的描述難以了解;

(2)出錯的描述不足以對錯誤定位,不足以确定出錯的原因;

(3)顯示的錯誤與實際的錯誤不符;

(4)對錯誤條件的處理不正确;

(5)在對錯誤進行處理之前,錯誤條件已經引起系統的幹預等。

繼續閱讀