关于代码覆盖
来源:互联网 发布:怎样卸载苹果软件 编辑:程序博客网 时间:2024/05/22 13:52
一.为什么要跑覆盖率:
如果你在写c/c++代码,如果你没对你的代码写过测试用例,如果你没有对你的代码使用覆盖率分析,那么建议你从现在开始对你的代码做覆盖。
好处当然是很多的。简单说,(1)当你对你对你的代码写过单元测试用例,从你的覆盖率上可以分析出你的的用例完备性,用例完备,你的功能才完备。(2)当你对你的代码写过接口测试或者系统测试,从你的覆盖率上可以分析到哪些代码是无用代码,删除无用代码可以提高代码质量。
二.工具:
自然是gcov。(1)自己写的makefile,请加上编译选项 -fprofile-arcs -ftest-coverage。(2)用的cmake,那请在cmake上-DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=1。
编译完成后,编译路径下会有gcno文件。在同一台机器上运行程序,程序正常退出后,编译路径下会有gcda文件。直接使用gcov 即可看到覆盖率。产生网页文件lcov --directory . --capture --output-file xxx.info ,genhtml -o results xxx.info。
三.其他注意:
代码中如果有字节对齐的东西,如果没有恢复字节对齐内容,gcov编译出来的程序可能会使原来正常的程序运行出core_dump。
代码没有正常退出或者文件权限不对,有可能导致gcda文件无法生成。
- 关于代码覆盖
- 代码覆盖
- java 代码覆盖工具。
- 统计代码覆盖度
- 软件测试-代码覆盖
- 线段区间覆盖代码
- 浅谈代码覆盖
- Java代码覆盖工具
- 棋盘覆盖算法代码
- 棋盘覆盖java代码
- 关于覆盖与隐藏
- 关于重载,覆盖,隐藏
- 关于样式的覆盖
- 关于重载和覆盖
- 关于缓冲区覆盖问题
- 代码覆盖度-代码覆盖度概念以及度量方法
- C++代码覆盖测试工具
- 棋盘覆盖问题C++代码
- apt-get出现E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/list
- QT4.6中将QImage保存为JPG格式
- SWT常用样式
- iptables—过滤包—命令
- Solr 主从操作命令参考
- 关于代码覆盖
- 软件开发报价的计算方法
- keyboard logger源代码
- 孙振耀:转轨的挑战在于战胜心魔
- SSIS 中 动态批量更新 样例
- Python的turtle 绘图
- java版http代理下载地址
- Android开发之自定义属性(Define Custom Attributes)
- 由二叉树先序序列和中序序列求后序序列的C语言算法