日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

07-白盒测试方法-逻辑覆盖法

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 07-白盒测试方法-逻辑覆盖法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

邏輯覆蓋法

      • 前言
      • 邏輯覆蓋法
        • 語句覆蓋
        • 判定覆蓋
        • 條件覆蓋
        • 判定-條件覆蓋
        • 條件組合覆蓋


前言

  • 本篇來學習白盒測試方法–邏輯覆蓋法

邏輯覆蓋法

  • 邏輯覆蓋法是白盒測試最常用的測試方法,它包括語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋5種。

  • 以demo中的一個方法為例,學習5種測試方法

public void demo(boolean a, boolean b, boolean c, boolean d) {if (a && b) {System.out.println(true);} else if (c || d) {System.out.println(false);}}

語句覆蓋

  • 語句覆蓋(Statement Coverage)又稱行覆蓋、段覆蓋、基本塊覆蓋,它是最常見的覆蓋方式。語句覆蓋的目的是測試程序中的代碼是否被執行,它只測試代碼中的執行語句,這里的執行語句不包括頭文件、注釋、空行等。語句覆蓋在多分支的程序中,只能覆蓋某一條路徑,使得該路徑中的每一個語句至少被執行一次,但不會考慮各種分支組合情況。

case 設計:
# 語句覆蓋的原則是覆蓋每條語句,針對demo方法,一條測試用例即可完成覆蓋
Case 1:a=true,b=true,c=true,d=false
覆蓋路徑:ace

判定覆蓋

  • 判定覆蓋(Decision Coverage)又稱為分支覆蓋,其原則是設計足夠多的測試用例,在測試過程中保證每個判定至少有一次為真值,有一次為假值。判定覆蓋的作用是使真假分支均被執行,雖然判定覆蓋比語句覆蓋測試能力強,但仍然具有和語句覆蓋一樣的單一性。

case設計:
# 語句覆蓋并沒有考慮if語句為假(false)的情況,顯然測試并不充分。分支(判定)覆蓋可以解決這個問題
Case1:a=true,b=true,c=true,d=false
Case2:a=false,b=true,c=true,d=false

條件覆蓋

  • 條件覆蓋(Condition Coverage)指的是設計足夠多的測試用例,使判定語句中的每個邏輯條件取真值與取假值至少出現一次。

case設計:
# 條件的每個取值(即a、b、c、d均可以取true或false兩個值)。條件覆蓋能覆蓋到每個條件的每個取值,
Case1:a=true,b=false,c=true,d=false
Case2:a=false,b=true,c=false,d=true

判定-條件覆蓋

  • 判定-條件覆蓋(Condition/Decision Coverage)要求設計足夠多的測試用例,使得判定語句中所有條件的可能取值至少出現一次,同時,所有判定語句的可能結果也至少出現一次。

case設計:
# 同時滿足判定覆蓋和條件覆蓋就更好了,而判定條件覆蓋就能做到
Case 1:a=true,b=true,c=true,d=true
Case 2:a=false,b=false,c=false,d=false

條件組合覆蓋

  • 條件組合(Multiple Condition Coverage)指的是設計足夠多的測試用例,使判定語句中每個條件的所有可能至少出現一次,并且每個判定語句本身的判定結果也至少出現一次,它與判定-條件覆蓋的差別是,條件組合覆蓋不是簡單地要求每個條件都出現“真”與“假”兩種結果,而是要求讓這些結果的所有可能組合都至少出現一次。

case設計:
# 條件組合覆蓋考慮的是覆蓋每個分支(判定)中每個條件的每種組合
Case 1:a=true,b=true,c=true,d=true
Case 2:a=true,b=false,c=true,d=false
Case 3:a=false,b=true,c=false,d=true
Case 4:a=false,b=false,c=false,d=false

  • 若a&&b為true,那么a=true,b=true。若a&&b為false,那么a=true,b=false;或a=false,b=true;或a=false,b=false。若c&&d為true,那么c=true,d=true;或c=true,d=false;或c=false,d=true。若c&&d為false,那么c=false,d=false。

總結

以上是生活随笔為你收集整理的07-白盒测试方法-逻辑覆盖法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。