◆版權聲明:本文出自胖喵~的博客,轉載必須注明出處。
轉載請注明出處:http://www.cnblogs.com/by-dream/p/5336918.html
前言
在程序設計過程中,經常會出現多層邏輯控制的嵌套,而這樣的嵌套關系往往會導致我們不能直觀的看出程序的邏輯關系,這會導致在測試過程中比較容易出現遺漏。因此我們需要引入決策表、決策樹,其中決策表就是設計邏輯控制時十分重要的一個工具。
決策表
先看看定義(雖然並且沒多少人能一眼看懂),但我還是決定先列在這里,等你閱讀了后面例子之后就會明白。 概念:決策表是分析和表達多邏輯條件下執行不同操作的工具。
其次我們來看看決策表的構成:
條件樁——列出問題的所有條件
條件項——針對條件樁給出的條件列出所有可能的取值
動作樁——列出問題規定的可能采取的操作
動作項——支出在條件項的各組取值情況下應采取的動作
規則——任何一個條件組合的特定取值及其相應要執行的操作稱為規則。在判定表中貫穿條件項和動作項的一列就是一條規則。
這里我們用一個例子來看看:
一個Party的收費標准:
1、一般男士收費為 1000
2、一般女士收費為 800
3、大於30歲的人士收費為 500
4、月收入超過5w的男士收取 200
首先根據上面的信息我們可以抽取出如下條件:
一個完整的決策表建立步驟應該是:
1、確定規則個數
2、列出所有的條件樁和動作樁
3、填入條件項
4、填入動作樁和動作項,得到初始決策表
5、化簡,合並相似規則
6、依據決策表,選擇測試數據,設計測試用例
最終生成的決策表樣例如下圖:
這里需要說明一下:我們在看這個表的時候,需要看條件項的列,一列條件項對應一個動作項的結果,也就是一個測試case。
當然決策表也可以是這個樣子的:
當構建完決策表后,我們可能會擔心遺漏一些內容,這個時候就需要用決策樹來驗證一下。
決策樹
判斷是否有遺漏就是每個子節點的根需要將其葉子節點的所有結果都畫出來,然后檢驗一下是否有遺漏即可。