1、概念:
因果圖就是把所有輸入和輸出列出來,用線和不同的符號將輸入和輸出之間的因果關(guān)系,以及輸入與輸入之間的約束關(guān)系都標記出來,這樣的一張圖叫因果圖。
2、使用條件:
輸入條件比較多或約束關(guān)系也比較多,直接做判定表比較復(fù)雜
(ps:輸入條件比較少時,我們可以直接用判定表法)
3、使用步驟:
做因果圖
根據(jù)因果圖作出判定表
簡化判定表,合并冗余的測試用例,剔除非法的測試用例
寫出最簡的測試用例集合
如上,因果圖是在輸入情況復(fù)雜時幫我們理清各種關(guān)系,從而能順利作出判定表的一種設(shè)計方法。
4、輸入和輸入的關(guān)系:
異:所有輸入條件中至多一個條件會發(fā)生。這些輸入條件是互斥的,不可能同時發(fā)生,也可能一個都不發(fā)生。
(比如下文例子中的第一個字符輸入,可能是A,也可能是B,或者既不是A也不是B,所以輸入A和輸入B就屬于異的關(guān)系,至多一個會發(fā)生)
或:所有輸入條件中至少一個條件會發(fā)生,這些輸入條件之間并沒有直接關(guān)系,所以互相不會影響是否發(fā)生。
(比如下文例子中的輸入兩個字符,第一個字符輸入和第二個字符相互不影響,屬于或的關(guān)系)
唯一:所有輸入條件中有且只有一個條件會發(fā)生。
(比如下文例子中的第一個字符輸入A輸入B或者輸入既不是A也不是B,這三個輸入條件有且只有一個會發(fā)生)
要求:所有輸入條件中有一個發(fā)生,其它輸入條件也會發(fā)生。這個輸入影響其他輸入。
5、輸入和輸出的關(guān)系:
與:當所有輸入條件都發(fā)生時,才會產(chǎn)生對應(yīng)的輸出。
或:當多個輸入條件中至少有一個發(fā)生時,就會產(chǎn)生對應(yīng)的輸出。
非:當輸入條件發(fā)生時,對應(yīng)輸出一定不會產(chǎn)生。
恒等:當輸入條件發(fā)生時,對應(yīng)輸出一定會產(chǎn)生。
6、舉個例子:
售貨機:簡化情況,假設(shè)投幣只有1元和5毛兩種;零錢默認都是5毛;有橙汁和可樂兩種飲料,飲料價格均為5毛;機器沒零錢的時候零錢找完的燈會亮
第一步:梳理輸入與輸入,輸入與輸出之間的約束關(guān)系
輸入:
(1)售貨機有零錢
(2)投幣1元
(3)投幣5毛
(4)按橙汁按鈕
(5)按可樂按鈕
輸出:
(21)零錢找完的燈亮
(22)退回1元
(23)退回5毛
(24)出橙汁
(25)出可樂
輸入與輸入的約束關(guān)系:
(2)、(3)是異的關(guān)系,至多出現(xiàn)一個,可能一個都不發(fā)生
(4)、(5)是異的關(guān)系,至多出現(xiàn)一個,可能一個都不發(fā)生
輸入與輸出的約束關(guān)系:
(1)、(21)是非的關(guān)系
第二步:繪制因果圖

第三步:繪制判定表

第四步:根據(jù)判定表寫測試用例
詳情省~~