肖SIR__設計測試用例方法之因果圖__5.4


因果圖:

(1)定義:

因果圖提供了一個把規格轉化為判定表的系統化方法,從該圖中可以產生測試數據。其 中,
原因是表示輸入條件,結果是對輸入執 行的一系列計算后得到的輸出
(2)作用:
因果圖方法最終生成的就是判定表。它適合於檢查軟件輸入條件的各種組合情況
(3)

 

 

 

a.因果圖中的約束
在實際問題中輸入狀態相互之間、輸出狀 態相互之間可能存在某些依賴關系,稱為“約 束”。對於輸入條件的約束有E、I、O、R四種 約束,
對於輸出條件的約束只有M約束。
ØE約束(異):a和b中最多有一個可能為1,即a和b不能 同時 為1。
ØI 約束(或):a、b、c中至少有一個必須為1,即 a、b、 c不能同時為0。
ØO約束(唯一):a和b必須有一個且僅有一個為1。
ØR約束(要求):a是1時,b必須是1,即a為1時,b不能 為0。
ØM約束(強制):若結果a為1,則結果b強制為0。
b.因果圖中的4種基本關系
在因果圖的基本符號中,圖中的左結點ci 表示輸入狀態
(或稱原因),右結點ei表示輸出 狀態(或稱結果)。ci與
ei取值0或1,0表示某 狀態不出現,1則表示某狀態出現。
Ø恆等:若 c1 是1,則 e1 也為1,否則 e1 為0。
Ø非:若 c1 是1,則 e1 為0,否則e1為1。
Ø或:若 c1 或 c2 或 c3 是1,則 e1 為1,否則 e1 為0。
Ø與:若 c1 和 c2 都是1,則 e1 為1,否則 e1 為0。
 
(4)
因果圖轉換判定表的方法:
1. 將因果圖中的所有條件(因)填入判定表 的條件樁中;
2. 將因果圖中的所有動作(果)填入判定表 的動作樁中;
3. 根據因果圖確定各個條件組合對應的動作, 並且確定判定表中各個規則的條件項和動 作項,
在需要時優化判定表。
(5)
因果圖的步驟:
1.把大的系統規格划分解成可以測試的規格片段
2.分析分解后待測的系統規格,找出哪些是原因,哪些是結果
3.畫出因果圖
4.把因果圖轉換成判定表
5.簡化判定表
6.用判定表中的每一列生成測試用例
(6)
因果圖的優點/缺點
優點:
1. 等價類法盡管各個輸入條件可能出錯的情況都考慮 到了,但是多個輸入條件組合起來出錯的情況卻被 忽略了
2. 因果圖法能夠幫助我們按照一定步驟,高效的選擇 測試用例,設計多個輸入條件組合用例
3. 因果圖分析還能為我們指出,程序規格說明描述中 存在什么問題
缺點:
1. 輸入條件與輸出結果的因果關系,有時難以從軟件 需求規格說明書得到
2. 即使得到了這些因果關系,也會因為因果關系復雜 導致因果圖非常龐大,測試用例數目及其龐大
 
================================
案例:
因果圖案例:
一個處理單價為5角錢的飲料的自 動售貨機。其規格說明如下:
若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,則相應的飲料就送出來。若售貨機沒有零錢找,則一個顯示〖零錢找完〗的紅燈亮,這時在投入1元硬幣並押下按鈕后,飲料不送出來而且1元硬幣也退出來;若有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時退還5角硬幣
 

 

 

 

 

 

 案例3:

案例;
某軟件規格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數字,則給出信息M。
解答:
根據題意,原因和結果如下:
原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一個數字。
結果:
21——修改文件;
22 ——給出信息L;
23——給出信息M。
其對應的因果圖如下:
11為中間節點;考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM