測試需求的意義 無論對于開發(fā)還是測試,一個全面精準(zhǔn)有預(yù)見性的設(shè)計是保證項(xiàng)目順利進(jìn)行的前提。實(shí)際項(xiàng)目操作中,常常感受到測試過程有著各種問題:
1、產(chǎn)品質(zhì)量維度關(guān)注的不全面,測試類型不完整;
2、測試規(guī)格設(shè)計較為隨意,測試分解分配比較隨意;
導(dǎo)致測試過程中,經(jīng)常會出現(xiàn)需求遺漏、測試設(shè)計遺漏的問題;
因此一份詳細(xì)精準(zhǔn)的測試需求分析有利于這些問題的解決。
測試需求的定義
軟件需求定義的是要產(chǎn)品要實(shí)現(xiàn)的功能是什么,而測試需求這個名詞業(yè)界并沒有權(quán)威的定義,多數(shù)的意見認(rèn)為測試需求定義測試的范圍(即主要解決測什么、及測 到什么程度的問題),這樣說還是太過泛泛,換個說法,測試人員依據(jù)初期功能需求,評估需要測試的功能點(diǎn)都有什么,每個功能點(diǎn)需要什么類型的測試,每個功能 點(diǎn)測試到什么程度算是通過,這樣初步評估出了測試的規(guī)模、復(fù)雜程度和風(fēng)險,同時可以初步預(yù)估出哪個環(huán)節(jié)需要研發(fā)同事提供測試接口。
測試需求設(shè)計的愈加詳細(xì)精準(zhǔn),代表對待測試的軟件了解的愈深,對各種測試手段了解的愈深,但是這往往要求測試需求的設(shè)計者擁有一定的測試經(jīng)驗(yàn)。
測試需求的流程

測試需求的采集
測試需求最直接的來源是:
1、軟件需求規(guī)格;
2、業(yè)界協(xié)議規(guī)范;
3、測試經(jīng)驗(yàn)庫;
4、對于已有舊版本的軟件測試,還需要考慮繼承性的測試需求。
對以上內(nèi)容進(jìn)行梳理,形成原始測試需求表,列表的內(nèi)容包括需求標(biāo)識、原始測試需求描述、信息來源,如下:
來源編號 | 測試原始需求編號 | 測試原始需求描述 | 開發(fā)特性 | 需求標(biāo)識 | 需求描述 | 需求優(yōu)先級 | 測試規(guī)格分析的工程方法 |
DR001 | EMAIL-001 | 能夠支持電子郵件的收發(fā) | Email | OR_MKT.00010 | 能夠支持電子郵件的收發(fā) | | |
測試人員需要對開發(fā)需求進(jìn)行整理,首先需要確認(rèn)軟件需求的正確性、其次保證軟件需求的可測試性。所謂的可測試指的是“存在一個可明確預(yù)知的結(jié)果,可用某 種方法對這個明確的結(jié)果進(jìn)行判斷、驗(yàn)證。”原則上,所有的軟件需求都應(yīng)該是可測試的,因?yàn)槿绻鳛闇y試人員對需求無法產(chǎn)生準(zhǔn)確的理解(即無法得出明確的結(jié) 果),那么開發(fā)人員也同樣無法對同一條需求產(chǎn)生準(zhǔn)確的理解。每一個測試需求需要保證一條需求只包含一項(xiàng)測試內(nèi)容,因此一條軟件需求通??赡軐?yīng)多條測試需 求。
這個階段的測試需求整理,最重要的一點(diǎn)就是要注意廣泛性和全面性,要盡可能的收集更多的原始需求,不存在遺漏,并且可以對需求進(jìn)行適當(dāng)?shù)臄U(kuò)充,這些需求應(yīng)該不僅僅局限于上述的五種來源類型,也不僅僅局限于各種文檔、資料。
測試需求的分析 測試需求采集之后得到的是一張沒有優(yōu)化的需求表,需要對這份原始需求表進(jìn)行初步的規(guī)劃:
1、刪除冗余重復(fù)的需求,各個需求間沒有過多的交集;
2、需求需覆蓋業(yè)務(wù)流程、功能、非功能方面的需求;
業(yè)務(wù)流程:任何一套軟件都會有一定的業(yè)務(wù)流,也就是用戶用該軟件來實(shí)現(xiàn)自己實(shí)際業(yè)務(wù)的一個流程。簡單的來說,在做測試需求分析時需要列出以下類別:
1)常用的或規(guī)定的業(yè)務(wù)流程
2)各業(yè)務(wù)流程分支的遍歷
3)明確規(guī)定不可使用的業(yè)務(wù)流程
4)沒有明確規(guī)定但是應(yīng)該不可以執(zhí)行的業(yè)務(wù)流程
5)其他異?;虿环弦?guī)定的操作
1、需求需考慮了各功能模塊之間交互關(guān)系分析;
2、確定測試特性(即測試功能點(diǎn));
3、確定需求的測試類型;

1、確定需求的質(zhì)量屬性;

2、確定本版本測試所屬的階段;
測試階段:產(chǎn)品的不同階段,對于測試階段的要求也不一樣。對于初期版本的產(chǎn)品,更側(cè)重于關(guān)注:功能是否實(shí)現(xiàn)(這個功 能正常場景下是否順利)、較為成熟階段之后,會關(guān)注:功能是否實(shí)現(xiàn)的夠完善(異常場景下,是否正常處理),更加成熟之后會關(guān)注,是否通得過各種壓力測試場 景。
測試需求跟蹤矩陣
建立測試需求跟蹤矩陣,對測試需求進(jìn)行管理。將上述步驟分析、確定的開發(fā)需求、測試需求、測試類型填入測試跟蹤需求矩陣。

建立測試需求跟蹤矩陣,對測試需求進(jìn)行管理。將上述步驟分析、確定的開發(fā)需求、測試需求、測試類型填入測試跟蹤需求矩陣。
通過測試需求跟蹤矩陣的方式對需求變更實(shí)施管理。軟件需求一旦發(fā)生變化,就要對需求跟蹤表進(jìn)行維護(hù),啟動配置管理過程,將與軟件需求變更相關(guān)的內(nèi)容進(jìn)行同步變更。
測試需求評審
評審的內(nèi)容:
完整性審查:應(yīng)保證測試需求能充分覆蓋軟件需求的各種特征,重點(diǎn)關(guān)注功能要求、數(shù)據(jù)定義、接口定義、性能要求、安全性要求、可靠性要求、系統(tǒng)約束等方面,同時還應(yīng)關(guān)注是否覆蓋開發(fā)人員遺漏的、系統(tǒng)隱含的需求;
準(zhǔn)確性審查:應(yīng)保證所描述的內(nèi)容能夠得到相關(guān)各方的一致理解,各項(xiàng)測試需求之間沒有矛盾和沖突,各項(xiàng)測試需求在詳盡程度上保持一致,每一項(xiàng)測試需求都可以作為測試用例設(shè)計的依據(jù)。