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

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

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

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

    提高測試覆蓋度

    發布: 2009-6-22 10:50 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 169次 | 進入軟件測試論壇討論

    領測軟件測試網

    測試覆蓋度評估是衡量階段性軟件測試執行狀態的重要手段之一,來確定測試是否達到事先設定的測試任務完成的標準。測試覆蓋率則是測試覆蓋度評估中一種量化的表示方法,一般通過被測試的軟件產品需求、功能點、測試用例數或程序代碼行等來進行計算。

        軟件測試覆蓋率常用的計算公式:

    功能覆蓋率=至少被執行一次的測試功能點數/測試功能點總數(功能點) 需求覆蓋率=被驗證到的需求數量/總的需求數量(需求) 覆蓋率=至少被執行一次的測試用例數/應執行的測試用例總數(測試用例) 語句覆蓋率=至少被執行一次的語句數量/有效的程序代碼行數 判定覆蓋率=判定結果被評價的次數/判定結果總數 條件覆蓋率= 條件操作數值至少被評價一次的數量/條件操作數值的總數 判定條件覆蓋率=條件操作數值或判定結果至少被評價一次的數量/(條件操作數值總數+判定結果總數) 上下文判定覆蓋率=上下文內已執行的判定分支數和/(上下文數*上下文內的判定分支總數) 基于狀態的上下文入口覆蓋率=累加每個狀態內執行到的方法數/(狀態數*類內方法總數) 分支條件組合覆蓋率=被評測到的分支條件組合數/分支條件組合數 路徑覆蓋率= 至少被執行一次的路徑數/程序總路徑數

     除此之外,覆蓋率還包括類覆蓋率、函數覆蓋率、代碼塊覆蓋率等,如EMMA中

    測試評估可以說貫穿整個軟件測試過程,可以在測試每個階段結束前進行,也可以在測試過程中某一個時間進行,目的只有一個,提高測試覆蓋度,保證測試的質量。通過不斷的測試覆蓋度評估或測試覆蓋率計算,及時掌握測試的實際狀況與測試覆蓋度目標的差距,及時采取措施,就可以提高測試的覆蓋度。

    測試覆蓋度的評估依賴于不同的測試階段或不同的測試方法。如在單元測試中,測試覆蓋率是建立在被測試的代碼行、程序分支和程序路徑等的度量之上,從軟件質量保證的要求出發,單元測試的覆蓋率要達到80%之上。白盒測試方法主要以程序語句、判定-條件、條件組合和(基本)路徑等覆蓋率來衡量,和單元測試是吻合的。而在系統功能測試中,則以功能點、測試用例、需求數等覆蓋率來衡量。

    要獲得、提高測試覆蓋率,常常需要借助測試工具。下面就以兩個測試工具為例。

    1. EMMA

        EMMA是一個用于檢測和報告JAVA代碼覆蓋率的開源工具,支持許多種級別的覆蓋率指標:包,類,方法,語句塊(basic block)和行,特別是能測出某一行是否只是被部分覆蓋,如條件語句短路的情況。EMMA能生成text、xml、html等形式的報告,以滿足不同的需求,其html報告提供逐層細化查詢功能,能夠從package開始一步步鏈接到我們所關注的某個方法。EMMA能和Makefile和Ant集成,效率很高,便于應用于大型項目。

        EMMA是通過向.class文件中插入字節碼的方式來跟蹤記錄被運行代碼信息的。EMMA支持兩種模式:On the fly和Offline模式。On the fly模式往加載的類中加入字節碼,相當于用EMMA實現的application class loader替代原來的application class loader。On the fly模式比較方便,缺點也比較明顯,如不能為被boot class loader加載的類生成覆蓋率報告,也不能為像J2EE容器那種自己有獨特class loader的類生成覆蓋率報告。這時,必須求助于Offline模式,Offline模式是在類被加載前,加入字節碼。EMMA也支持兩種運行方式:Command line和Ant。

         2.Rational PureCoverage

    PureCoverage是一個面向VC, VB或者Java開發的測試覆蓋程度檢測工具,可以自動檢測測試完整性和未被測試的范圍,在每一個測試階段生產詳盡的測試覆蓋程度報告。PureCoverage將在一個對話框中列出所有應用程序模塊,開發人員只需針對每個應用程序構件,就可以簡單地設置基于代碼行或函數的代碼覆蓋級別。不僅可以查看每次程序運行的圖形化覆蓋數據,還可以直接地、實時地控制覆蓋數據的記錄。對于最關心或最重要的功能模塊,可以詳細地收集覆蓋數據;而對于不太重要的模塊, 只收集較常規的覆蓋數據,幫助開發人員進行有效地測試。

            系統的測試活動,依據測試目標,建立在至少一個測試覆蓋策略基礎上,而覆蓋策略幫助進行測試覆蓋度的有效評估。覆蓋策略有

    基于需求的測試覆蓋評估,依賴于對已執行/運行的測試用例的核實和分析,所以基于需求的測試覆蓋評測就轉化為評估測試用例覆蓋率:測試的目標是確保100%的測試用例全部成功地執行。 基于代碼的測試覆蓋評估,是對被測試的程序代碼語句、路徑或條件的覆蓋率分析。如果應用基于代碼的覆蓋,則測試策略是根據測試已經執行的源代碼的多少來表示的。這種測試覆蓋策略類型對于安全至上的系統來說非常重要。
        如果測試需求已經完全分類,則基于需求的覆蓋策略可能足以生成測試完全程度評測的量化指標。例如,如果已經確定了所有性能測試需求,則可以引用測試結果來得到評測,如已經核實了90%的性能測試需求。除此之外,如果測試軟件的數量較大,還要考慮數據量。

    延伸閱讀

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

    TAG: 覆蓋度


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