成都网站seo排名优化,网站建设完成大概多久,微信小程序代码怎么弄,企业网站建设须知前言
师弟#xff1a;“师兄#xff0c;我又被鄙视了。说我的系统太差#xff0c;测试不过关。” 我#xff1a;“怎么说#xff1f;” 师弟#xff1a;“每次发布版本给程夏#xff0c;都被她发现一些bug#xff0c;太丢人了。师兄#xff0c;有什么方法来衡量测试的…前言
师弟“师兄我又被鄙视了。说我的系统太差测试不过关。” 我“怎么说” 师弟“每次发布版本给程夏都被她发现一些bug太丢人了。师兄有什么方法来衡量测试的程度么” 我“有代码覆盖率就是一个比较好的方式。”
正文
通过gcov和lcov可以很直观的看到代码的运行情况同时也可以查看代码的行覆盖率函数覆盖率等等信息为开发提供一个方便的测试手段。 gcov是Linux下GCC自带的一个C/C代码覆盖率分析工具因此只要安装了gcc就具备了。 gcov能够生成代码覆盖信息但是不够直观因此需要借助lcov/genhtml直观展示覆盖率主要特点有 ● 基于Html输出并生成一棵完整的HTML树 ● 输出包括概述、覆盖率百分比、图表能快速浏览覆盖率数据 ● 支持大项目提供三个级别的视图目录视图、文件视图、源码视图
具体操作方法
代码编译的时候需要加上编译参数: -ftest-coverage -fprofile-arcs 和库 -lgcov。编译完会生成.gcno文件然后进行测试程序正常退出会有.gcda文件生成。然后根据.gcda生成可视化信息。
Step1: lcov根据.gcda生成info数据 lcov 可以在指定目录去找代码覆盖的信息, 输出为 *.info, 这个 *.info 是一个中间结果 lcov -c -o code_coverage.info -d . Step2: 生成html数据 genhtml code_coverage.info -o coverage_result Step3: 在coverage_result目录启动http服务就可以通过网页访问 python3 -m http.server 其中第一二步可以封装脚本为code_coverage.sh:
lcov -c -o code_coverage.info -d .
genhtml code_coverage.info -o coverage_result结果如下
代码行覆盖率21.0%函数覆盖率39.1%。 详细代码覆盖信息如下其中标红的表示未测试到的代码行。