1.為什么要進(jìn)行基于需求的測(cè)試
一項(xiàng)調(diào)查(James Martin (“An Information Systems Manifesto,” Prentice Hall, 1984)表明56%的缺陷其實(shí)是在軟件需求階段被引入的。而這其中的50%是由于需求文檔編寫有問(wèn)題、不明確、不清晰、不正確導(dǎo)致的。剩下的50%是由于需求的遺漏導(dǎo)致的。
以上數(shù)據(jù)說(shuō)明,要保障軟件質(zhì)量穩(wěn)定和缺陷盡早被發(fā)現(xiàn)需要從需求層面開始盡早介入而開展測(cè)試。
基于需求的軟件測(cè)試方法由理查德本德先生1977年始創(chuàng),這一方法使測(cè)試更加有效,因?yàn)樗鼘W⒂谫|(zhì)量問(wèn)題產(chǎn)生的根源。此方法從上世紀(jì)90年代起為中國(guó)軟件測(cè)試工程師使用至今。
2.基于需求的測(cè)試策略操作要點(diǎn)
如何基于需求測(cè)試,根據(jù)多年工作經(jīng)驗(yàn)總結(jié)出以下三步:需求項(xiàng)分析收集、測(cè)試輸入項(xiàng)整理、使用組合分析測(cè)試工具。
2.1測(cè)試需求分析收集
需求要點(diǎn)分析,通過(guò)對(duì)整理需求項(xiàng),提取需求性進(jìn)而進(jìn)行需求項(xiàng)分解合并形成需求要點(diǎn)。

整理需求時(shí)從需求來(lái)源著手,通過(guò)需求來(lái)源分析理清需求的風(fēng)險(xiǎn)和需求優(yōu)先級(jí)及重要程度,需求來(lái)源包括:用戶需求、使用說(shuō)明、開發(fā)需求、競(jìng)爭(zhēng)對(duì)手需求、協(xié)議需求、法律法規(guī)、測(cè)試經(jīng)驗(yàn)庫(kù)等進(jìn)行分類分析等等。
繼承性需求也是梳理需求項(xiàng)的重要工作,繼承性分析主要對(duì)產(chǎn)品歷史版本需求的繼承的特性分析主要對(duì)線上版本使用情況、歷史測(cè)試情況、應(yīng)用變化情況、與新開發(fā)特性的交互關(guān)系等進(jìn)行分析
測(cè)試需求項(xiàng)分析分解是對(duì)原始測(cè)試需求和繼承性需求的細(xì)化和分解,形成的可測(cè)試的分層描述的測(cè)試需求。
2.2測(cè)試輸入項(xiàng)整理
通過(guò)對(duì)測(cè)試需求分析整理形成測(cè)試要點(diǎn),對(duì)每一條測(cè)試要點(diǎn)根據(jù)等價(jià)類劃分,邊界值分析法等基礎(chǔ)測(cè)試方法,形成基本的輸入輸出。在第三步中使用組合測(cè)試方法進(jìn)一步進(jìn)行分析設(shè)計(jì)。
2.3使用組合測(cè)試方法
在動(dòng)態(tài)測(cè)試中,測(cè)試需要依賴測(cè)試用例驅(qū)動(dòng),測(cè)試用例分為基于需求的測(cè)試用例和基于覆蓋的測(cè)試用例,也可以稱為黑盒測(cè)試用例和白盒測(cè)試用例?;诤诤袦y(cè)試用例的設(shè)計(jì)方法包括邊界值法,等價(jià)類法,正交組合對(duì)法(Orthogonal Pairs)和因果圖法(Cause Efffect)等等,其中組合對(duì)法和因果圖法由于涉及到輸入條件與輸出結(jié)果直接的組合與邏輯關(guān)系比較復(fù)雜,不適合用人工的方式計(jì)算。
因果圖法就是從需求規(guī)格說(shuō)明書的描述中找出因(輸入條件)和果(輸出或程序狀態(tài)的改變),通過(guò)因果圖轉(zhuǎn)換為判定表,最后為判定表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例。這種方法的起源是硬件數(shù)字集成電路的測(cè)試方法(敏感路徑法),能夠設(shè)計(jì)出有效地測(cè)試用例,舍棄對(duì)測(cè)試沒(méi)有貢獻(xiàn)的測(cè)試用例,并且能夠?qū)崿F(xiàn)功能的全部覆蓋。
組合配對(duì)對(duì)法就是把多個(gè)輸入和多個(gè)輸出兩兩結(jié)對(duì),以發(fā)現(xiàn)由兩個(gè)因子的交互關(guān)系導(dǎo)致的可觀測(cè)的軟件故障。這種方式設(shè)計(jì)的測(cè)試用例比窮舉測(cè)試減少了很多,但是依然可以有效地發(fā)現(xiàn)軟件缺陷。

