【正文】
N N C5:a=c嗎? Y Y N N Y Y N N C6:b=c嗎? Y N Y N Y N Y N A1:非三角形 A2:不等邊三角形 A3:等腰三角形 A4:等邊三角形 A5:不可能 四 決策表 12 決策表的各種表示方法 增加一行規(guī)則條數(shù)統(tǒng)計(jì) C1:ab+c? N Y Y Y Y Y Y Y Y Y Y C2:ba+c? N Y Y Y Y Y Y Y Y Y C3:ca+b? N Y Y Y Y Y Y Y Y C4:a=b嗎? Y Y Y Y N N N N C5:a=c嗎? Y Y N N Y Y N N C6:b=c嗎? Y N Y N Y N Y N 規(guī)則條數(shù)統(tǒng)計(jì) A1:非三角形 A2:不等邊三角形 A3:等腰三角形 A4:等邊三角形 A5:不可能 規(guī)則條數(shù)統(tǒng)計(jì) 32 16 8 1 1 1 1 1 1 1 1 四 決策表 13 決策表的各種表示方法 四 決策表 有限條目決策表 ——所有條件都是二叉條件 ?條件的順序沒有要求 若有 n個(gè)條件,必須有 ( 2n)條規(guī)則,每條規(guī)則對應(yīng)一個(gè)測試用例。 26 測試用例的設(shè)計(jì) 改進(jìn)的三角形問題的決策表 四 決策表 對于有限條目決策表: 若有 n個(gè)條件,須有 ( 2n)條規(guī)則。 四 決策表 31 測試用例的設(shè)計(jì) 冗余決策表 條件 14 5 6 7 8 9 C1:月份在 M1中嗎? Y N N N N Y C2:月份在 M2中嗎? Y Y N N N C3:月份在 M3中嗎? Y N Y N N A1: - - A2: + - - A3: - -?規(guī)則 14和 9是 冗余的 。 33 四 決策表 測試用例的設(shè)計(jì) NextDate問題 輸入條件的等價(jià)類 M1={月份 |每月 30天 } M2={月份 |每月 31天 } M3={月份 |此月為 2月 } D1={日期 |1=日期 =28} D2={日期 |日期 =29} D3={日期 |日期 =30} D4={日期 |日期 =31} Y1={年 |年是閏年 } Y2={年 |年不是閏年 } 條件 C1:月份在 M1中? Y Y … C2:月份在 M2中? Y Y … C3:月份在 M3中? Y Y … C4:日期在 D1中? Y Y Y Y Y … C5:日期在 D2中? Y Y Y Y Y … C6:日期在 D3中? Y Y Y Y … C7:日期在 D4中? Y Y Y Y … C8:年在 Y1中? … A1:不可能 A2:NextDate ? 關(guān)注不可能的組合 A1:月份中的天數(shù)太多 A2:不能出現(xiàn)在非閏年中 A3:計(jì)算 NextDate 規(guī)則總數(shù): 256個(gè) 34 測試用例的設(shè)計(jì) NextDate問題 輸入條件的等價(jià)類 M1={月份 |每月 30天 } M2={月份 |每月 31天 } M3={月份 |此月為 2月 } D1={日期 |1=日期 =28} D2={日期 |日期 =29} D3={日期 |日期 =30} D4={日期 |日期 =31} Y1={年 |年是閏年 } Y2={年 |年是平年 } ? 關(guān)注閏年 ? 關(guān)注擴(kuò)展條目決策表 日期增 1 日期復(fù)位 月份增 1 月份復(fù)位 年增 1 四 決策表 ? 擴(kuò)展動作樁 Y1={年 |年是 1900年 } Y2={年 |… } Y3={年 |… } A1: 不可能 A2: 計(jì)算 NextDate Y1 = {年 : 年 = 1900} Y2 = {: 1812 ≤年 ≤ 2023 AND (年≠ 1900) AND (年 = 0 mod 4)} Y3 = {年 : (1812 ≤年 ≤ 2023 AND年 ≠ 0 mod 4)}