因果測試技術


因果圖來自黑箱測試技術,該技術強調了給定結果與影響結果的所有因素之間的關係。它用於編寫動態測試用例。

當程式碼根據使用者輸入動態執行時,將使用動態測試用例。例如,在使用電子郵件帳戶時,在輸入有效的電子郵件時,系統會接受它,但是當您輸入無效的電子郵件時,它會丟擲錯誤訊息。在這種技術中,輸入條件被賦予原因,並且這些輸入條件的結果具有效果。

因果圖技術基於一系列需求,用於確定可覆蓋軟體最大測試區域的最小可能測試用例。

因果圖測試的主要優點是,它減少了測試執行的時間和成本。

該技術旨在減少測試用例的數量,但仍覆蓋所有必要的測試用例,覆蓋範圍最大,以達到所需的應用程式品質。

因果圖技術通過使用ANDORNOT等邏輯運算子將需求規範轉換為輸入和輸出條件之間的邏輯關係。

因果圖中使用的符號

- E1是一種效應,C1C2是原因。如果C1C2都為真,那麼效果E1將為真。

因果測試技術

- 如果C1C2中的任何原因為真,那麼效果E1將為真。

- 如果原因C1為假,則效果E1為真。

互斥 - 只有一個原因是真的。

讓我們嘗試用一些例子來理解這種技術:

情況:

第1列中的字元應為AB,第2列中的字元應為數位。如果兩列都包含適當的值,則進行更新。如果第1列的輸入不正確,即既不是A也不是B,則將顯示訊息X。如果第2列中的輸入不正確,即輸入不是數位,則將顯示訊息Y

  • 如果第一列中的字元是「A」或「B」,則必須更新檔案,而在第二列中,字元應為數位。
  • 如果第一列中的值不正確(字元既不是A也不是B),則會顯示訊息X
  • 如果第二列中的值不正確(字元不是數位),則將顯示訊息Y

現在,將針對上述情況製作因果圖:

原因:

  • C1 - 第1列中的字元是A。
  • C2 - 第1列中的字元是B。
  • C3 - 第2列中的字元是數位。

效果:

  • E1 - 更新(C1或C2)和C3
  • E2 - 顯示資訊X(不是C1而不是C2)
  • E3 - 顯示資訊Y(非C3)

ANDORNOT是邏輯閘。

效果E1-更新 - 效果E1存在的邏輯是「(C1或C2)和C3」。對於C1或C2,C1和C2中的任何一個都應該為真。對於邏輯AND C3(第2列中的字元應為數位),C3必須為真。換句話說,對於存在效果E1(更新),任何一個來自C1和C2,但C3必須為真。可以在圖中看到原因C1和C2通過OR邏輯連線,效果E1與AND邏輯連線。

效果E2-顯示資訊X - 效果E2存在的邏輯是「非C1而不是C2」,這意味著C1(第1列中的字元應為A)和C2(第1列中的字元應為B)應為假。換句話說,對於效果E2的存在,第1列中的字元不應該是A或B。可以在圖中看到,C1或C2通過NOT邏輯與效果E2連線。

效果E3 - 顯示按摩Y-效果E3存在的邏輯是「非C3」,表示原因C3(第2列中的字元是數位)應為假。換句話說,對於效果E3的存在,第2列中的字元不應該是數位。可以在圖中看到,C3通過NOT邏輯與效果E3連線。

因此,它是給定情況的因果圖。測試人員需要將原因和結果轉換為邏輯語句,然後設計因果圖。如果函式根據輸入(原因)給出輸出(效果),則認為它是無缺陷的,如果不這樣做,則將其傳送給開發團隊進行更正。

步驟總結:

  • 畫出效果和原因的圓圈。
  • 從效果開始,然後選擇導致此效果的原因。
  • 最後繪製相互排斥的原因(通過一種效應和一種原因直接連線的獨占原因)。
  • 使用邏輯閘繪製動態測試用例。