軟件測試中的維恩圖詳解

在圖2-9中,分別又3個(gè)圓代表軟件說明的所有內(nèi)容、程序的所有行為和所有的測試用例。由于3個(gè)圓的相互部分重疊,導(dǎo)致維恩圖中出現(xiàn)了7個(gè)部分,分被標(biāo)示在圖中。這7個(gè)部分分別代碼如下的含義。
數(shù)字1代表的部分:沒有測試用例覆蓋的在軟件說明書中存在的程序行為。
數(shù)字2代表的部分:有測試用例覆蓋,在軟件說明說中也提到,但程序行為不可能出現(xiàn)。
數(shù)字3代表的部分:代碼測試用例已經(jīng)覆蓋,在軟件說明書也提到了并且實(shí)際程序也有這樣的行為。實(shí)際上就是當(dāng)前測試過的那部分軟件功能。
數(shù)字4代表的部分:已經(jīng)測試過的,但在軟件說明書中沒有提到的那部分軟件行為。
數(shù)字5代表的部分:在軟件說明中出現(xiàn),但尚未測試過,而且程序不可能出現(xiàn)的行為。
數(shù)字6代表的部分:未被測試,而且軟件說明書中也未明確的程序行為。
數(shù)字7代表的部分:這部分的測試用例即沒有覆蓋到程序行為,也沒有以及軟件說明書,基本屬于無效測試用例。
從以上各部分可以很快明白,作為測試工程師,應(yīng)該:
盡量減少無效的測試用例,以保證工作的有效性,即數(shù)字7的部分要盡量小。
區(qū)分不同優(yōu)先級(jí)的測試用例,比如對(duì)于數(shù)字5、數(shù)字2代表部分的測試,如果軟件說明無法更改,可以將其優(yōu)先級(jí)防止較低。
盡量提高已經(jīng)測試過的數(shù)字2部分的面積,這標(biāo)志著當(dāng)前軟件已經(jīng)完成的測試覆蓋率。
明白下一步測試的目標(biāo),重點(diǎn)就是數(shù)字1所代表的部分直到消失。
可見,利用維恩圖,我們對(duì)當(dāng)前的測試工作就會(huì)有一個(gè)總體的把握,因此在各種各樣的工作討論場合中很有用處。不論是具體的單元測試或者功能測試,還是整體的項(xiàng)目進(jìn)展,維恩圖都可以比較直觀地總結(jié)現(xiàn)階段沒有完成的工作,并提示哪些地方時(shí)下一步的重點(diǎn)。
搜索微信公眾號(hào):TestingStudio霍格沃茲的干貨都很硬核