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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Java中語句、分支和路徑覆蓋測試[1]

    發布: 2010-5-20 11:32 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 95次 | 進入軟件測試論壇討論

    領測軟件測試網

      Java中語句、分支和路徑覆蓋測試[1] 軟件測試

      代碼覆蓋是一種用來度量已執行的軟件測試水平的方法

      簡介

      代碼覆蓋是一種用來度量已執行的軟件測試水平的方法。收集覆蓋度量數據的過程很簡單:監測您的代碼,并對所監測的版本運行測試。這樣就可以生成相關數據,展示已執行哪些代碼,或者更重要的是,未執行哪些代碼。覆蓋測試是對單元測試的完美補充:單元測試可以顯示出是否代碼按預期執行,而代碼覆蓋可以表明還需要對哪些代碼進行測試。

      大多數開發人員都能理解這一過程,也贊同其價值主張,他們通常追求100%的覆蓋率。盡管100%的覆蓋率是個極好的目標,但類型不當的100%覆蓋率依然會留下未知的問題。典型的軟件開發是根據要測試的語句或分支的數量來度量覆蓋率的。即便有著100%的語句或分支覆蓋率,代碼邏輯依然可能存在嚴重的邏輯bug,只能為開發人員和管理員帶來虛假的安全感。

      為何100%的覆蓋率還不夠?這是因為語句和分支覆蓋率無法表明代碼中的邏輯是否已執行。語句和分支覆蓋對于未執行代碼塊中出現的明顯問題來說很有用,但它們經常會錯過與決策結構和決策交互相關的bug。而另一方面,路徑覆蓋則是一種有助于及早發現缺陷的更為健壯和全面的技術。

      在了解路徑覆蓋之前,先關注一下語句和分支覆蓋率方面的一些問題:

      語句覆蓋

      語句覆蓋可以識別在一個方法或類中執行了哪些語句。這是一種計算起來比較簡單的量規,現在有許多 開源產品 都可以評測這種覆蓋級別。最終,語句覆蓋的獲益在于其能夠識別未執行代碼塊。然而語句覆蓋也存在問題,其無法識別源代碼中控制流結構導致的bug,例如復合條件或者連續開關標簽。這意味著在您可以輕松獲得100%覆蓋率的同時,未發現的明顯bug依然存在。

      下例中顯示了這種問題。此處,returnInput()方法由七條語句組成,它有一個簡單的需求:輸出應等于輸入。

      圖1. 代碼示例

      接下來,您可以創建一個滿足需求并且具有100%語句覆蓋率的JUnit測試用例。

      圖2. 語句覆蓋

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: java JAVA Java 分支 路徑 語句


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>