【正文】
在決策表中應小心使用不關(guān)心條目“-” 四 決策表 ?決策表是不確定的。 四 決策表 ?決策表是確定的。 29 測試用例的設計 NextDate問題 條件 C1:月份在 M1中嗎? Y Y Y Y Y Y N N Y Y N N C2:月份在 M2中嗎? Y Y N N Y Y Y Y Y N Y N C3:月份在 M3中嗎? Y N Y N Y N Y N Y Y Y Y 規(guī)則條數(shù) 1 1 1 1 1 1 1 1 1 1 1 1 A1: A2: …… 1 2 3 4 5 6 7 四 決策表 規(guī)則總數(shù): 8個 30 測試用例的設計 NextDate問題 條件 C1:月份在 M1中嗎? Y Y Y Y N N N N C2:月份在 M2中嗎? Y Y N N Y Y N N C3:月份在 M3中嗎? Y N Y N Y N Y N 規(guī)則條數(shù) 1 1 1 1 1 1 1 1 A1:不可能 A2: …… ?識別和(開發(fā))完備決策表的能力,使我們在解決冗余性和不一致性方面處于有利地位。若存在不關(guān)心項 ,則規(guī)則中每出現(xiàn)一個不關(guān)心項,規(guī)則數(shù)乘 1次 2。 19 決策表的生成 若問題要求:“ … 對功率大于 50馬力的機器、 維修記錄不全 或已運行 10年以上的機器,應給予優(yōu)先的 維修處理 … ” 條件: 1. 功率大于 50馬力 2. 維修記錄不全 3. 運行 10年以上 四 決策表 采取的措施: 1. 進行優(yōu)先的維修處理 2. 做其它處理 1 2 3 4 5 6 7 8 問 題 功率大于 50馬力嗎? Y Y Y Y N N N N 維修記錄不全嗎? Y Y N N Y Y N N 運行 10年以上嗎? Y N Y N Y N Y N 建 議 進行優(yōu)先的維修處理 做其它處理 20 決策表的生成 檢查發(fā)貨單 If( 發(fā)貨單金額超過 $500 ) If ( 欠款超過 60天 ) 在償還欠款前不予批準 Else 發(fā)批準書及發(fā)貨單 Endif Else If( 欠款超過 60天 ) 發(fā)批準書、發(fā)貨單及賒欠報告 Else 發(fā)批準書及發(fā)貨單 Endif Endif 1 2 3 4 條件 發(fā)貨單金額 500 500 =500 =500 賒欠情況 60 =60 60 =60 操作 不發(fā)批準書 發(fā)出批準書 發(fā)出發(fā)貨單 發(fā)出賒欠報告 四 決策表 檢查 發(fā)貨單 金額 500 金額 =500 欠款 =60 欠款 60 欠款 =60 欠款 60 發(fā)批準書、發(fā)貨單 不發(fā)批準書 發(fā)批準書、發(fā)貨單 發(fā)批準書、發(fā)貨單和賒欠報告 21 4 決策表 原因 基本組成 決策表的化簡 決策表的生成 測試用例的設計 討論 22 測試用例的設計 用決策表表示測試用例,則輸入即為條件,輸出即為行動,有時,條件最終引用輸入的等價類,行動則引用軟件的主要功能處理部分 決策表可機械地強制為完備的,故可得到測試用例的完整集合 四 決策表 23 測試用例的設計 三角形問題 四 決策表 輸出的等價類 R1={a,b,c|有三條邊 a,b,c的等邊三角形 } R2={a,b,c|有三條邊 a,b,c的等腰三角形 } R3={a,b,c|有三條邊 a,b,c的不等邊三角形 } R4={a,b,c|三條邊 a,b,c不構(gòu)成三角形 } 能構(gòu)成三角形? 三角形類型? 24 測試用例的設計 三角形問題的決策表 四 決策表 C1:a,b,c構(gòu)成三角形? N Y Y Y Y Y Y Y Y C2:a=b嗎? Y Y Y Y N N N N C3:a=c嗎? Y Y N N Y Y N N C4:b=c嗎? Y N Y N Y N Y N A1:非三角形 A2:不等邊三角形 A3:等腰三角形 A4:等邊三角形 A5:不可能 通過增加行動,顯示何時規(guī)則在邏輯上 不可能滿足 通過條件選擇,擴展決策表的規(guī)模 輸入條件的等價類 D1={a,