因果圖與決策表法


因果圖與決策表法
等價類划分與邊界值分析法主要側重於輸入條件,卻沒有考慮這些輸入之間的關系,如組合、約束等。如果程序輸入之間有作用關系,等價類划分法與邊界值分析法很難描述這些輸入之間的作用關系,無法保證測試效果。因此,需要學習一種新的方法來描述多個輸入之間的制約關系,這就是因果圖法。
因果圖法是一種利用圖解法分析輸入的各種組合情況的測試方法,它考慮了輸入條件的各種組合及輸入條件之間的相互制約關系,並考慮輸出情況。
例如,某一軟件要求輸入地址,具體到市區,如【北京-昌平區】【天津-南開區】,其中第2個輸入受到第1個輸入的約束,輸入的地區只能再輸入的城市中選擇,否則地址就是無效的。像這樣多個輸入之間有相互制約關系,就無法使用等價類划分法和邊界值法設計測試用例。因果圖法就是為了解決多個輸入之間的作用關系而產生的測試用例設計方法。
下面介紹如何使用因果圖站式多個輸入和輸出之間的關系,並且學習如何通過因果圖法設計測試用例。

1.因果圖
因果圖需要處理輸入之間的作用關系,還要考慮輸出情況,因此它包含了復雜的邏輯關系,這些復雜的邏輯關系通常用圖示來展現,這些圖示就是因果圖。
因果圖使用一些簡單的邏輯符號和直線將程序的因(輸入)與果(輸出)連接起來,一般原因用c表示,結果用e表示,c與e可以取值【0】或【1】,其中【0】表示狀態不出現,【1】表示狀態出現。

c與e之間有恆等,非、或、與4種關系,如圖2-1所示。

圖2-1展示了因果圖的4種關系,每種關系的具體含義如下所示。
(1)恆等:在恆等關系種,要求程序有1個輸入和1個輸出,輸出與輸入保持一致。若C為1,則e也為1;若C為0,則e也為0。
(2)非:非使用符號【~】表示,在這種關系中,要求程序有1個輸入和1個輸出,輸出是輸入的取反。
若C為1,則e為0;若c為0,則e為1
(3)或:或使用符號【v】表示,或關系可以有任意個輸入,只要這些輸入中有一個為1,則輸出為1,否則輸出為0.
(4)與:與使用符號【】表示,與關系耶爾可以有任意個輸入,但只有這些輸入全部為1,輸出才能為1,否則輸出為0.
在軟件測試中,如果程序有多個輸入,那么除了輸入與輸出之間的作用關系之外,這些輸入之間往往也會存在某些依賴關系,某些輸入條件本身不能同時出現,某一種輸入可能會影響其它輸入。
例如,某一個軟件用於統計體檢信息,在輸入個人信息時,性別只能輸入男或女,這兩種輸入不能同時存在,而且如果輸入性別為女,那么體檢項就會收到限制。這些依賴關系在軟件測試中稱為【約束】,約束的類別可分為4種:E、I、O、R在因果圖種,用特定的符號表明這些約束關系,如圖所示

在輸出條件的強制約束關系種,如果a為1,則b強制為0;如果a為0,則b強制為1

 

2、因果圖法設計測試用例的步驟


使用因果圖法設計測試用例需要經過以下幾個步驟
(1)分析程序規格說明書描述內容,確定程序的輸入與輸出,即確定原因和結果。
(2)分析得出輸入與輸入之間,輸入與輸出之間的對應關系,將這些輸入與輸出之間的關系使因果圖表示出來。
(3)由於語法與環境的限制,有些輸入與輸入之間,輸入與輸出之間的組合情況是不可能出現的,對於這種情況,使用符號標記它們之間的限制或約束關系。
(4)將因果圖轉換為決策表,
(5)根據決策表設計測試用例。
因果圖法考慮了輸入情況的各種組合以及各種輸入情況之間的相互制約關系,可以幫助測試人員按照一定的步驟高效率地開發測試用例。此外,因果圖是由自然語言規格說明轉化為形式語言規格說明地一種嚴格方法,它能夠發現規格說明種存在地不完整性和二義性,幫助開發人員完善產品地規格說明。


免責聲明!

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



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