單元測試是代碼正確性驗(yàn)證的最重要的工具,也是系統(tǒng)測試當(dāng)中最重要的環(huán)節(jié)。也是唯一需要編寫代碼才能進(jìn)行測試的一種測試方法。在標(biāo)準(zhǔn)的開發(fā)過程中,單元測試的代碼與實(shí)際程序的代碼具有同等的重要性。每一個(gè)單元測試,都是用來定向測試其所對應(yīng)的一個(gè)單元的數(shù)據(jù)是否正確。
一、單元測試具有一下幾個(gè)好處
1、能夠協(xié)助程序員盡快找到BUG的具體位置
2、能夠讓程序員對自己的程序更有自信
3、能夠讓程序員在提交項(xiàng)目之前就將代買變得更加健壯
4、能夠協(xié)助程序員更好的進(jìn)行開發(fā)
5、能夠向其他程序員展現(xiàn)你的程序該如何調(diào)用
二、單元測試任務(wù)包括:模塊局部數(shù)據(jù)結(jié)構(gòu)測試
檢查局部數(shù)據(jù)結(jié)構(gòu)是為了保證臨時(shí)存儲在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過程中完整、正確,局部功能是整個(gè)功能運(yùn)行的基礎(chǔ)。重點(diǎn)是一些函數(shù)是否正確執(zhí)行,內(nèi)部是否運(yùn)行正確。局部數(shù)據(jù)結(jié)構(gòu)往往是錯(cuò)誤的根源,應(yīng)仔細(xì)設(shè)計(jì)測試用例,力求發(fā)現(xiàn)下面幾類錯(cuò)誤:-不合適或不相容的類型說明;-變量無初值;-變量初始化或省缺值有錯(cuò);-不正確的變量名(拼錯(cuò)或不正確地截?cái)啵?出現(xiàn)上溢、下溢和地址異常。
模塊局部數(shù)據(jù)結(jié)構(gòu)測試
應(yīng)該考慮下列因素
(1)、不合適或不相容的類型說明;
(2)、變量無初值;
(3)、變量初始化或省缺值有錯(cuò);
(4)、不正確的變量名(拼錯(cuò)或不正確地截?cái)啵?/span>
(5)、出現(xiàn)上溢、下溢和地址異常。
模塊中所有獨(dú)立執(zhí)行測試
應(yīng)該考慮下列因素
(1)、誤解或用錯(cuò)了算符優(yōu)先級;
(2)、混合類型運(yùn)算;
(3)、變量初值錯(cuò);
(4)、精度不夠;
(5)、表達(dá)式符號錯(cuò)。
(6)、不同數(shù)據(jù)類型的對象之間進(jìn)行比較;
(7)、錯(cuò)誤地使用邏輯運(yùn)算符或優(yōu)先級;
(8)、因計(jì)算機(jī)表示的局限性,期望理論上相等而實(shí)際上不相等的兩個(gè)量相等;
(9)、比較運(yùn)算或變量出錯(cuò);
(10)、循環(huán)終止條件或不可能出現(xiàn);
模塊的各條錯(cuò)誤處理測試
應(yīng)該考慮下列因素
(1)、輸出的出錯(cuò)信息難以理解;
(2)、記錄的錯(cuò)誤與實(shí)際遇到的錯(cuò)誤不相符;
(3)、在程序自定義的出錯(cuò)處理段運(yùn)行之前,系統(tǒng)已介入;
(4)、異常處理不當(dāng);
(5)、錯(cuò)誤陳述中未能提供足夠的定位出錯(cuò)信息。