判定表:是分析和表達多邏輯條件下執行不同操作的情況的工具。
四要素:
(1)條件樁:列出問題所有的條件;
(2)動作樁:列出問題規定可能採取的動作;
(3)條件項:列出針對所列條件的取值;
(4)動作項:列出在條件項的各種取值情況下應該採取的動作。
合併原則:
---以相同的動作項出發
---相同的條件項直接合並
---相反的條件忽略
實踐方法:
1、確定規則的個數(假定有n個條件,每個條件有兩個取值(0,1),故有2的n次方種規則);
2、列出所有的條件樁和動作樁;
3、填入條件項(如1或0);
4、填入動作項(Y);
5、簡化,合併相似規則。
優點:它能把複雜的問題按各種可能的情況一一列舉出來,簡明而易於理解,也可避免遺漏;
缺點:不能表達重複執行的動作,例如循環結構。
因果圖法:利用圖解法分析輸入的各種組合情況,得出判定表。
因果圖的基本符號
圖中左邊的節點表示原因,右邊的節點表示結果。恆等、非、或、與的含義:
恆等:若a=1,則b=1;若a=0,則b=0;
非:若a=1,則b=0,若a=0,則b=1;
或:若a=1或b=1或c=1,則d=1;若a= b= c=0,則d=0;
與:若a= b= c=1,則d=1;若a=0或b=0或c=0,則d=0。
畫因果圖時,原因在左,結果在右,由上而下排列,並根據功能說明書中規定的原因和結果之間的關係,用上述基本符號連接起來。在因果圖中還可以引入一些中間節點。
根據功能說明在因果圖中加上約束條件由於語法或環境限制,有些原因與原因之間、原因與結果之間的組合情況不可能出現。爲表明這些特殊情況,在因果圖上用一些記號表明約束或限制條件。因果圖的約束條件如圖所示:
其中互斥、包含、唯一、要求時對原因的約束,屏蔽是對結果的約束。他們的含義如下:
互斥E:表示不同時爲1,即a,b,c中至多隻有一個1;
包含I:表示至少有一個1,即a,b,c中不同時爲0;
唯一O:表示a,b,c中有且僅有一個1;
要求R:表示若a=1,則b必須爲1。即不可能a=1且b=0;
屏蔽M:表示若a=1,則b必須爲0
利用因果圖導出測試用例一般要經過以下幾個步驟:
1)分析軟件規格說明的描述中哪些是原因,哪些是結果。原因是輸入或輸入條件的等價類,結果是輸出條件。給每個原因和結果並賦予一個標識符,根據這些關係,畫出因果圖。
2)因果圖上用一些記號表明約束條件或限制條件。
3)對需求加以分析並把它們表示爲因果圖之間的關係圖。
4)把因果圖轉換成判定表。
5)將判定表的每一列作爲依據,設計測試用例。