在配對(duì)測(cè)試方法中,著重推薦一款組合測(cè)試方法工具,微軟的PICT工具。
(1)PICT簡(jiǎn)介
? ? PICT是一種正交組合測(cè)試工具,輸入與測(cè)試用例相關(guān)的所有參數(shù),可輸出簡(jiǎn)化版以達(dá)到全面覆蓋的效果。
(2)PICT的安裝
? 點(diǎn)擊下載? ,然后一直下一步即可。
? 安裝完成后,cmd打開后,輸入pict,很容易就能看到此工具是否安裝成功
(3)PICT的簡(jiǎn)單實(shí)用
新建一個(gè)test.txt文件,放在D:
使用命令行把目錄切換至D盤,執(zhí)行pict test.txt會(huì)自動(dòng)生成組合用例
執(zhí)行pict test.txt >text.xls,可以把屏幕上打印的組合用例輸出到Excel或TXT,這樣整合后的用例就少了,減輕測(cè)試人員的工作量
3.基于需求測(cè)試策略的最佳實(shí)踐
3.1 盡早測(cè)試,頻繁地測(cè)試
確認(rèn)需求的業(yè)務(wù)價(jià)值。
各利益相關(guān)方應(yīng)該對(duì)需求進(jìn)行評(píng)審。
通過(guò)用例檢查需求的完整性
? ? ? 應(yīng)用語(yǔ)言分析技術(shù)確保需求文檔清晰一致,不會(huì)引起同一問(wèn)題不同人有不同的解釋。
3.2不要單憑經(jīng)驗(yàn)測(cè)試
不要依賴測(cè)試人員的經(jīng)驗(yàn)來(lái)設(shè)計(jì)測(cè)試用例,應(yīng)該采用系統(tǒng)、嚴(yán)格的測(cè)試用例設(shè)計(jì)方法,而不是依賴有經(jīng)驗(yàn)的測(cè)試人員的技巧。通過(guò)這樣的方式來(lái)增加測(cè)試覆蓋的有效性。格式化、結(jié)構(gòu)化的需求文檔有助于測(cè)試人員評(píng)估需求的測(cè)試覆蓋率。
通過(guò)測(cè)試用例評(píng)審來(lái)檢查測(cè)試用例存在的錯(cuò)誤,并且找出需求的不足之處。
3.3測(cè)試過(guò)程中要保持度量
在使用基于需求的測(cè)試方法的過(guò)程中,保持對(duì)需求的可追蹤性非常重要。保持需求與測(cè)試用例及測(cè)試之間的可追蹤性有助于監(jiān)視進(jìn)度、度量覆蓋率,當(dāng)然也有助于控制需求變更。
基于需求的測(cè)試策略是測(cè)試過(guò)程中最常用,最重要的測(cè)試策略,使每個(gè)測(cè)試工程師都應(yīng)該掌握的測(cè)試策略。
2019年連續(xù)修心三十六天 土司于北京