All things are difficult before they are easy. 没有软件的裸机是一具僵尸,没有硬件的软件是一个幽灵。2012,专注于Linux和C语言,关注自动化、性能测试,关注开源社区和开源测试工具、方法,尝试测试团队管理!

测试代码覆盖率工具汇总

上一篇 / 下一篇  2012-10-06 11:55:31 / 个人分类:其他技术

很久没在这里写测试的东东了,现在来一篇吧,关于单元测试中的代码覆盖率的统计。
来自:http://smilejay.com/2012/10/code-coverage-tools/

最近两年在做Linux虚拟化开源项目,由于项目代码庞大且开发人员分散在世界各个角落,我们对其测试的方法和实践中,对单元测试等做得并不多(KVM的kvm-unit-tests可以算一个吧),对单元测试代码覆盖率等也没有做过多的要求。不过以前做电子商务测试时,那时技术部门曾主推单元测试(主要是JUnit测试Java代码),且将单元测试的代码覆盖率有较为严格的要求,我也做过一小段时间的研究。偶然看到淘宝公直的一篇文章(Linux下c/c++项目代码覆盖率的产生方法),就用他给的实例代码使用了一下gcov和lcov查看了一下C/C++代码覆盖率的统计。

对于Linux下的C/C++代码,可以在gcc/g++工具编译代码时加上“–coverage”选项来生成可用于覆盖率分析的二进制文件,然后用gcov命令来生成覆盖率统计情况,也可用lcov工具来生成html版本的可读性很好的代码覆盖率报告。

下面列举一下各种编程语言的代码覆盖率工具吧。
c/c++:    gcc+gcov+lcov;(单元测试:CUnit、CPPUnit、Google GTest等)
Java:    Maven cobertura 插件,Clover,EMMA,Jtest;
Python:    PyUnit + coverage.py;
PHP:    phpunit + –coverage-html + Xdebug ;
Perl:    Test::Class 和 Devel::Cover;
Shell:    shUnit2 + shcov;

更多的工具资料请参考如下:
代码覆盖率工具:http://en.wikipedia.org/wiki/Code_coverage
单元测试框架:http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks

gcc manual: man gcc (搜索–coverage)

http://ltp.sourceforge.net/coverage/lcov.php

shunit2.googlecode.com

http://sdet.org/?p=212

http://toast.taobao.org/


TAG: Code_Coverage Testing testing Unit_Test xUnit

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

smile665

smile665

Stay hungry, stay foolish. 得意之时谨记,一半命运还掌握在上帝手里;失意之时须知,一半命运还掌握在自己手里。

日历

« 2020-02-25  
      1
2345678
9101112131415
16171819202122
23242526272829

数据统计

  • 访问量: 748927
  • 日志数: 220
  • 建立时间: 2008-11-06
  • 更新时间: 2012-10-06

RSS订阅

Open Toolbar