php代码覆盖率统计实践

一、需求描述

由于我司的业务大部分都是php项目,在实际的测试任务中,有测试工程师反馈存在测试结束后无法对测试覆盖率保有自信,担心存在漏测行为;本项目将作为漏测的辅助判断存在,帮助测试工程师进行是否存在漏测的辅助判断。
本项目需要在测试手工任务完成后,提供本次测试任务对应的代码的覆盖率,具体包括本次的测试任务对应了哪些php文件,以及这些php文件里,有哪些代码是尚未被覆盖的,以此来辅助判断本次测试任务是否存在漏测。
本项目由本人发起,与本组前端,php后端共同完成。

二、任务拆解

项目将被拆解为以下部分:

1.覆盖率统计系统

本系统主要借由xdebug的统计功能实现统计目的,但直接用xdebug的话会有一些问题,诸如:

  1. 测试结果不直观,xdebug的结果是代码文件、行数和对应覆盖与否,无法直观的看到测试结果;
  2. 不能做到统计权限隔离,导致当统计环境为公共环境时,其他人的行为会影响覆盖率的判断;
  3. 不能将项目和用户建立映射关系,导致用户的测试行为很可能会涉及到非本项目的覆盖率统计。

针对以上痛点,我们对xdebug加以封装改造,加入用户系统,图表系统,丰富了统计功能,从而使得覆盖率统计可以为测试人员提供参考价值。
本部分主要改造自开源项目:(https://github.com/cj58/PHPCodeCoverage

2.项目仓库系统

仓库系统主要对项目和实现项目的php文件建立映射关系,统计覆盖率只会在项目内对应的php文件里进行,从而实现了项目的覆盖率隔离,避免非本项目的文件对本项目的覆盖率产生污染。

3.报表系统

报表系统主要对覆盖率结果进行分析,生成覆盖率图表加以展示,统计分为总项目统计和项目下分文件统计。

三、成果展示

demo部分截图如下
项目列表:
img_7fe979b0d5c315e8dcfa9f2240bb98d6.jpe
项目列表.jpg
迭代查看界面:
img_ef652bcc420197ea279e5fc888be08bc.png
迭代查看界面.png
查看文件代码覆盖率:
img_58bfefd16fa4b1efbb9bed763cc3c56c.png
代码查看界面.png
总览界面:
img_9338e7f435a87090d55a4d7f961d2b6f.png
总览界面.png

4.效果验证

尚在验证
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值