php代码覆盖率统计实践
一、需求描述 由于我司的业务大部分都是php项目,在实际的测试任务中,有测试工程师反馈存在测试结束后无法对测试覆盖率保有自信,担心存在漏测行为;本项目将作为漏测的辅助判断存在,帮助测试工程师进行是否存在漏测的辅助判断。 本项目需要在测试手工任务完成后,提供本次测试任务对应的代码的覆盖率,具体包括本次的测试任务对应了哪些php文件,以及这些php文件里,有哪些代码是尚未被覆盖的,以此来辅助判断本次测试任务是否存在漏测。 本项目由本人发起,与本组前端,php后端共同完成。 二、任务拆解 项目将被拆解为以下部分: 1.覆盖率统计系统 本系统主要借由xdebug的统计功能实现统计目的,但直接用xdebug的话会有一些问题,诸如: 测试结果不直观,xdebug的结果是代码文件、行数和对应覆盖与否,无法直观的看到测试结果; 不能做到统计权限隔离,导致当统计环境为公共环境时,其他人的行为会影响覆盖率的判断; 不能将项目和用户建立映射关系,导致用户的测试行为很可能会涉及到非本项目的覆盖率统计。 针对以上痛点,我们对xdebug加以封装改造,加入用户系统,图表系统,丰富了统计功能,从而使得覆盖率统计可以...