[发明专利]一种覆盖测试方法、系统、存储介质及计算设备在审
申请号: | 202111322403.4 | 申请日: | 2021-11-09 |
公开(公告)号: | CN114090430A | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 陈瑽;田吉亮;寇京博;庄涛;杨凯允 | 申请(专利权)人: | 北京完美赤金科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 贾依娇 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 覆盖 测试 方法 系统 存储 介质 计算 设备 | ||
本发明提供了一种覆盖测试方法、系统、存储介质及计算设备,该方法包括:代码版本控制系统接收至少一个新版本文件的提交请求,比较新版本文件与相同文件名的上一版本文件,将比较后的新版本文件修改代码行信息和对应需求标识等信息记录至版本覆盖记录文件;监控覆盖测试过程中执行的新版本文件的代码行的行号信息并记录至覆盖测试记录文件中;若测试结果参数包含指定需求,依据版本覆盖记录文件内容统计指定需求的代码总行数,依据覆盖测试记录文件内容统计指定需求的代码执行行数,代码执行行数除以代码总行数得到指定需求的测试覆盖度。本发明的覆盖测试是需求和测试主导,技术辅助的方式,无需开发人员在开发过程做过多操作。
技术领域
本发明涉及程序测试技术领域,特别是一种覆盖测试方法、系统、存储介质及计算设备。
背景技术
代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至用代码覆盖率来考核测试任务完成情况,这类测试通常有5个级别,最完善的就是全覆盖测试,现有的技术方案中比较有名的就是gcc编译器中的代码覆盖工具gcov和lcov,主要是C++提代的覆盖测试和检查工具,有些主流语言也提供了覆盖测试的工具,会按指定的规范来实现。
现有技术中,覆盖测试是一种比较小众的测试方法,虽然大部分时间己经沦为一种单元测试的评价方式,有些单元测试工具甚至集成了覆盖测试工具,会显示出单元测试的代码覆盖率,这是覆盖测试的主要应用,即单元测试的一种评价方法,通常覆盖75%-90%左右比较好。因为单元测试针对开发者,所以目前通常是一种开发者使用的测试评价手段,为了让单元测试可以覆盖更多的代码,开发者要额外做很多的工作,在游戏这种大规模、迭代快、多版本的复杂项目中,前端和后端工程师要使用多种语言,单元测试不太可能做到,按规范的覆盖测试会更麻烦。另外,单独使用覆盖测试工具,一般都建立在gcov、lcov的规范上开发,比较复杂,因为其本身也是一个性能测试工具,有一些特殊的定义,在脚本语言(如lua)上的使用和开发上不太友好,效率也不高。由于覆盖测试工具要求要在目标函数上打点(即在开始和结束时插入代码),或是某个时间阶段内记录全部的代码,生成出来的内容也都是代码,普通测试人员难以使用这类工具,开发者使用这类工具会降低开发效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的覆盖测试方法、系统、存储介质及计算设备,能够让覆盖测试变为需求和测试主导,而技术辅助的方式,可得到测试某种需求下的全部或大部份代码的执行逻辑。
根据本发明实施例的一方面,提供了一种覆盖测试方法,包括:
响应于代码版本控制系统接收到至少一个新版本文件的提交请求,比较所述新版本文件与相同文件名的上一版本文件,将比较后的新版本文件的修改代码行信息、文件名和对应需求标识记录至版本覆盖记录文件;
对被测程序启动覆盖测试过程,监控覆盖测试过程中执行的新版本文件的代码行的行号信息并记录至新版本文件对应的覆盖测试记录文件中;
若测试结果参数包含指定需求,依据所述版本覆盖记录文件内容统计所述指定需求的代码总行数,依据所述覆盖测试记录文件内容统计指定需求的代码执行行数,通过所述代码执行行数除以所述代码总行数得到指定需求的测试覆盖度。
可选地,通过所述代码执行行数除以所述代码总行数得到指定需求的测试覆盖度之前,还包括:从所述版本覆盖记录文件中读取所述指定需求对应的代码行,将读取出的所述指定需求对应的代码行写入超文本文件,一个指定需求对应写入一个超文本文件;若从所述覆盖测试记录文件中查找到与写入超文本文件的指定需求对应代码行相同的行号信息,对写入超文本文件的代码行标记覆盖标识;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京完美赤金科技有限公司,未经北京完美赤金科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111322403.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能电力检测仪
- 下一篇:一种自保护开闭驱动装置