軟件測試步驟
測試過(guò)程按4個(gè)步驟進(jìn)行,即單元測試、集成測試、確認測試和系統測試及發(fā)版測試。
開(kāi)始是單元測試,集中對用源代碼實(shí)現的每一個(gè)程序單元進(jìn)行測試,檢查各個(gè)程序模塊是否正確地實(shí)現了規定的功能。
集成測試把已測試過(guò)的模塊組裝起來(lái),主要對與設計相關(guān)的軟件體系結構的構造進(jìn)行測試。
確認測試則是要檢查已實(shí)現的軟件是否滿(mǎn)足了需求規格說(shuō)明中確定了的各種需求,以及軟件配置是否完全、正確。
系統測試把已經(jīng)經(jīng)過(guò)確認的軟件納入實(shí)際運行環(huán)境中,與其它系統成份組合在一起進(jìn)行測試。
單元測試 (Unit Testing)
單元測試又稱(chēng)模塊測試,是針對軟件設計的最小單位 ─ 程序模塊,進(jìn)行正確性檢驗的測試工作。其目的在于發(fā)現各模塊內部可能存在的各種差錯。
單元測試需要從程序的內部結構出發(fā)設計測試用例。多個(gè)模塊可以平行地獨立進(jìn)行單元測試。
1. 單元測試的內容
在單元測試時(shí),測試者需要依據詳細設計說(shuō)明書(shū)和源程序清單,了解該模塊的I/O條件和模塊的邏輯結構,主要采用白盒測試的測試用例,輔之以黑盒測試的測試用例,使之對任何合理的輸入和不合理的輸入,都能鑒別和響應。
(1) 模塊接口測試
在單元測試的開(kāi)始,應對通過(guò)被測模塊的數據流進(jìn)行測試。測試項目包括:
–調用本模塊的輸入參數是否正確;
–本模塊調用子模塊時(shí)輸入給子模塊的參數是否正確;
–全局量的定義在各模塊中是否一致;
在做內外存交換時(shí)要考慮:
–文件屬性是否正確;
–OPEN與CLOSE語(yǔ)句是否正確;
–緩沖區容量與記錄長(cháng)度是否匹配;
–在進(jìn)行讀寫(xiě)操作之前是否打開(kāi)了文件;
–在結束文件處理時(shí)是否關(guān)閉了文件;
–正文書(shū)寫(xiě)/輸入錯誤,
–I/O錯誤是否檢查并做了處理。
(2) 局部數據結構測試
不正確或不一致的數據類(lèi)型說(shuō)明
使用尚未賦值或尚未初始化的變量
錯誤的初始值或錯誤的缺省值
變量名拼寫(xiě)錯或書(shū)寫(xiě)錯
不一致的數據類(lèi)型
全局數據對模塊的影響
(3) 路徑測試
選擇適當的測試用例,對模塊中重要的執行路徑進(jìn)行測試。
應當設計測試用例查找由于錯誤的計算、不正確的比較或不正常的控制流而導致的錯誤。
對基本執行路徑和循環(huán)進(jìn)行測試可以發(fā)現大量的路徑錯誤。
(4) 錯誤處理測試
出錯的描述是否難以理解
出錯的描述是否能夠對錯誤定位
顯示的錯誤與實(shí)際的錯誤是否相符
對錯誤條件的處理正確與否
在對錯誤進(jìn)行處理之前,錯誤條件是否已經(jīng)引起系統的干預等
(5) 邊界測試
注意數據流、控制流中剛好等于、大于或小于確定的比較值時(shí)出錯的可能性。對這些地方要仔細地選擇測試用例,認真加以測試。
如果對模塊運行時(shí)間有要求的話(huà),還要專(zhuān)門(mén)進(jìn)行關(guān)鍵路徑測試,以確定最壞情況下和平均意義下影響模塊運行時(shí)間的因素。
2. 單元測試的步驟
模塊并不是一個(gè)獨立的程序,在考慮測試模塊時(shí),同時(shí)要考慮它和外界的聯(lián)系,用一些輔助模塊去模擬與被測模塊相聯(lián)系的其它模塊。
–驅動(dòng)模塊 (driver)
–樁模塊 (stub) ── 存根模塊
如果一個(gè)模塊要完成多種功能,可以將這個(gè)模塊看成由幾個(gè)小程序組成。必須對其中的每個(gè)小程序先進(jìn)行單元測試要做的工作,對關(guān)鍵模塊還要做性能測試。
對支持某些標準規程的程序,更要著(zhù)手進(jìn)行互聯(lián)測試。有人把這種情況特別稱(chēng)為模塊測試,以區別單元測試。
集成測試(Integrated Testing)
集成測試 (集成測試、聯(lián)合測試)
通常,在單元測試的基礎上,需要將所有模塊按照設計要求組裝成為系統。這時(shí)需要考慮的問(wèn)題是:
– 在把各個(gè)模塊連接起來(lái)的時(shí)侯,穿越模塊接口的數據是否會(huì )丟失;
– 一個(gè)模塊的功能是否會(huì )對另一個(gè)模塊的功能產(chǎn)生不利的影響;
– 各個(gè)子功能組合起來(lái),能否達到預期要求的父功能;
– 全局數據結構是否有問(wèn)題;
– 單個(gè)模塊的誤差累積起來(lái),是否會(huì )放大,從而達到不能接受的程度。
在單元測試的同時(shí)可進(jìn)行集成測試,發(fā)現并排除在模塊連接中可能出現的問(wèn)題,最終構成要求的軟件系統。
子系統的集成測試特別稱(chēng)為部件測試,它所做的工作是要找出集成后的子系統與系統需求規格說(shuō)明之間的不一致。
通常,把模塊集成成為系統的方式有兩種
–一次性集成方式
–增殖式集成方式


