單元測(cè)試是代碼正確性驗(yàn)證的最重要的工具,也是系統(tǒng)測(cè)試當(dāng)中最重要的環(huán)節(jié)。也是唯一需要編寫(xiě)代碼才能進(jìn)行測(cè)試的一種測(cè)試方法。在標(biāo)準(zhǔn)的開(kāi)發(fā)過(guò)程中,單元測(cè)試的代碼與實(shí)際程序的代碼具有同等的重要性。 每一個(gè)單元測(cè)試,都是用來(lái)定向測(cè)試其所對(duì)應(yīng)的一個(gè)單元的數(shù)據(jù)是否正確。
一、單元測(cè)試具有一下幾個(gè)好處
1、能夠協(xié)助程序員盡快找到BUG的具體位置
2、能夠讓程序員對(duì)自己的程序更有自信
3、能夠讓程序員在提交項(xiàng)目之前就將代買(mǎi)變得更加健壯
4、能夠協(xié)助程序員更好的進(jìn)行開(kāi)發(fā)
5、能夠向其他程序員展現(xiàn)你的程序該如何調(diào)用
二、單元測(cè)試任務(wù)包括:模塊接口測(cè)試
模塊接口測(cè)試是單元測(cè)試的基礎(chǔ)。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測(cè)試才有意義。模塊接口測(cè)試也是集成測(cè)試的重點(diǎn),這里進(jìn)行的測(cè)試主要是為后面打好基礎(chǔ)。測(cè)試接口正確與否應(yīng)該考慮下列因素:-輸入的實(shí)際參數(shù)與形式參數(shù)的個(gè)數(shù)是否相同;-輸入的實(shí)際參數(shù)與形式參數(shù)的屬性是否匹配;-輸入的實(shí)際參數(shù)與形式參數(shù)的量綱是否一致;-調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的個(gè)數(shù)是否與被調(diào)模塊的形參個(gè)數(shù)相同;-調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配;-調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;-調(diào)用預(yù)定義函數(shù)時(shí)所用參數(shù)的個(gè)數(shù)、屬性和次序是否正確;-是否存在與當(dāng)前入口點(diǎn)無(wú)關(guān)的參數(shù)引用;-是否修改了只讀型參數(shù);-對(duì)全程變量的定義各模塊是否一致;-是否把某些約束作為參數(shù)傳遞。如果模塊功能包括外部輸入輸出,還應(yīng)該考慮下列因素:-文件屬性是否正確;-OPEN/CLOSE語(yǔ)句是否正確;-格式說(shuō)明與輸入輸出語(yǔ)句是否匹配;-緩沖區(qū)大小與記錄長(zhǎng)度是否匹配;-文件使用前是否已經(jīng)打開(kāi);-是否處理了文件尾;-是否處理了輸入/輸出錯(cuò)誤;-輸出信息中是否有文字性錯(cuò)誤。-局部數(shù)據(jù)結(jié)構(gòu)測(cè)試;-邊界條件測(cè)試;-模塊中所有獨(dú)立執(zhí)行通路測(cè)試;
測(cè)試接口正確與否應(yīng)該考慮下列因素
(1)、輸入的實(shí)際參數(shù)與形式參數(shù)的個(gè)數(shù)是否相同;
(2)、輸入的實(shí)際參數(shù)與形式參數(shù)的屬性是否匹配;
(3)、輸入的實(shí)際參數(shù)與形式參數(shù)的量綱是否一致;
(4)、調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的個(gè)數(shù)是否與被調(diào)模塊的形參個(gè)數(shù)相同;
(5)、調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配;
(6)、調(diào)用其他模塊時(shí)所給實(shí)際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;
(7)、 調(diào)用預(yù)定義函數(shù)時(shí)所用參數(shù)的個(gè)數(shù)、屬性和次序是否正確;
(8)、是否存在與當(dāng)前入口點(diǎn)無(wú)關(guān)的參數(shù)引用;
(9)、是否修改了只讀型參數(shù);
(10)、對(duì)全程變量的定義各模塊是否一致;
(11)、是否把某些約束作為參數(shù)傳遞。
(12)、文件使用前是否已經(jīng)打開(kāi);
(13)、是否處理了文件尾;
(14)、是否處理了輸入/輸出錯(cuò)誤;
(15)、輸出信息中是否有文字性錯(cuò)誤;