<sub id="l9qyp"><listing id="l9qyp"></listing></sub>

    <form id="l9qyp"><legend id="l9qyp"></legend></form>
      1. <wbr id="l9qyp"></wbr>
        1. 更多課程 選擇中心

          軟件測試培訓
          達內IT學院

          400-111-8989

          全面了解軟件測試覆蓋率的相關問題

          • 發布:test先生
          • 來源:軟件測試資源分享
          • 時間:2018-05-22 11:49

          全面了解軟件測試覆蓋率的相關問題

          網絡營銷培訓中我們有說過,我們在投放廣告的時候要盡可能多的覆蓋相應的人群,這樣才能是我們的效益最大化。同樣的,在軟件測試培訓中老師也說過,要盡可能提升軟件測試覆蓋率,這樣能使我們的測試更加充分,避免忽略掉重要的問題。但是,真的是覆蓋率越廣越好嗎?我們今天就來聊聊軟件測試覆蓋率的相關問題:

          軟件測試覆蓋率簡介

          1、定義:覆蓋率是用來度量測試完整性的一個手段,同時也是測試技術有效性的一個度量。

          2、計算:覆蓋率=(至少被執行一次的item數)/item的總數。

          3、特點:

          1)通過覆蓋率數據,可以檢測我們的測試是否充分;

          2)分析出測試的弱點在哪方面;

          3)指導我們設計能夠增加覆蓋率的測試用例,有效提高測試質量,但是測試用例設計不能一味追求覆蓋率,因為測試成本隨覆蓋率的增加而增加。

          軟件測試覆蓋率分類

          覆蓋率按照測試方法大體上可以劃分為三大類,即白盒覆蓋(white-Box Coverage)、灰盒覆蓋(Gray-Box coverage)和黑盒覆蓋(Black-Box Coverage)。

          白盒覆蓋率(white-Box Coverage)

          白盒覆蓋率中使用的最常見的就是邏輯覆蓋率(Logical Coverage ),也叫代碼覆蓋率(Code Coverage)或者結構化覆蓋率(Structural Coverage),我們常見的邏輯覆蓋包括:語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。

          1、語句覆蓋(Statement Coverage)

          1)定義:在測試時,運行被測程序后,程序中被執行的可執行語句的比率。

          2)計算公式:語句覆蓋率=(至少被執行一次的語句數量)/(可執行的語句總數)

          3)100%語句覆蓋率含義:在測試時,首先設計若干個測試用例,然后運行被測程序,使程序中的每個可執行語句至少執行一次。

          4)特點:語句覆蓋可以檢驗每個可執行語句,但是即使語句覆蓋率達到了100%,也會有缺陷發現不了,所以覆蓋率只是我們度量的手段。

          2、判定覆蓋(Decision Coverage)/分支覆蓋率(Branch Coverage)

          1)定義:在測試時,運行被測程序后,程序中所有判斷語句的取真分支和取假分支被執行到的比率。

          2)計算公式:判定覆蓋率=(判定結果被評價的次數)/(判定結果的總數)

          3)100%條件覆蓋率含義:在測試時,首先設計若干個測試用例,然后運行測試程序,使得程序中每個判斷的取真分支和取假分支至少經歷一次,即判斷的真假值均曾被滿足。

          4)特點

          (1)若判定覆蓋達到100%,則語句覆蓋必為100%。

          (2)即使判定覆蓋率達到了100%,也會有缺陷發現不了。

          3、條件覆蓋(Condition Coverage)

          1)定義:在測試時,運行被測程序后,程序中所有判斷語句中每個條件的可能取值(真值和假值)出現過的比率。

          2)計算公式:條件覆蓋率=(條件操作數值至少被評價一次的數量)/(條件操作數值的總數)

          3)100%條件覆蓋率含義:在測試時,首先設計若干個測試用例,然后運行被測試程序,要使每個判斷中每個條件的可能取值至少滿足一次。

          4)特點:覆蓋條件的測試用例不一定覆蓋判定。

          4、判定-條件覆蓋(Decision Condition Coverage)/分支條件覆蓋(Branch Condition Coverage)

          1)定義:在測試時,運行被測程序后,程序中所有判斷語句中每個條件的可能取值(真值和假值)和每個判斷本身的判定結果(為真為假)出現的比率。

          2)計算公式:判定-條件覆蓋率=(條件操作數值或判定結果至少被評價一次的數量)/(條件操作數值的總數+判定結果的總數)

          3)100%判定-條件覆蓋率含義:設計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執行一次,同時每個判斷本身的所有可能結果至少執行一次。換言之,即是要求各個判斷的所有的可能的取值組合至少執行一次。

          4)特點

          (1)判定-條件覆蓋率實際上就是判定覆蓋率和條件覆蓋率的組合。

          (2)采用判定-條件覆蓋,邏輯表達式中的錯誤不一定能夠查得出來。

          5、條件組合覆蓋(Condition combination coverage)

          1)定義:在測試時,運行被測程序后,所有語句中原子條件所有的可能的取值結果組合出現過的比率。

          2)計算公式:條件組合覆蓋率=(至少被執行一次的條件組合)/(總的可能的條件組合數)

          3)100%條件組合覆蓋率含義:設計足夠的測試用例,使得判斷中條件的各種可能組合至少出現過一次。

          4)特點:若條件組合覆蓋率為100%,則語句覆蓋率、判定覆蓋率、條件覆蓋率和判定-條件覆蓋率必為100%。

          6、路徑覆蓋(Path Coverage)

          1)定義:在測試時,運行被測程序后,程序中所有可能的路徑被執行的比率。

          2)計算公式:路徑覆蓋率=(至少被執行一次的路徑數)/(總的路徑數)

          3)100%路徑覆蓋率含義:設計足夠的測試用例,要求覆蓋程序中所有可能的路徑。

          4)特點

          (1)路徑覆蓋比判定條件覆蓋更強,但是不能包含判定條件覆蓋。

          (2)若路徑覆蓋率為100%,則語句覆蓋率、判定覆蓋率必為100%。

          小結:邏輯覆蓋率可以作為軟件測試的一個度量,但是,即使達到了100%的邏輯覆蓋率,仍然無法保證程序的正確性。

          灰盒覆蓋率(Gray-Box Coverage)

          函數覆蓋和接口覆蓋可以歸為灰盒測試的范疇。

          1、函數覆蓋

          1)定義:它表示在測試中,有哪些函數被測試到了,其被測試到的頻率有多大,這些函數在系統所有函數中占的比例有多大。

          2)計算公式:函數覆蓋=(至少被執行一次的函數數量)/(系統中函數的總數)

          3)特點:是針對一個系統或者子系統測試的。

          2、接口覆蓋(Interface Coverage)/入口點覆蓋(Entry-Point Coverage)

          1)定義:要求通過設計一定的用例使得系統的每個接口被測試到。

          2)計算公式:接口覆蓋=(至少被執行一次的接口數量)/(系統中接口的總數)

          黑盒覆蓋率(Black-Box Coverage)

          在實際測試中,與黑盒相關的覆蓋率比較少,主要是功能覆蓋率(Function Coverage),其中最常見的是需求覆蓋。

          需求覆蓋

          1)定義:它表示在測試中,有哪些函數被測試到了,其被測試到的頻率有多大,這些函數在系統所有函數中占的比例有多大通過設計一定的測試用例,要求每個需求點都被測試到。

          2)計算公式:需求覆蓋=(被驗證到的需求數量)/(總的需求總數)

          恭喜你閱讀完了本文,相信通過本文的閱讀,你已經了解了什么是軟件測試覆蓋率、軟件測試覆蓋率分為哪幾大類等問題,同樣的你也了解到了軟件測試的覆蓋率并非越高越好,這是因為覆蓋率的提升,意味著測試成本的增加,所以任何事情都需要有一個度。好了,如果你還有更多軟件測試相關的問題,歡迎你來達內軟件測試培訓機構進行咨詢。

          免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:詳述軟件測試中安全性測試的原則問題
          下一篇:軟件測試人員如何應對與開發人員認為不是bug的bug?

          軟件測試必備的數據庫知識有哪些?(終)

          日志在快速定位自動化腳本故障中的重要性研究

          測試慣例是什么?怎么打破測試慣例?

          “用鼠標點點點”的測試,未來還有機會嗎?

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          陜西省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          奇米影视奇米色777欧美欧美一级高清片在线观看876av电影高清 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>