• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 測試用例設計方法之因果圖分析方法

    發表于:2012-04-24來源:博客園作者:lonlywolf點擊數: 標簽:因果圖方法
    因果圖方法 一. 方法簡介 1.定義:是一種利用圖解法分析輸入的各種組合情況,從而設計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。 2.因果圖法產生的背景:

      因果圖方法

      一. 方法簡介

      1.定義:是一種利用圖解法分析輸入的各種組合情況,從而設計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況。

      2.因果圖法產生的背景:

      等價類劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關系。這樣雖然各種輸入條件可能出錯的情況已經測試到了,但多個輸入條件組合起來可能出錯的情況卻被忽視了。

      如果在測試時必須考慮輸入條件的各種組合,則可能的組合數目將是天文數字,因此必須考慮采用一種適合于描述多種條件的組合、相應產生多個動作的形式來進行測試用例的設計,這就需要利用因果圖(邏輯模型)。

      3.因果圖介紹

      1)4種符號分別表示了規格說明中向4種因果關系。

      2)因果圖中使用了簡單的邏輯符號,以直線聯接左右結點。左結點表示輸入狀態(或稱原因),右結點表示輸出狀態(或稱結果)。

      3)Ci表示原因,通常置于圖的左部;ei表示結果,通常在圖的右部。Ci和ei均可取值0或1,0表示某狀態不出現,1表示某狀態出現。

      4.因果圖概念

      1) 關系

     ?、俸愕龋喝鬰i是1,則ei也是1;否則ei為0。

     ?、诜牵喝鬰i是1,則ei是0;否則ei是1。

     ?、刍颍喝鬰1或c2或c3是1,則ei是1;否則ei為0。“或”可有任意個輸入。

     ?、芘c:若c1和c2都是1,則ei為1;否則ei為0。“與”也可有任意個輸入。

      2) 約束

      輸入狀態相互之間還可能存在某些依賴關系,稱為約束。例如, 某些輸入條件本身不可能同時出現。輸出狀態之間也往往存在約束。在因果圖中,用特定的符號標明這些約束。

      A.輸入條件的約束有以下4類:

     ?、?E約束(異):a和b中至多有一個可能為1,即a和b不能同時為1。

     ?、?I約束(或):a、b和c中至少有一個必須是1,即 a、b 和c不能同時為0。

     ?、?O約束(唯一);a和b必須有一個,且僅有1個為1。

     ?、躌約束(要求):a是1時,b必須是1,即不可能a是1時b是0。

      B.輸出條件約束類型

      輸出條件的約束只有M約束(強制):若結果a是1,則結果b強制為0。

      5.采用因果圖法設計測試用例的步驟:

      1)分析軟件規格說明描述中, 那些是原因(即輸入條件或輸入條件的等價類),那些是結果(即輸出條件), 并給每個原因和結果賦予一個標識符。

      2)分析軟件規格說明描述中的語義,找出原因與結果之間, 原因與原因之間對應的關系,根據這些關系,畫出因果圖。

      3)由于語法或環境限制, 有些原因與原因之間,原因與結果之間的組合情況不可能出現,為表明這些特殊情況, 在因果圖上用一些記號表明約束或限制條件。

      4)把因果圖轉換為判定表。

      5)把判定表的每一列拿出來作為依據,設計測試用例。

      二.實戰演習

      1.某軟件規格說明書包含這樣的要求:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數字,則給出信息M。

      解答:

      1)根據題意,原因和結果如下:

      原因:

      1——第一列字符是A;

      2——第一列字符是B;

      3——第二列字符是一數字。

      結果:

      21——修改文件;

      22 ——給出信息L;

      23——給出信息M。

      2)其對應的因果圖如下:

      11為中間節點;考慮到原因1和原因2不可能同時為1,因此在因果圖上施加E約束。

      3)根據因果圖建立判定表。

      表中8種情況的左面兩列情況中,原因①和原因②同時為1,這是不可能出現的,故應排除這兩種情況。表的最下一欄給出了6種情況的測試用例,這是我們所需要的數據。

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

      1)分析這一段說明,列出原因和結果

      原因:

      1.售貨機有零錢找

      2.投入1元硬幣

      3.投入5角硬幣

      4.押下橙汁按鈕

      5.押下啤酒按鈕

      結果:

      21.售貨機〖零錢找完〗燈亮

      22.退還1元硬幣

      23.退還5角硬幣

      24.送出橙汁飲料

      25.送出啤酒飲料

      2)畫出因果圖,如圖所示。所有原因結點列在左邊,所有結果結點列在右邊。建立中間結點,表示處理的中間狀態。中間結點:

      11. 投入1元硬幣且押下飲料按鈕

      12. 押下〖橙汁〗或〖啤酒〗的按鈕

      13. 應當找5角零錢并且售貨機有零錢找

      14. 錢已付清

      3)轉換成判定表:

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>