WEB應(yīng)用設(shè)計(jì)與開(kāi)發(fā)單元測(cè)試規(guī)范_第1頁(yè)
WEB應(yīng)用設(shè)計(jì)與開(kāi)發(fā)單元測(cè)試規(guī)范_第2頁(yè)
WEB應(yīng)用設(shè)計(jì)與開(kāi)發(fā)單元測(cè)試規(guī)范_第3頁(yè)
WEB應(yīng)用設(shè)計(jì)與開(kāi)發(fā)單元測(cè)試規(guī)范_第4頁(yè)
WEB應(yīng)用設(shè)計(jì)與開(kāi)發(fā)單元測(cè)試規(guī)范_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單元測(cè)試規(guī)范 文件編碼: 版 次: 機(jī)密等級(jí): 極機(jī)密 機(jī)密 密 普通 制作日期: 制作單位: 總 頁(yè) 次: 修 訂 履 歷 版次變更單編號(hào)發(fā)行日期作者修 訂 內(nèi) 容備 注 目目 錄錄 1.目目 的的.4 2.適用范圍適用范圍.4 1. 目目 的的 為了統(tǒng)一開(kāi)發(fā)組軟件開(kāi)發(fā)的設(shè)計(jì)過(guò)程中關(guān)于單元測(cè)試時(shí)的測(cè)試規(guī)范和具體 開(kāi)發(fā)工作時(shí)的測(cè)試規(guī)范,保證單元測(cè)試的一致性,便于交流和維護(hù),特制 定此規(guī)范。 2. 適用范圍適用范圍 本規(guī)范適用于開(kāi)發(fā)組全體人員,作用于軟件項(xiàng)目開(kāi)發(fā)的代碼編寫階段和后 期維護(hù)階段的單元測(cè)試。 1、 什么是單元測(cè)試什么是單元測(cè)試 1.1 單元測(cè)試是在軟件開(kāi)發(fā)過(guò)程中要進(jìn)行的最低級(jí)別的測(cè)試

2、活動(dòng),測(cè)試的對(duì) 象是軟件設(shè)計(jì)的最小單位模塊。單元測(cè)試的依據(jù)是詳細(xì)設(shè)描述,單 元測(cè)試應(yīng)對(duì)模塊內(nèi)所有重要的控制路徑設(shè)計(jì)測(cè)試用例,以便發(fā)現(xiàn)模塊內(nèi) 部的錯(cuò)誤。在單元測(cè)試活動(dòng)中,軟件的獨(dú)立單元將在與程序的其他部分 相隔離的情況下進(jìn)行測(cè)試。單元測(cè)試多采用白盒測(cè)試技術(shù),系統(tǒng)內(nèi)多個(gè) 模塊可以并行地進(jìn)行測(cè)試。 1.2 在一種傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言中,比如 C,要進(jìn)行測(cè)試的單元一般 是函數(shù)或子過(guò)程。在象 C+這樣的面向?qū)ο蟮恼Z(yǔ)言中,要進(jìn)行測(cè)試的基 本單元是類。對(duì) Ada 語(yǔ)言來(lái)說(shuō),開(kāi)發(fā)人員可以選擇是在獨(dú)立的過(guò)程和函 數(shù),還是在 Ada 包的級(jí)別上進(jìn)行單元測(cè)試。單元測(cè)試的原則同樣被擴(kuò)展 到第四代語(yǔ)言(4GL)的開(kāi)

3、發(fā)中,在這里基本單元被典型地劃分為一個(gè)菜 單或顯示接口。 1.3 單元測(cè)試不僅僅是作為無(wú)錯(cuò)編碼一種輔助手段在一次性的開(kāi)發(fā)過(guò)程中使 用,單元測(cè)試必須是可重復(fù)的,無(wú)論是在軟件修改,或是移植到新的運(yùn) 行環(huán)境的過(guò)程中。因此,所有的測(cè)試都必須在整個(gè)軟件系統(tǒng)的生命周期 中進(jìn)行維護(hù)。 1.4 經(jīng)常與單元測(cè)試聯(lián)系起來(lái)的另外一些開(kāi)發(fā)活動(dòng)包括代碼走讀(Code review),靜態(tài)分析(Static analysis)和動(dòng)態(tài)分析(Dynamic analysis)。靜態(tài)分 析就是對(duì)軟件的源代碼進(jìn)行研讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),并不 需要對(duì)代碼進(jìn)行編譯和執(zhí)行。動(dòng)態(tài)分析就是通過(guò)觀察軟件運(yùn)行時(shí)的動(dòng)作, 來(lái)提供執(zhí)行跟

4、蹤,時(shí)間分析,以及測(cè)試覆蓋度方面的信息。 2、單元測(cè)試任務(wù)、單元測(cè)試任務(wù) 單元測(cè)試任務(wù)包括:1 模塊接口測(cè)試;2 模塊局部數(shù)據(jù)結(jié)構(gòu)測(cè)試;3 模塊 邊界條件測(cè)試;4 模塊中所有獨(dú)立執(zhí)行通路測(cè)試;5 模塊的各條錯(cuò)誤處理 通路測(cè)試。 模塊接口測(cè)試是單元測(cè)試的基礎(chǔ)。只有在數(shù)據(jù)能正確流入、流出模塊的前 提下,其他測(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ù)的屬性是否

