一 軟件測試的階段劃分
可以從三個(gè)角度來將軟件測試劃分為多個(gè)階段:
1. 面向軟件測試操作類型的劃分,如調(diào)試、集成、確認(rèn)、驗(yàn)證、組裝、驗(yàn)收、操作;
2. 面向軟件測試對(duì)象粒度的劃分,如語句、結(jié)構(gòu)、單元、部件、配置項(xiàng)、子系統(tǒng)、系統(tǒng)、大系統(tǒng);
3. 面向軟件測試實(shí)施者的劃分,如開發(fā)者、測試者、驗(yàn)收者、使用者。
二 軟件測試階段的步驟
每個(gè)軟件測試階段都要經(jīng)歷以下步驟:測試需求分析、測試過程設(shè)計(jì)、測試實(shí)現(xiàn)、測試實(shí)施、測試評(píng)價(jià)、測試維護(hù)。
2.0 a 測試需求分析
測試需求是整個(gè)測試過程的基礎(chǔ);確定測試對(duì)象以及測試工作的范圍和作用。用來確定整個(gè)測試工作(如安排時(shí)間表、測試設(shè)計(jì)等)并作為測試覆蓋的基礎(chǔ)。而且被確定的測試需求項(xiàng)必須是可核實(shí)的。即,它們必須有一個(gè)可觀察、可評(píng)測的結(jié)果。無法核實(shí)的需求不是測試需求。所以我現(xiàn)在的理解是測試需求是一個(gè)比較大的概念,它是在整個(gè)測試計(jì)劃文檔中體現(xiàn)出來的,不是類似的一個(gè)用例或者其他。
·測試需求是制訂測試計(jì)劃的基本依據(jù),確定了測試需求能夠?yàn)闇y試計(jì)劃提供客觀依據(jù);
·測試需求是設(shè)計(jì)測試用例的指導(dǎo),確定了要測什么、測哪些方面后才能有針對(duì)性的設(shè)計(jì)測試用例;
·測試需求是計(jì)算測試覆蓋的分母,沒有測試需求就無法有效地進(jìn)行測試覆蓋。
b 測試過程設(shè)計(jì):包括測試計(jì)劃,測試策略制定,測試時(shí)間安排用,測試用例編寫等。
c 測試實(shí)現(xiàn):環(huán)境配置好了,新的版本也收到了,人員也都培訓(xùn)好了等等。
d 測試實(shí)施:已經(jīng)按照測試計(jì)劃進(jìn)行展開了,比如手工測試,自動(dòng)化測試等。
e 測試評(píng)價(jià):對(duì)版本測試覆蓋率,測試質(zhì)量,人員測試工作以及前期的一些工作制定情況進(jìn)行評(píng)價(jià),評(píng)估。
f 測試維護(hù):對(duì)測試用例庫,測試腳本,bug庫等進(jìn)行維護(hù),保證延續(xù)性等。
2.1 軟件測試步驟
表1給出軟件測試步驟的定義。
軟件測試步驟 |
輸 入 |
輸 出 |
測試需求分析 |
1. 軟件測試的方法與規(guī)范 2. 軟件需求規(guī)格說明 3. 軟件設(shè)計(jì)說明(概要設(shè)計(jì)說明和詳細(xì)設(shè)計(jì)說明) |
軟件測試計(jì)劃: 1) 軟件測試的定位 2) 軟件測試線索 3) 軟件測試環(huán)境的定義 4) 軟件需求的追蹤矩陣 |
測試過程設(shè)計(jì) |
1. 軟件測試的方法與規(guī)范 2. 軟件測試計(jì)劃 |
軟件測試說明: 1) 軟件測試步驟 2) 軟件測試基準(zhǔn) 3) 測試線索的追蹤矩陣 |
測試實(shí)現(xiàn) |
1. 軟件測試的方法與規(guī)范 2. 軟件測試說明 3. 軟件測試工具 |
軟件測試的實(shí)現(xiàn)配置: 1) 軟件測試環(huán)境 2) 測試步驟的計(jì)算機(jī)表示(用于回歸測試的測試代碼/測試數(shù)據(jù)) 3) 測試基準(zhǔn)的計(jì)算機(jī)表示 |
測試實(shí)施 |
1. 軟件測試的方法與規(guī)范 2. 軟件測試說明 3. 軟件測試的實(shí)現(xiàn)配置 |
軟件測試記錄: 1) 測試運(yùn)行結(jié)果的計(jì)算機(jī)表示 2) 測試比較結(jié)果的計(jì)算機(jī)表示 3) 測試日志 4) 軟件問題報(bào)告 |
測試評(píng)價(jià) |
1. 軟件開發(fā)文檔 2. 軟件測試文檔 3. 軟件測試配置 4. 軟件測試記錄 |
軟件測試報(bào)告: 1) 測試結(jié)果的統(tǒng)計(jì)信息 2) 測試結(jié)果的分析/評(píng)判 |
測試配置管理 |
測試配置管理項(xiàng): 1) 軟件測試的描述性表示(測試文檔/文件) 2) 軟件測試的計(jì)算機(jī)表示(測試代碼/數(shù)據(jù)/結(jié)果) |
1. 軟件測試配置管理項(xiàng)的標(biāo)識(shí)管理 2. 軟件測試配置管理項(xiàng)的存儲(chǔ)管理 3. 軟件測試配置管理項(xiàng)的引用控制 4. 軟件測試配置管理項(xiàng)的版本控制 5. 軟件測試配置管理項(xiàng)的更動(dòng)控制 |
測試維護(hù) |
測試配置管理項(xiàng) |
1. 測試配置管理項(xiàng)的使用報(bào)告 2. 測試配置管理項(xiàng)的軟件問題報(bào)告 3. 測試配置管理項(xiàng)的更動(dòng)控制文件 |
2.2 軟件系統(tǒng)的測試流程
顯示了大型復(fù)雜軟件系統(tǒng)的測試流程。
可以看到,結(jié)合測試操作類型和測試對(duì)象粒度的劃分角度,軟件測試階段可分為:單元測試、部件集成、部件確認(rèn)、配置項(xiàng)組裝、配置項(xiàng)確認(rèn)、系統(tǒng)綜合和系統(tǒng)驗(yàn)收等。每個(gè)階段都要經(jīng)歷測試需求分析、測試過程設(shè)計(jì)、測試實(shí)現(xiàn)、測試實(shí)施、測試評(píng)價(jià)、測試維護(hù)的六個(gè)步驟。
表2說明各測試階段的定義。
階 段 |
標(biāo)識(shí) |
被測對(duì)象 |
目 的 |
完成后產(chǎn)品狀態(tài) |
單元測試 |
UT |
單元 |
獲得可組裝的單元 |
可執(zhí)行的單元 |
部件集成測試 |
CI |
單元、三級(jí)部件、二級(jí)部件 |
集成單元成部件 |
二級(jí)部件環(huán)境中可執(zhí)行的部件 |
部件確認(rèn)測試 |
CV |
三級(jí)部件、二級(jí)部件 |
確認(rèn)將被組裝的部件 |
二級(jí)部件環(huán)境中滿足文檔要求的部件 |
配置項(xiàng)組裝測試 |
II |
二級(jí)部件、一級(jí)部件、配置項(xiàng) |
組裝部件成配置項(xiàng) |
二級(jí)部件環(huán)境中滿足文檔要求的部件 |
配置項(xiàng)確認(rèn)測試 |
IV |
配置項(xiàng)、子系統(tǒng) |
確認(rèn)配置項(xiàng)的功能和性能 |
模擬環(huán)境中滿足軟件需求的配置項(xiàng) |
系統(tǒng)綜合測試 |
SI |
子系統(tǒng)、系統(tǒng) |
動(dòng)態(tài)協(xié)調(diào)開發(fā)環(huán)境下的各子系統(tǒng) |
仿實(shí)際運(yùn)行環(huán)境中滿足用戶需求的子系統(tǒng) |
系統(tǒng)驗(yàn)收測試 |
SA |
子系統(tǒng) 、系統(tǒng)、關(guān)鍵配置項(xiàng)、關(guān)鍵部件 |
確認(rèn)系統(tǒng)的功能和性能 |
仿實(shí)際運(yùn)行環(huán)境中滿足用戶需求的系統(tǒng) |