《软件测试技术实战:设计、工具及管理》—第2章 2.2节运用决策表设计测试用例...
本節(jié)書摘來自異步社區(qū)《軟件測試技術(shù)實(shí)戰(zhàn):設(shè)計(jì)、工具及管理》一書中的第2章,第2.2節(jié)運(yùn)用決策表設(shè)計(jì)測試用例,作者顧翔,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號查看。
2.2 運(yùn)用決策表設(shè)計(jì)測試用例
決策表方法是一種很好的方法,它可以識別含有邏輯條件的系統(tǒng)需求,還可以將內(nèi)部系統(tǒng)設(shè)計(jì)文檔化。這種方法可以用來記錄一個(gè)系統(tǒng)要實(shí)施的復(fù)雜的業(yè)務(wù)規(guī)則。建立決策表時(shí),要分析規(guī)格說明,并識別系統(tǒng)的條件和動作。輸入條件和動作通常以“真”或“假”(布爾變量)的方式表述。決策表包含了觸發(fā)條件,通常還有各種輸入條件“真”或“假”的組合以及各條件組合相應(yīng)的輸出動作。決策表的每一列對應(yīng)了一個(gè)業(yè)務(wù)規(guī)則,該規(guī)則定義了各種條件的一個(gè)特定組合,以及這個(gè)規(guī)則相關(guān)聯(lián)的執(zhí)行動作。決策表測試的常見覆蓋標(biāo)準(zhǔn)是每列至少對應(yīng)一個(gè)測試用例,該測試用例通常覆蓋觸發(fā)條件的所有組合。
決策表測試的優(yōu)點(diǎn)是可以生成測試條件的各種組合,而這些組合利用其他方法可能無法被測試到。它適用于當(dāng)軟件的行為由一些邏輯決策決定的情況。
2.2.1 四邊形類型判斷系統(tǒng)
案例2-7:四邊形類型判斷系統(tǒng)。
下面來看一個(gè)例子。a、b、c、d是四邊形的4條邊,通過平行關(guān)系與是否相等來判斷四邊形的類型,四邊形如圖2-3所示。
a、b、c、d為四邊形的4條邊,可以獲得如下條件。
C1:a//c(C1=T表示a平行于c;C1=F表示a不平行于c)。
C2:b//d(C2=T表示b平行于d;C2=F表示b不平行于d)。
C3:a的長度與b是否相等。
C4:b的長度與d是否相等。
四邊形類型有。
A1:平行四邊形。
A2:非等腰梯形。
A3:等腰梯形。
A4:普通四邊形。
A5:不存在。
根據(jù)如上描述,做出決策表(由于條件有4個(gè),所以一共有24=16個(gè)組合),見表2-4。
第一列:a不平行于c,b不平行于d,a不等于c,b不等于d,判定為普通四邊形。
第二列:a不平行于c,b不平行于d,a不等于c,b等于d,判定為普通四邊形。
第三列:a不平行于c,b不平行于d,a等于c,b不等于d,判定為普通四邊形。
第四列:a不平行于c,b不平行于d,a等于c,b等于d,判定這種四邊形不存在。
第五列:a不平行于c,b平行于d,a不等于c,b等于d,判定這種四邊形為非等腰梯形。
以此類推,可以得到共十六列結(jié)果,見表2-4。
根據(jù)表2-4,下面來做一些簡化。
根據(jù)列1和2,只要C1=F、C2=F、C3=F,就可以判斷為A4。
根據(jù)列6和8,只要C1=F、C2=T、C4=T,就可以判斷為A5。
根據(jù)列4和12,只要C2=F、C3=T、C4=T,就可以判斷為A5。
根據(jù)列11和15,只要C1=T、C3=T、C4=F,就可以判斷為A5。
根據(jù)列13和14,只要C1=T、C2=T、C3=F,就可以判斷為A5。
經(jīng)過簡化后,得到表2-5。
這樣,16個(gè)測試用例就被簡化成12個(gè),于是測試用例可以設(shè)計(jì)成表2-6。
2.2.2 用戶登錄系統(tǒng)
案例2-8:用戶登錄系統(tǒng)。
下面再來看一下用戶登錄系統(tǒng)的測試用例應(yīng)該如何設(shè)計(jì)。同樣,也可以用決策表的方法。用戶登錄系統(tǒng)一般包括用戶名、密碼和驗(yàn)證碼。只要用戶名、密碼錯(cuò)誤,系統(tǒng)就會報(bào)出錯(cuò)信息:“用戶名或者密碼錯(cuò)誤”;如果用戶名、密碼都正確,驗(yàn)證碼錯(cuò)誤,系統(tǒng)報(bào)出錯(cuò)信息:“驗(yàn)證碼錯(cuò)誤”;用戶名、密碼和驗(yàn)證碼都正確,正常進(jìn)入系統(tǒng)。下面就可以考慮如何用決策表來設(shè)計(jì)測試用例。
條件如下。
- C1:正確的用戶名。
- C2:正確的密碼。
- C3:正確的驗(yàn)證碼。
動作如下。
- A1:用戶名或密碼錯(cuò)誤。
- A2:驗(yàn)證碼錯(cuò)誤。
- A3:進(jìn)入系統(tǒng)。
如上所述,可以做出登錄系統(tǒng)的決策表設(shè)計(jì)(系統(tǒng)有3個(gè)條件,所以有23=8個(gè)組合),見表2-7。
第一列:用戶名錯(cuò)誤,密碼錯(cuò)誤,驗(yàn)證碼錯(cuò)誤,得到提示信息“用戶名或密碼錯(cuò)誤”。
第二列:用戶名錯(cuò)誤,密碼錯(cuò)誤,驗(yàn)證碼正確,得到提示信息“用戶名或密碼錯(cuò)誤”。
第三列:用戶名錯(cuò)誤,密碼正確,驗(yàn)證碼錯(cuò)誤,得到提示信息“用戶名或密碼錯(cuò)誤”。
第四列:用戶名錯(cuò)誤,密碼正確,驗(yàn)證碼正確,得到提示信息“用戶名或密碼錯(cuò)誤”。
第五列:用戶名正確,密碼錯(cuò)誤,驗(yàn)證碼錯(cuò)誤,得到提示信息“用戶名或密碼錯(cuò)誤”。
第六列:用戶名正確,密碼錯(cuò)誤,驗(yàn)證碼正確,得到提示信息“用戶名或密碼錯(cuò)誤”。
第七列:用戶名正確,密碼正確,驗(yàn)證碼錯(cuò)誤,得到提示信息“驗(yàn)證碼錯(cuò)誤”。
第八列:用戶名正確,密碼正確,驗(yàn)證碼正確,進(jìn)入系統(tǒng)。
根據(jù)表2-7,下面來做些簡化。
(1)根據(jù)列1、2、3、4,只要C1=F,就可以執(zhí)行動作A1。
(2)根據(jù)列1、2、5、6,只要C2=F,就可以執(zhí)行動作A1。
簡化后,得到表2-8。
這樣,8個(gè)測試用例就簡化成4個(gè)。于是,測試用例可以這樣設(shè)計(jì):假設(shè)用戶名:Kenny,密碼:khnygh,驗(yàn)證碼:243546。登錄系統(tǒng)測試用例見表2-9。
2.2.3 飛機(jī)票定價(jià)系統(tǒng)
案例2-9:飛機(jī)票定價(jià)系統(tǒng)。
下面是一個(gè)飛機(jī)票定價(jià)系統(tǒng)的例子,需求如下。
(1)乘客可以免費(fèi)托運(yùn)重量不超過30kg(含30kg)的行李。
(2)假如行李超過30kg,其收費(fèi)標(biāo)準(zhǔn)為。
頭等艙國內(nèi)乘客:超重部分每千克收費(fèi)4元。
其他艙國內(nèi)乘客:超重部分每千克收費(fèi)6元。
外國乘客:超重部分每千克比國內(nèi)乘客多1倍。
殘疾乘客:為正常價(jià)格的半價(jià)。
(3)行李重量超出部分,不滿1kg的按照1kg計(jì)算。
經(jīng)過分析,條件如下。
C1:國內(nèi)乘客。
C2:超重游客。
C3:頭等艙乘客。
C4:殘疾乘客。
金額
A1:免費(fèi)。
A2:2元。
A3:3元。
A4:4元。
A5:6元。
A6:8元。
A7:12元。
根據(jù)如上描述做出決策表(由于條件有4個(gè),所以一共有24=16個(gè)組合)。
第一列:攜帶行李不超過30kg,普通艙,非殘疾國外乘客:免費(fèi)。
第二列:攜帶行李不超過30kg,普通艙,殘疾國外乘客:免費(fèi)。
第三列:攜帶行李不超過30kg,頭等艙,非殘疾國外乘客:免費(fèi)。
第四列:攜帶行李不超過30kg,頭等艙,殘疾國外乘客:免費(fèi)。
第五列:攜帶行李超過30kg,普通艙,非殘疾國外乘客:8元。
第六列:攜帶行李超過30kg,普通艙,殘疾國外乘客:4元。
第七列:攜帶行李超過30kg,頭等艙,非殘疾國外乘客:12元。
第八列:攜帶行李超過30kg,頭等艙,殘疾國外乘客:6元。
以此類推,可以得到所有16列的結(jié)果,見表2-10。
根據(jù)表2-10,簡化如下。
(1)根據(jù)列1、2,只要C1=F、C2=F、C3=F,就可以執(zhí)行動作A1。
(2)根據(jù)列3、4,只要C1=F、C2=F、C3=T,就可以執(zhí)行動作A1。
(3)根據(jù)列9、10,只要C1=T、C2=F、C3=F,就可以執(zhí)行動作A1。
(4)根據(jù)列11、12,只要C1=T、C2=F、C3=T,就可以執(zhí)行動作A1。
于是得到表2-11。
根據(jù)表2-11,還可以進(jìn)一步調(diào)整。
根據(jù)列1、2、7、8,只要C2=F,就可以執(zhí)行動作A1,見表2-12。
最后,16個(gè)測試用例就簡化為9個(gè)測試用例了。可以設(shè)計(jì)表2-13所示的測試用例。
總結(jié)
以上是生活随笔為你收集整理的《软件测试技术实战:设计、工具及管理》—第2章 2.2节运用决策表设计测试用例...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《数据中心设计与运营实战》——2.6 监
- 下一篇: 《淘宝店铺装修与促销设计宝典》一6.1