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

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

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

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

    (一)使用 EMMA 測量測試覆蓋率

    發布: 2009-6-03 10:05 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 122次 | 進入軟件測試論壇討論

    領測軟件測試網  本文主要通過一個示例項目介紹如何在集成了 AntJunit 的基礎上,利用 EMMA 來收集單元測試對代碼的覆蓋率。
            介紹測試代碼覆蓋率的重要性

           測試驅動開發TDD)是極限編程的一個重要特點,它具有很多優點,并被越來越多的開發人員所接受。在測試驅動開發過程中,程序員經歷了編寫測試用例,實現功能,重構代碼這個不斷迭代的過程。實踐證明,這個過程能顯著提高我們的生產效率,并產生高質量的代碼。它還能給我們以自信,讓我們放心的重構自己的代碼。

            測試代碼確實能夠保證代碼的質量,但如果你以為自己已經寫了一堆測試用例,并都能運行通過時,就能高枕無憂了,那么你錯了。隱藏的 Bug 也許只是在等待時機讓你的系統崩潰。這是什么原因呢?聰明的你肯定已經想到,測試代碼是用來保證功能代碼的質量的,但測試代碼的質量如何,我們不得而知。我們需要知道,我們辛苦編寫的測試代碼到底覆蓋了多少功能代碼,這就是我寫這篇文章的出發點,我將介紹一種測試代碼覆蓋率的工具 - EMMA。

    介紹 EMMA

            EMMA 是一個用于檢測和報告 JAVA 代碼覆蓋率的開源工具。它不但能很好的用于小型項目,很方便得得出覆蓋率報告,而且適用于大型企業級別的項目。

            EMMA 有許多優點,首先你能免費得到它,并把它用于自己項目的開發。它支持許多種級別的覆蓋率指標:包,類,方法,語句塊(basic block)和行,特別是它能測出某一行是否只是被部分覆蓋,如條件語句短路的情況。它能生成 text,xml,html 等形式的報告,以滿足不同的需求,其 html 報告提供下鉆功能,我們能夠從 package 開始一步步鏈接到我們所關注的某個方法。EMMA 能和 Makefile 和 Ant 集成,便于應用于大型項目。特別還須指出的一點是,EMMA 的效率很高,這對于大型項目來說很重要。

            EMMA 是通過向 .class 文件中插入字節碼的方式來跟蹤記錄被運行代碼信息的。EMMA 支持兩種模式:On the fly 和 Offline 模式。

            On the fly 模式往加載的類中加入字節碼,相當于用 EMMA 實現的 application class loader 替代原來的 application class loader。

            Offline 模式在類被加載前,加入字節碼。

            On the fly 模式比較方便,缺點也比較明顯,如它不能為被 boot class loader 加載的類生成覆蓋率報告,也不能為像 J2EE 容器那種自己有獨特 class loader 的類生成覆蓋率報告。這時,我們能求助于 Offline 模式。

            EMMA 也支持兩種運行方式:Command line 和 Ant。

            命令行一般和 On the fly 模式一起適用,對于簡單的項目能夠快速產生覆蓋率報告。通過 Ant task 來運行 EMMA 的話,特別適用于大型的項目。

            本文后面提供的實例主要是演示如何集成 EMMA 和 Ant,通過 Offline 模式產生覆蓋率報告。

    示例項目

           

    延伸閱讀

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

    TAG: EMMA 覆蓋率

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>