上篇文章(ISO 26262中測(cè)試用例的得出方法-邊界值分析)我們介紹了等價(jià)類方法和邊界值方法,這兩種方法廣泛應(yīng)用并適用于各種類型測(cè)試的設(shè)計(jì)中,本章開(kāi)始我們介紹黑盒測(cè)試常用的其他方法,先從因果圖法開(kāi)始。
01
開(kāi)始之前
前兩篇(等價(jià)類的生成和分析、邊界值分析)介紹的等價(jià)類和邊界值法通常只分析單個(gè)輸入條件本身,不會(huì)涉及多個(gè)條件的組合,特別是不會(huì)考慮各輸入條件相互之間的邏輯制約關(guān)系。如果在測(cè)試設(shè)計(jì)時(shí)需要考慮多個(gè)輸入條件之間的組合,以及配合輸入條件的多個(gè)觸發(fā)動(dòng)作,以得出不同邏輯制約情況下的不同結(jié)果,在這種復(fù)雜情況下測(cè)試設(shè)計(jì)通常會(huì)選用因果圖法。
因果圖法會(huì)對(duì)需求進(jìn)行內(nèi)在邏輯上的深入分析,但對(duì)于分析結(jié)果的測(cè)試用例生成,不能很直觀的對(duì)測(cè)試設(shè)計(jì)人員給以體現(xiàn),需要使用判定表結(jié)合起來(lái)做測(cè)試用例的設(shè)計(jì)。
02
因果圖法的常用概念
2.1 因果圖法的測(cè)試設(shè)計(jì)步驟
使用因果圖法進(jìn)行測(cè)試分析時(shí),通常都是遇到需求說(shuō)明中邏輯關(guān)系復(fù)雜的情況,使用因果圖法分析的步驟通常如下:
1. 對(duì)需求進(jìn)行梳理,劃分出原因及輸入條件,處理過(guò)程如何進(jìn)行即中間狀態(tài)或執(zhí)行動(dòng)作,得出的結(jié)果即輸出條件。
2. 將上個(gè)步驟分析出的所有輸入條件,中間狀態(tài)或執(zhí)行動(dòng)作,輸出條件通過(guò)連線連接起來(lái),形成“因果圖”。
3. 使用因果圖法的標(biāo)準(zhǔn)符號(hào),在上個(gè)步驟的“因果圖”上標(biāo)明從原因到結(jié)果間的邏輯約束關(guān)系,這些符號(hào)也標(biāo)明了原因結(jié)果的條件組合關(guān)系在某些情況下是不會(huì)發(fā)生的。
4. 使用判定表將因果圖的每個(gè)組合逐個(gè)列出來(lái)。
5. 使用判定表法將表中每一列組合設(shè)計(jì)成一條測(cè)試用例。
2.2 因果圖法的標(biāo)記符號(hào)
繪制因果圖時(shí)會(huì)使用統(tǒng)一的標(biāo)記符號(hào),以及標(biāo)識(shí)方法。通常使用C表示原因及輸入條件,用E表示結(jié)果即輸出條件,各節(jié)點(diǎn)狀態(tài)用0表示不出現(xiàn),用1表示出現(xiàn)。
原因結(jié)果關(guān)系的基本標(biāo)識(shí)
原因和結(jié)果關(guān)系的基本標(biāo)識(shí)有以下4種:
1. 恒等關(guān)系,表示原因C1出現(xiàn)時(shí),則結(jié)果E1出現(xiàn),原因C1不出現(xiàn)時(shí),則結(jié)果E1不出現(xiàn)。
2. 非關(guān)系,表示原因C1出現(xiàn)時(shí),則結(jié)果E1不出現(xiàn),原因C1不出現(xiàn)時(shí),則結(jié)果E1出現(xiàn)。
3. 或關(guān)系,表示多個(gè)原因C1、C2、C3等至少有一個(gè)出現(xiàn)時(shí),結(jié)果E1出現(xiàn),C1、C2、C3全部不出現(xiàn)時(shí),結(jié)果E1不出現(xiàn)。
4. 與關(guān)系,表示多個(gè)原因C1、C2、C3等全部出現(xiàn)時(shí),結(jié)果E1才會(huì)出現(xiàn),C1、C2、C3只要有一個(gè)不出現(xiàn)時(shí),結(jié)果E1就不出現(xiàn)。
條件間的邏輯關(guān)系標(biāo)識(shí)
輸入和輸入,輸出和輸出間的邏輯約束關(guān)系分為5種:
1. 條件間的互斥關(guān)系,用“E”標(biāo)識(shí),表示條件C1、C2間邏輯互斥,不會(huì)同時(shí)成立,兩個(gè)條件最多有1個(gè)成立。
2. 條件間的包含關(guān)系,用“I”標(biāo)識(shí),表示多個(gè)條件C1、C2等中,必定至少有一條成立,沒(méi)有全部條件都不成立的情況。
3. 條件間的唯一關(guān)系,用“O”標(biāo)識(shí),表示多個(gè)條件C1、C2中有且僅有一條會(huì)成立,不會(huì)有全部不成立或者超過(guò)1條以上成立的情況。
4. 條件間的要求關(guān)系,用“R”標(biāo)識(shí),表示條件C1成立時(shí),條件C2必須也成立。
5. 條件間的屏蔽關(guān)系,用“M”標(biāo)識(shí),屏蔽關(guān)系通常適用于結(jié)果輸出條件間的特定邏輯約束,表示條件E1為真時(shí),E2必須是假;E1為假時(shí),E2值不確定而不一定是真。
03
因果圖法的示例
本篇我們繼續(xù)使用空調(diào)的案例在原邏輯的基礎(chǔ)上稍作改動(dòng)進(jìn)行分析。
需求規(guī)格說(shuō)明要求,在車內(nèi)溫度超過(guò)25攝氏度時(shí),打開(kāi)空調(diào)按鈕,發(fā)動(dòng)機(jī)啟動(dòng)情況下,此時(shí)風(fēng)扇啟動(dòng)吹冷風(fēng),空調(diào)壓縮機(jī)啟動(dòng);發(fā)動(dòng)機(jī)未啟動(dòng)時(shí)僅打開(kāi)風(fēng)扇。在車內(nèi)溫度低于15攝氏度時(shí),打開(kāi)空調(diào)按鈕,無(wú)論發(fā)動(dòng)機(jī)是否啟動(dòng),此時(shí)風(fēng)扇啟動(dòng)吹熱風(fēng),空調(diào)壓縮機(jī)不啟動(dòng)。溫度在15攝氏度至25攝氏度之間時(shí),打開(kāi)空調(diào)按鈕,無(wú)論發(fā)動(dòng)機(jī)是否啟動(dòng),此時(shí)僅啟動(dòng)風(fēng)扇,空調(diào)壓縮機(jī)不啟動(dòng)。
分析上段的需求說(shuō)明我們可以得出:測(cè)試中原始的輸入觸發(fā)條件為不同情況下的溫度,加上中間節(jié)點(diǎn)發(fā)動(dòng)機(jī)的啟動(dòng)狀態(tài)和空調(diào)按鈕狀態(tài),綜合判斷得出的不同輸出結(jié)果為風(fēng)扇和壓縮機(jī)的組合狀態(tài)情況。
繪制因果圖
根據(jù)需求分析,我們將最原始的輸入觸發(fā)條件的溫度分為3個(gè)初始輸入條件,實(shí)際觸發(fā)溫度有且只有1個(gè),所以初始的3個(gè)輸入條件的關(guān)系為唯一關(guān)系。在過(guò)程的中間節(jié)點(diǎn),會(huì)因?yàn)榘l(fā)動(dòng)起啟動(dòng)狀態(tài)和空調(diào)按鈕開(kāi)啟狀態(tài),綜合溫度情況,最終影響決定輸出結(jié)果的情況。
如輸入條件C1車內(nèi)溫度大于等于25攝氏度為真時(shí),C2、C3不能成立,中間狀態(tài)的發(fā)動(dòng)起狀態(tài)和空調(diào)按鈕狀態(tài)兩個(gè)條件的組合對(duì)結(jié)果的影響為或的關(guān)系,結(jié)合輸入條件C1,我們分析得知,在C1為真時(shí),如果發(fā)動(dòng)機(jī)啟動(dòng)為真,空調(diào)按鈕為假,則結(jié)果輸出風(fēng)扇關(guān)閉,壓縮機(jī)關(guān)閉;如果發(fā)動(dòng)機(jī)啟動(dòng)為假,空調(diào)按鈕為真,則結(jié)果輸出風(fēng)扇啟動(dòng),壓縮機(jī)關(guān)閉;如果發(fā)動(dòng)機(jī)啟動(dòng)為真,空調(diào)按鈕為真,則結(jié)果輸出風(fēng)扇啟動(dòng),壓縮機(jī)啟動(dòng);如果發(fā)動(dòng)機(jī)啟動(dòng)為假,空調(diào)按鈕為假,則結(jié)果輸出風(fēng)扇關(guān)閉,壓縮機(jī)關(guān)閉。其他情況我們根據(jù)需求說(shuō)明類推。
根據(jù)分析畫(huà)出因果圖如下:
生成判定表
分析畫(huà)出的因果圖對(duì)邏輯的理解有很大幫助,但是直接對(duì)照因果圖設(shè)計(jì)測(cè)試用例則不是友好。通常會(huì)使用判定表來(lái)協(xié)助設(shè)計(jì)用例,避免測(cè)試用例設(shè)計(jì)遺漏。
如下圖根據(jù)因果圖得出判定表:
使用判定表我們就可以避免在不同輸入條件組合時(shí)發(fā)生場(chǎng)景設(shè)計(jì)遺漏的情況。本實(shí)例中我們可以得出12條不同情況下的測(cè)試用例。
04
測(cè)試小結(jié)
在使用因果圖法時(shí)有如下建議:
1. 因果圖法在需求中輸入和輸出以及中間過(guò)程有復(fù)雜邏輯約束關(guān)系時(shí)使用,可以通過(guò)因果圖輕松梳理整個(gè)過(guò)程。
2. 在必要時(shí)使用因果圖法,相對(duì)前兩篇的等價(jià)類和邊界值法,因果圖法的復(fù)雜程度大大增加,推薦在必要時(shí)使用因果圖法。
3. 因果圖法必須搭配判定表使用。
參考文獻(xiàn):
1. 全國(guó)計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格考試指定用書(shū) – 軟件評(píng)測(cè)師教程.
審核編輯 黃宇
-
測(cè)試
+關(guān)注
關(guān)注
8文章
5405瀏覽量
127146 -
因果圖
+關(guān)注
關(guān)注
0文章
3瀏覽量
5313
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
上能電氣斬獲CNAS實(shí)驗(yàn)室認(rèn)可證書(shū)
LIMS系統(tǒng)在芯片實(shí)驗(yàn)室中的應(yīng)用
LIMS實(shí)驗(yàn)室管理平臺(tái)的實(shí)施步驟
實(shí)驗(yàn)室數(shù)據(jù)管理與LIMS平臺(tái)的關(guān)系
LIMS平臺(tái)提升實(shí)驗(yàn)室工作效率的方法
如何選擇合適的LIMS實(shí)驗(yàn)室管理軟件
EMC傳導(dǎo)測(cè)試整改實(shí)驗(yàn)室:打造電磁兼容性的防線
鑒源實(shí)驗(yàn)室·ISO 26262中測(cè)試用例的得出方法-等價(jià)類的生成和分析
![<b class='flag-5'>鑒</b><b class='flag-5'>源</b><b class='flag-5'>實(shí)驗(yàn)室</b>·ISO 26262中<b class='flag-5'>測(cè)試</b>用例的得出<b class='flag-5'>方法</b>-等價(jià)類的生成和分析](https://file1.elecfans.com/web2/M00/FF/62/wKgZomaol_OAF5EYAAENo2DgX3g565.png)
鑒源實(shí)驗(yàn)室·基于MQTT協(xié)議的模糊測(cè)試研究
![<b class='flag-5'>鑒</b><b class='flag-5'>源</b><b class='flag-5'>實(shí)驗(yàn)室</b>·基于MQTT協(xié)議的模糊<b class='flag-5'>測(cè)試</b>研究](https://file1.elecfans.com/web2/M00/00/46/wKgaomaofVmAGd6VAAGZG-VO-CA091.png)
鑒源實(shí)驗(yàn)室·HTTP協(xié)議網(wǎng)絡(luò)安全攻擊
![<b class='flag-5'>鑒</b><b class='flag-5'>源</b><b class='flag-5'>實(shí)驗(yàn)室</b>·HTTP協(xié)議網(wǎng)絡(luò)安全攻擊](https://file1.elecfans.com/web2/M00/FF/5B/wKgZomaofj6AGf6fAAIk38esgWM993.png)
鑒源實(shí)驗(yàn)室丨汽車入侵檢測(cè)系統(tǒng)介紹及測(cè)試
![<b class='flag-5'>鑒</b><b class='flag-5'>源</b><b class='flag-5'>實(shí)驗(yàn)室</b>丨汽車入侵檢測(cè)系統(tǒng)介紹及<b class='flag-5'>測(cè)試</b>](https://file1.elecfans.com//web2/M00/E2/8C/wKgaomY5x4SAMwWwAAC7PtEfl6Y26.webp)
評(píng)論