軟件測試技術常見問題匯總
本文關鍵詞:軟件測試技術
一、常見問題
1、 單元測試主要內(nèi)容是什么?
單元測試大多數(shù)由開發(fā)人員來完成,測試人員技術背景較好或者開發(fā)系統(tǒng)軟件時可能會安排測試人員進行單元測試,大多數(shù)進行的單元測試都是開發(fā)人員調(diào)試程序或者開發(fā)組系統(tǒng)聯(lián)合調(diào)試的過程。討論這個問題主要是擴充一下讀者的視野。
單元測試一般包括五個方面的測試:
(1)模塊接口測試:模塊接口測試是單元測試的基礎。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測試才有意義。模塊接口測試也是集成測試的重點,這里進行的測試主要是為后面打好基礎。測試接口正確與否應該考慮下列因素:
輸入的實際參數(shù)與形式參數(shù)的個數(shù)是否相同;
輸入的實際參數(shù)與形式參數(shù)的屬性是否匹配;
輸入的實際參數(shù)與形式參數(shù)的量綱是否一致;
調(diào)用其他模塊時所給實際參數(shù)的個數(shù)是否與被調(diào)模塊的形參個數(shù)相同;
調(diào)用其他模塊時所給實際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配;
調(diào)用其他模塊時所給實際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;
調(diào)用預定義函數(shù)時所用參數(shù)的個數(shù)、屬性和次序是否正確;
是否存在與當前入口點無關的參數(shù)引用;
是否修改了只讀型參數(shù);
對全程變量的定義各模塊是否一致;
是否把某些約束作為參數(shù)傳遞。
如果模塊功能包括外部輸入輸出,還應該考慮下列因素:
文件屬性是否正確;
OPEN/CLOSE語句是否正確;
格式說明與輸入輸出語句是否匹配;
緩沖區(qū)大小與記錄長度是否匹配;
文件使用前是否已經(jīng)打開;
是否處理了文件尾;
是否處理了輸入/輸出錯誤;
輸出信息中是否有文字性錯誤。
局部數(shù)據(jù)結構測試;
邊界條件測試;
模塊中所有獨立執(zhí)行通路測試;
(2)局部數(shù)據(jù)結構測試:檢查局部數(shù)據(jù)結構是為了保證臨時存儲在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過程中完整、正確,局部功能是整個功能運行的基礎。重點是一些函數(shù)是否正確執(zhí)行,內(nèi)部是否運行正確。局部數(shù)據(jù)結構往往是錯誤的根源,應仔細設計測試用例,力求發(fā)現(xiàn)下面幾類錯誤:
不合適或不相容的類型說明;
變量無初值;
變量初始化或省缺值有錯;
不正確的變量名(拼錯或不正確地截斷);
出現(xiàn)上溢、下溢和地址異常。
(3) 邊界條件測試:邊界條件測試是單元測試中最重要的一項任務。眾所周知,軟件經(jīng)常在邊界上失效,采用邊界值分析技術,針對邊界值及其左、右設計測試用例,很 有可能發(fā)現(xiàn)新的錯誤。邊界條件測試是一項基礎測試,也是后面系統(tǒng)測試中的功能測試的重點,邊界測試執(zhí)行的較好,可以大大提高程序健壯性。
(4)模塊中所有獨立路徑測試:在模塊中應對每一條獨立執(zhí)行路徑進行測試,單元測試的基本任務是保證模塊中每條語句至少執(zhí)行一次。測試目的主要是為了發(fā)現(xiàn)因錯誤計算、不正確的比較和不適當?shù)目刂屏髟斐傻腻e誤。具體做法就是程序員逐條調(diào)試語句。常見的錯誤包括:
誤解或用錯了算符優(yōu)先級;
混合類型運算;
變量初值錯;
精度不夠;
表達式符號錯。
比較判斷與控制流常常緊密相關,測試時注意下列錯誤:
不同數(shù)據(jù)類型的對象之間進行比較;
錯誤地使用邏輯運算符或優(yōu)先級;
因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;
比較運算或變量出錯;
循環(huán)終止條件或不可能出現(xiàn);
迭代發(fā)散時不能退出;
錯誤地修改了循環(huán)變量。
模塊的各條錯誤處理通路測試:程序在遇到異常情況時不應該退出,好的程序應能預見各種出錯條件,并預設各種出錯處理通路。如果用戶不按照正常操作,程序就退出或者停止工作,實際上也是一種缺陷,因此單元測試要測試各種錯誤處理路徑。一般這種測試著重檢查下列問題:
輸出的出錯信息難以理解;
記錄的錯誤與實際遇到的錯誤不相符;
在程序自定義的出錯處理段運行之前,系統(tǒng)已介入;
本文編號:938960
本文鏈接:http://sikaile.net/wenshubaike/dxkc/938960_1.html