軟件測試——因果圖法

要檢查輸入條件的組合不是一件容易的事情,即便把全部輸入條件劃分紅等價類,他們之間的組合狀況也至關多。所以必須考慮採用一種適合於描述對於多種條件的組合,相應產生多個動做的形式來考慮設計測試用例。這就須要利用因果圖(邏輯模型)。因果圖方法最終生成的就是斷定表,它適合於檢查程序輸入條件的各類組合狀況。 測試

符號測試
因果圖中使用了簡單的邏輯符號,以直線聯接左右結點。左結點表示輸入狀態(或稱緣由),右結點表示輸出狀(或稱結果) 。
ci表示緣由,一般置於圖的左部;ei表示結果,一般在圖的右部。ci和ei都可取值0或1,0表示某狀態不出現,1表示某狀態出現(i是一個整數)。請看下圖。 spa

因果圖概念—關係。 4種符號分別表示了規格說明中向4種因果關係,如上圖所示。
    ①恆等:若ci是1,則ei也是1;不然ei爲0。
    ②非:若ci是1,則ei是0;不然ei是1。
    ③或:若c1或c2或c3是1,則ei是1;不然ei爲0。「或」可有任意個輸入。
    ④與:若c1和c2都是1,則ei爲1;不然ei爲0。「與」也可有任意個輸入

因果圖概念--約束。
    輸入狀態相互之間還可能存在某些依賴關係,稱爲約束。例如, 某些輸入條件自己不可能同時出現。輸出狀態之間也每每存在約束。在因果圖中,用特定的符號標明這些約束。
輸入條件的約束有如下4類,以下圖: 。
    ① E約束(異):a和b中至多有一個可能爲1,即a和b不能同時爲1。
   ② I約束(或):a、b和c中至少有一個必須是1,即 a、b 和c不能同時爲0。
   ③ O約束(惟一);a和b必須有一個,且僅有1個爲1。
   ④R約束(要求):a是1時,b必須是1,即不可能a是1時b是0。

設計

利用因果圖生成測試用例的步驟
分析軟件規格說明描述中,那些是緣由(即輸入條件或輸入條件的等價類),那些是結果(即輸出條件), 並給每一個緣由和結果賦予一個標識符。
分析軟件規格說明描述中的語義。找出緣由與結果之間,緣由與緣由之間對應的關係。根據這些關係,畫出因果圖。 ci

因爲語法或環境限制,有些緣由與緣由之間,緣由與結果之間的組合狀況不不可能出現。 爲代表這些特殊狀況,在因果圖上用一些記號代表約束或限制條件。
把因果圖轉換爲斷定表。 軟件

實戰:有一個處理單價爲5角錢的飲料的自動售貨機軟件測試用例的設計。其規格說明以下:若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,則相應的飲料就送出來。若售貨機沒有零錢找,則一個顯示〖零錢找完〗的紅燈亮,這時在投入1元硬幣並押下按鈕後,飲料不送出來並且1元硬幣也退出來;如有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時退還5角硬幣。 語法

相關文章
相關標籤/搜索