標籤:
軟體測試第八周隨筆,本周軟體測試的課程已全部結束,隨筆重點回顧下因果圖。
(一)概念:
因果圖法是一種適合於描述對於多種輸入條件組合的測試方法,根據輸入條件的組合、約束關係和輸出條件的因果關係,分析輸入條件的各種組合情況,從而設計測試案例的方法,它適合於檢查程式輸入條件涉及的各種組合情況。因果圖法一般和判定表結合使用,通過映射同時發生相互影響的多個輸入來確定判定條件。因果圖法最終產生的就是判定表,它適合於檢查程式輸入條件的各種組合情況。採用因果圖法能協助我們按照一定的步驟選擇一組高效的測試案例,同時,還能指出程式規範中存在什麼問題,鑒別和製作因果圖。因果圖法著重分析輸入條件的各種組合,每種組合條件就是“因”,它必然有一個輸出的結果,這就是“果”。
(二)一些常用的固定符號:
C:表示原因(cause); Ef:代表結果(effect); 相等:; 非:;
與: ; 或:;
E: 排他(exclusive); I:at least(inclusive); R:require ;
O:only one ; M:強制標記(marking);
(三)執行個體分析:
例:產品說明書:有一個處理單價為1元5角錢的盒裝飲料的自動售貨機軟體。若投入1元5角硬幣,按下“可樂”、“雪碧”、或“紅茶”按鈕,相應的飲料就送出來。若投入的是2元硬幣,在送出飲料的同時退還5角硬幣。
以下給出用因果圖法設計這個執行個體的測試案例的具體步驟:
(1)確定軟體需求中的原因和結果:
原因:1.投入1元5角硬幣(C1); 2.投入2元硬幣(C2); 3.按“可樂”按鈕(C3);
4.按“雪碧”按鈕(C4); 5.按“紅茶”按鈕(C5);
中間狀態; 1.投幣完成; 2.按鈕完成;
結果: 1.退還5角硬幣(Ef1); 2.送出“可樂”(Ef2); 3.送出“雪碧”(Ef3); 4.送出“紅茶”(Ef4);
(2)確定原因與結果間的關係:
•退5角:Ef1=C2∧(C3∨C4∨C5) ∧E (C3,C4,C5) ∧E(C1,C2) •可樂: Ef2=C3 ∧(C1∨C2) ∧E (C3,C4,C5) ∧E(C1,C2) •雪碧: Ef3=C4 ∧(C1∨C2) ∧E (C3,C4,C5) ∧E(C1,C2) •紅茶: Ef4=C5 ∧(C1∨C2) ∧E (C3,C4,C5) ∧E(C1,C2)
(3)畫出因果圖:
(4)測試案例設計
:
C1,C2同時成立的測試案例是無法實現的。但是如果編程人員,把C1,C2用兩個變數編程,則有可能C1,C2同時成立。
由於測試人員無法測試到,這就要靠白盒測試來完成。
《軟體測試技術》課程第八周隨筆