軟件測試 | 黑盒測試方法—因果圖
因果圖法是一種利用圖解法分析輸入與輸出的各種組合情況,從而設(shè)計測試用例的方法。
因果圖法比較適合輸入條件比較多的測試場景,可以測試所有的輸入條件的排列組合。因果圖的“因”就是輸入條件,因果圖的“果”就是輸出結(jié)果。
1.因果圖適用場景
等價類劃分法和邊界值分析法都是著重考慮輸入條件,但沒有考慮輸入條件的組合以及制約關(guān)系。如果在測試時必須考慮輸入條件的各種組合,那各種組合的數(shù)目可能非常多,所以必須考慮采用一種合適的方法對條件組合進行分析、簡化。最終目的是用最少的測試用例覆蓋最全面的場景。
2.因果圖中的基本符號

(1)恒等原因和結(jié)果都只能取2個值,1代表條件成立,0代表條件不成立。恒等相當于原因成立,則結(jié)果出現(xiàn);若原因不成立,則結(jié)果也不出現(xiàn)。恒等關(guān)系用“—”來表示。
(2)非原因和結(jié)果相反。若原因成立,則結(jié)果不出現(xiàn);若原因不成立,則結(jié)果出現(xiàn)。非的關(guān)系用“~”表示。
(3)或有多個原因。若幾個原因中有一個成立,則結(jié)果出現(xiàn);若幾個原因都不成立,則結(jié)果不出現(xiàn)?;虻年P(guān)系用“V”來表示。
(4)與有多個原因。只有幾個原因都成立,結(jié)果才會出現(xiàn);若其中一個原因不成立,則結(jié)果不出現(xiàn)。與的關(guān)系用“^”來表示。
3.因果圖中的約束條件
因果圖中除了4種基本關(guān)系之外還會有一些約束。從原因考慮有4種約束:互斥、包含、唯一、要求。從結(jié)果考慮有1種約束:屏蔽。
(1)互斥(E):可不選,要選最多選一個。
(2)包含(I):至少選一個,可以多選。
(3)唯一(O):必選,且只能選一個
(4)要求(R):一個出現(xiàn),另一個一定出現(xiàn);反之,另一個不確定。
(5)屏蔽(M):a成立時,b不成立;a不成立時,b不確定。
唯一和互斥的區(qū)別是:唯一表示必須選且只能選一個;互斥表示可以不選,如果選只能選一個。
4.因果圖法基本步驟
(1)找出所有的原因,原因即輸入條件或輸出條件的等價類。
(2)找出所有的結(jié)果,結(jié)果即輸出條件。
(3)明確找出輸入條件之間的制約條件,以及組合關(guān)系,判斷條件是否可以組合。
(4)明確所有輸出條件之間的制約條件,以及組合關(guān)系,判斷結(jié)果是否可以同時輸出。
(5)找出不同輸入條件組合會產(chǎn)生哪些輸出結(jié)果。
(6)將因果圖轉(zhuǎn)換成判定表。
(7)把判定表或決策表中每一列表示的情況設(shè)計成測試用例。
搜索微信公眾號:TestingStudio霍格沃茲的干貨都很硬核