Jianyuan Lab
發(fā)布時(shí)間:2024-10-12 作者:上海工業(yè)控制安全創(chuàng)新科技有限公司 點(diǎn)擊次數(shù):次
上篇文章(ISO 26262中測(cè)試用例的得出方法-邊界值分析)我們介紹了等價(jià)類方法和邊界值方法,這兩種方法廣泛應(yīng)用并適用于各種類型測(cè)試的設(shè)計(jì)中,本章開始我們介紹黑盒測(cè)試常用的其他方法,先從因果圖法開始。
01
開始之前
前兩篇(等價(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é)合起來做測(cè)試用例的設(shè)計(jì)。
02
因果圖法的常用概念
2.1 因果圖法的測(cè)試設(shè)計(jì)步驟
使用因果圖法進(jìn)行測(cè)試分析時(shí),通常都是遇到需求說明中邏輯關(guān)系復(fù)雜的情況,使用因果圖法分析的步驟通常如下:
1. 對(duì)需求進(jìn)行梳理,劃分出原因及輸入條件,處理過程如何進(jìn)行即中間狀態(tài)或執(zhí)行動(dòng)作,得出的結(jié)果即輸出條件。
2. 將上個(gè)步驟分析出的所有輸入條件,中間狀態(tài)或執(zhí)行動(dòng)作,輸出條件通過連線連接起來,形成“因果圖”。
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è)列出來。
5. 使用判定表法將表中每一列組合設(shè)計(jì)成一條測(cè)試用例。
繪制因果圖時(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等中,必定至少有一條成立,沒有全部條件都不成立的情況。
3. 條件間的唯一關(guān)系,用“O”標(biāo)識(shí),表示多個(gè)條件C1、C2中有且僅有一條會(huì)成立,不會(huì)有全部不成立或者超過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ī)格說明要求,在車內(nèi)溫度超過25攝氏度時(shí),打開空調(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í)僅打開風(fēng)扇。在車內(nèi)溫度低于15攝氏度時(shí),打開空調(diào)按鈕,無論發(fā)動(dòng)機(jī)是否啟動(dòng),此時(shí)風(fēng)扇啟動(dòng)吹熱風(fēng),空調(diào)壓縮機(jī)不啟動(dòng)。溫度在15攝氏度至25攝氏度之間時(shí),打開空調(diào)按鈕,無論發(fā)動(dòng)機(jī)是否啟動(dòng),此時(shí)僅啟動(dòng)風(fēng)扇,空調(diào)壓縮機(jī)不啟動(dòng)。
分析上段的需求說明我們可以得出:測(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)系。在過程的中間節(jié)點(diǎn),會(huì)因?yàn)榘l(fā)動(dòng)起啟動(dòng)狀態(tài)和空調(diào)按鈕開啟狀態(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ù)需求說明類推。
根據(jù)分析畫出因果圖如下:
生成判定表
分析畫出的因果圖對(duì)邏輯的理解有很大幫助,但是直接對(duì)照因果圖設(shè)計(jì)測(cè)試用例則不是友好。通常會(huì)使用判定表來協(xié)助設(shè)計(jì)用例,避免測(cè)試用例設(shè)計(jì)遺漏。
如下圖根據(jù)因果圖得出判定表:
使用判定表我們就可以避免在不同輸入條件組合時(shí)發(fā)生場(chǎng)景設(shè)計(jì)遺漏的情況。本實(shí)例中我們可以得出12條不同情況下的測(cè)試用例。
04
測(cè)試小結(jié)
在使用因果圖法時(shí)有如下建議:
1. 因果圖法在需求中輸入和輸出以及中間過程有復(fù)雜邏輯約束關(guān)系時(shí)使用,可以通過因果圖輕松梳理整個(gè)過程。
2. 在必要時(shí)使用因果圖法,相對(duì)前兩篇的等價(jià)類和邊界值法,因果圖法的復(fù)雜程度大大增加,推薦在必要時(shí)使用因果圖法。
3. 因果圖法必須搭配判定表使用。
參考文獻(xiàn):
1. 全國(guó)計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格考試指定用書 – 軟件評(píng)測(cè)師教程.