引子:
我在這一周的軟件測試課程中學習到了有關黑盒測試中的因果圖法的相關知識。在此我將做一些歸納與總結,並給出一個使用因果圖法的自動販賣機的測試用例設計。
概述:
在黑盒測試中,有着等價類划分法、邊界值分析法、因果圖法等測試方法。但是三者存在着一些顯著的區別:前兩種方法着重於考慮輸入條件,如果程序輸入之間沒有什么聯系,采用等價類划分法和邊界值分析法比價有效,
但如果輸入之間有聯系,比如約束關系、組合關系等,這種情況下,前兩種方法是很難描述的,因此必須考慮使用一種適合與描述對於多種條件的組合,產生多個相應動作的測試方法,此時用因果圖法就相當合適。
一些常用的固定符號:
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元5角硬幣(C1); 2.投入2元硬幣(C2); 3.按“可樂”按鈕(C3); 4.按“雪碧”按鈕(C4); 5.按“紅茶”按鈕(C5);
中間狀態; 1.已投幣; 2.已按下按鈕;
結果: 1.退還5角硬幣(Ef1); 2.送出“可樂”(Ef2); 3.送出“雪碧”(Ef3); 4.送出“紅茶”(Ef4);
步驟二:確定原因與結果間的關系:
1.C2∩(C3∪C4∪C5); 2. (C1∪C2)∩C3;3. (C1∪C2)∩C4; 4. (C1∪C2)∩C5;
步驟三:畫出因果圖:
步驟四: 給出測試用例:
結語:
以上實例為簡單的測試用例演示,還有很多復雜的情況沒有考慮,隨着課程的深入,本人會在以后的博客中給出繼續的討論。