5、與被調(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ù)傳遞。 如果模塊內(nèi)包括外部輸入輸出,還應(yīng)該考慮下列因素: 1 文件屬性是否正確; 2 OPEN/CLOSE 語(yǔ)句是否正確; 3 格式說(shuō)明與輸入輸出語(yǔ)句是否匹配; 4 緩沖區(qū)大小與記錄長(zhǎng)度是否匹配; 5 檔使用前是否已經(jīng)打開(kāi); 6 是否處理了文件尾; 7 是否處理了輸入/輸出錯(cuò)誤; 8 輸出信息中是否有文字性

6、錯(cuò)誤; 檢查局部數(shù)據(jù)結(jié)構(gòu)是為了保證臨時(shí)存儲(chǔ)在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過(guò)程中 完整、正確。局部數(shù)據(jù)結(jié)構(gòu)往往是錯(cuò)誤的根源,應(yīng)仔細(xì)設(shè)計(jì)測(cè)試用例,力 求發(fā)現(xiàn)下面幾類錯(cuò)誤: 1 不合適或不相容的類型說(shuō)明; 2 變數(shù)無(wú)初值; 3 變數(shù)初始化或省缺值有錯(cuò); 4 不正確的變量名(拼錯(cuò)或不正確地截?cái)啵?; 5 出現(xiàn)上溢、下溢和地址異常。 除了局部數(shù)據(jù)結(jié)構(gòu)外,如果可能,單元測(cè)試時(shí)還應(yīng)該查清全局?jǐn)?shù)據(jù)(例如 FORTRAN 的公用區(qū))對(duì)模塊的影響。 在模塊中應(yīng)對(duì)每一條獨(dú)立執(zhí)行路徑進(jìn)行測(cè)試,單元測(cè)試的基本任務(wù)是保證 模塊中每條語(yǔ)句至少執(zhí)行一次。此時(shí)設(shè)計(jì)測(cè)試用例是為了發(fā)現(xiàn)因錯(cuò)誤計(jì)算、 不正確的比較和不適當(dāng)?shù)目刂屏髟斐傻腻e(cuò)誤

7、。此時(shí)基本路徑測(cè)試和循環(huán)測(cè) 試是最常用且最有效的測(cè)試技術(shù)。計(jì)算中常見(jiàn)的錯(cuò)誤包括: 1 誤解或用錯(cuò)了算符優(yōu)先級(jí); 2 混合類型運(yùn)算; 3 變數(shù)初值錯(cuò); 4 精度不夠; 5 表達(dá)式符號(hào)錯(cuò)。 比較判斷與控制流常常緊密相關(guān),測(cè)試用例還應(yīng)致力于發(fā)現(xiàn)下列錯(cuò)誤: 1 不同數(shù)據(jù)類型的對(duì)象之間進(jìn)行比較; 2 錯(cuò)誤地使用邏輯運(yùn)算符或優(yōu)先級(jí); 3 因計(jì)算機(jī)表示的局限性,期望理論上相等而實(shí)際上不相等的兩個(gè)量相 等; 4 比較運(yùn)算或變量出錯(cuò); 5 循環(huán)終止條件或不可能出現(xiàn); 6 迭代發(fā)散時(shí)不能退出; 7 錯(cuò)誤地修改了循環(huán)變量。 一個(gè)好的設(shè)計(jì)應(yīng)能預(yù)見(jiàn)各種出錯(cuò)條件,并預(yù)設(shè)各種出錯(cuò)處理通路,出錯(cuò)處 理通路同樣需要認(rèn)真測(cè)試,測(cè)

8、試應(yīng)著重檢查下列問(wèn)題: 1 輸出的出錯(cuò)信息難以理解; 2 記錄的錯(cuò)誤與實(shí)際遇到的錯(cuò)誤不相符; 3 在程序自定義的出錯(cuò)處理段運(yùn)行之前,系統(tǒng)已介入; 4 異常處理不當(dāng); 5 錯(cuò)誤陳述中未能提供足夠的定位出錯(cuò)信息。 邊界條件測(cè)試是單元測(cè)試中最后,也是最重要的一項(xiàng)任務(wù)。眾的周知,軟件 經(jīng)常在邊界上失效,采用邊界值分析技術(shù),針對(duì)邊界值及其左、右設(shè)計(jì)測(cè)試 用例,很有可能發(fā)現(xiàn)新的錯(cuò)誤。 3、單元測(cè)試的過(guò)程與環(huán)境、單元測(cè)試的過(guò)程與環(huán)境 3.1 一般認(rèn)為單元測(cè)試應(yīng)緊接在編碼之后,當(dāng)源程序編制完成并通過(guò)復(fù)審 和編譯檢查,便可開(kāi)始單元測(cè)試。測(cè)試用例的設(shè)計(jì)應(yīng)與復(fù)審工作相結(jié)合, 根據(jù)設(shè)計(jì)信息選取測(cè)試數(shù)據(jù),將增大發(fā)現(xiàn)上述各類錯(cuò)誤的可能性。在確 定測(cè)試用例的同時(shí),應(yīng)給出期望結(jié)果。 3.2 應(yīng)為測(cè)試模塊開(kāi)發(fā)一個(gè)驅(qū)動(dòng)模塊(driver)和(或)若干個(gè)樁模塊 (stub),下圖顯示了一般單元測(cè)試的環(huán)境。驅(qū)動(dòng)模塊在大多數(shù)場(chǎng)合稱為 主程序,它接收測(cè)試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測(cè)試模塊,被測(cè)試模 塊被調(diào)用后,主程序打印進(jìn)入-退出消息。 3.3 驅(qū)動(dòng)模塊和樁模塊是測(cè)試使用的軟件,而不是軟件產(chǎn)品的組成部分,但 它需要一定的開(kāi)發(fā)費(fèi)用。若驅(qū)動(dòng)和樁

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論