qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          覆蓋率測(cè)試工具(coverage tool)

           java:
            Emma:優(yōu)點(diǎn):1 開(kāi)源軟件;2 支持ANT TASK;Emma 是開(kāi)源的,同時(shí)它對(duì)應(yīng)用程序執(zhí)行速度的影響非常小。
            缺點(diǎn):1 ANT TASK的參數(shù)指定較弱,coverage參數(shù)需要追加配置文件。
            EMMA是一個(gè)免費(fèi)且開(kāi)源的Java代碼覆蓋率測(cè)試工具,100%純Java編寫,不依賴與任何第三方庫(kù)。和其他代碼覆蓋率測(cè)試工具不同,EMMA支持大型項(xiàng)目的團(tuán)隊(duì)開(kāi)發(fā),每個(gè)開(kāi)發(fā)人員都可以從中受益。
            EMMA通過(guò)對(duì)Class文件進(jìn)行增強(qiáng)以測(cè)試覆蓋率,它提供了Offline和Fly兩種模式,在Fly模式下,EMMA不改動(dòng)編譯后的Class文件,僅僅在Class文件被ClassLoader裝載時(shí)才進(jìn)行增強(qiáng)。【AOP技術(shù)】
            EMMA支持對(duì)類,方法,代碼行和基本的分支語(yǔ)句的覆蓋率測(cè)試,并提供了多種格式的報(bào)告,包括純文本,HTML和XML,所有的報(bào)告都可以進(jìn)行詳細(xì)設(shè)置以獲得定制報(bào)告。
            使用EMMA時(shí),不需要獲得源代碼就可進(jìn)行覆蓋率測(cè)試,此外,EMMA還支持對(duì)整個(gè)jar文件測(cè)試。
            EMMA默認(rèn)提供了對(duì)Ant的集成,通過(guò)擴(kuò)展EMMA還可以提供對(duì)Maven和Eclipse的支持。
            EclEmma:
            EclEmma的出現(xiàn)彌補(bǔ)了 Emma 用戶一個(gè)大的遺憾 ---- 缺乏圖形界面以及對(duì)集成開(kāi)發(fā)環(huán)境的支持。將 Eclipse 和 Emma 這兩個(gè)在各自領(lǐng)域最為優(yōu)秀的工具結(jié)合起來(lái),這就是 EclEmma 為我們提供的。接下來(lái),我們就要在后續(xù)章節(jié)中和讀者朋友一起看看 EclEmma 為開(kāi)發(fā)人員提供了什么。
            Cobertura:
            優(yōu)點(diǎn):1 開(kāi)源軟件;2 支持MARVEN
            缺點(diǎn):1 可定制參數(shù)太少,UTF-8編碼文件,直接掛掉,從文件的輸出上來(lái)看,還是以xml,html生成為主。
            http://www.ibm.com/developerworks/cn/java/j-lo-eclemma/index.html 使用 EclEmma 進(jìn)行覆蓋測(cè)試
            2007 年 5 月 10 日;級(jí)別: 初級(jí) ;甘 志 (ganzhi@cn.ibm.com), 軟件工程師, IBM 中國(guó)軟件開(kāi)發(fā)中心實(shí)驗(yàn)室
            覆蓋測(cè)試是衡量測(cè)試質(zhì)量的一個(gè)重要指標(biāo)。在對(duì)一個(gè)軟件產(chǎn)品進(jìn)行了單元測(cè)試、組裝測(cè)試、集成測(cè)試以及接受測(cè)試等繁多的測(cè)試之后,我們能不能就此對(duì)軟件的質(zhì)量產(chǎn)生一定的信心呢?這就需要我們對(duì)測(cè)試的質(zhì)量進(jìn)行考察。如果測(cè)試僅覆蓋了代碼的一小部分,那么不管我們寫了多少測(cè)試用例,我們也不能相信軟件質(zhì)量是有保證的。相反,如果測(cè)試覆蓋到了軟件的絕大部分代碼,我們就能對(duì)軟件的質(zhì)量有一個(gè)合理的信心。本文將介紹一個(gè)優(yōu)秀的開(kāi)源軟件測(cè)試工具 EclEmma,它能夠?qū)τ?Java 語(yǔ)言編寫的程序進(jìn)行覆蓋測(cè)試,從而對(duì)程序運(yùn)行的結(jié)果生成詳盡的覆蓋測(cè)試報(bào)告。
          ========================
          linux+ c/c++ +gcc:
          gcov/lcov:
          http://ggcov.sourceforge.net
          http://blog.csdn.net/livelylittlefish/article/details/6321861
          http://blog.csdn.net/livelylittlefish/article/details/6321887

           1. gcov是什么?
            Gcov is GCC Coverage
            是一個(gè)測(cè)試代碼覆蓋率的工具
            是一個(gè)命令行方式的控制臺(tái)程序
            伴隨GCC發(fā)布,配合GCC共同實(shí)現(xiàn)對(duì)C/C++文件的語(yǔ)句覆蓋和分支覆蓋測(cè)試;
            與程序概要分析工具(profiling tool,例如gprof)一起工作,可以估計(jì)程序中哪一段代碼最耗時(shí);
            注:程序概要分析工具是分析代碼性能的工具。
            2. gcov能做什么?
            gcov可以統(tǒng)計(jì)
            每一行代碼的執(zhí)行頻率
            實(shí)際上哪些代碼確實(shí)被執(zhí)行了
            每一段代碼(section code)的耗時(shí)(執(zhí)行時(shí)間)
            因此,gcov可以幫你優(yōu)化代碼,當(dāng)然這個(gè)優(yōu)化動(dòng)作還是應(yīng)該有開(kāi)發(fā)者完成。
            1. Lcov是什么?
            是GCOV圖形化的前端工具
            是Linux Test Project維護(hù)的開(kāi)放源代碼工具,最初被設(shè)計(jì)用來(lái)支持Linux內(nèi)核覆蓋率的度量
            基于Html輸出,并生成一棵完整的HTML樹(shù)
            輸出包括概述、覆蓋率百分比、圖表,能快速瀏覽覆蓋率數(shù)據(jù)
            支持大項(xiàng)目,提供三個(gè)級(jí)別的視圖:目錄視圖、文件視圖、源碼視圖
            ========================
            Python代碼覆蓋工具coverage.py介紹(http://nedbatchelder.com/code/coverage/)
            http://magustest.com/blog/whiteboxtesting/python-coverage-py/
            ========================
            JavaScript:
            JavaScript測(cè)試覆蓋率檢測(cè)工具JSCoverage
            ========================
            PHP:
            PHPUnit是一個(gè)輕量級(jí)的PHP測(cè)試框架。它是在PHP5下面對(duì)JUnit3系列版本的完整移植,是xUnit測(cè)試框架家族的一員(它們都基于模式先鋒Kent Beck的設(shè)計(jì))。
            單元測(cè)試是幾個(gè)現(xiàn)代敏捷開(kāi)發(fā)方法的基礎(chǔ),使得PHPUnit成為許多大型PHP項(xiàng)目的關(guān)鍵工具。
            這個(gè)工具也可以被Xdebug擴(kuò)展用來(lái)生成代碼覆蓋率報(bào)告 ,并且可以與phing集成來(lái)自動(dòng)測(cè)試,最后它還可以和Selenium整合來(lái)完成大型的自動(dòng)化集成測(cè)試。

          posted on 2013-11-26 11:13 順其自然EVO 閱讀(1160) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2013年11月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 潍坊市| 枣强县| 阿拉善盟| 孟村| 青龙| 福安市| 孟津县| 老河口市| 营山县| 灯塔市| 都兰县| 江永县| 昭平县| 正定县| 神木县| 滨州市| 若羌县| 乌兰察布市| 海宁市| 甘肃省| 木兰县| 嫩江县| 栖霞市| 绵竹市| 永登县| 万山特区| 巨鹿县| 蛟河市| 无极县| 大埔县| 衢州市| 安徽省| 迁安市| 华容县| 宿迁市| 龙陵县| 沧州市| 新津县| 襄汾县| 高州市| 灵石县|