[发明专利]软件代码测试覆盖率的检查方法及装置有效
申请号: | 201810440103.8 | 申请日: | 2018-05-09 |
公开(公告)号: | CN110471829B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 石晓海;秦承刚;张永超 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;窦晓慧 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 代码 测试 覆盖率 检查 方法 装置 | ||
本申请提供一种软件代码测试覆盖率的检查方法,包括:根据测试集对包含有补丁代码段的软件代码进行测试;确定所述补丁代码段被测试的覆盖率,所述补丁代码段被测试的覆盖率用于衡量所述补丁代码段在测试过程中被执行的代码量;根据所述补丁代码段被测试的覆盖率,确定所述补丁代码段的覆盖率测试结果。通过把每次提交的代码的覆盖率检查过程与和持续测试过程集成到一起,从而使得覆盖率的检查贯穿到代码的持续提交过程中,形成持续覆盖率检查。并且如果本次提交的代码的被测试的覆盖率不满足要求,则再次进行测试,这使得对软件补丁的覆盖检查更及时、更具针对性。
技术领域
本申请涉及软件测试领域,具体涉及一种软件代码测试覆盖率的检查方法及装置,还涉及一种电子设备、计算机可读存储介质。
背景技术
在CI(Continuous integration,持续集成)系统中,一般通过测试来检测、保障软件质量。同时,可以对被测试的代码的覆盖率进行检查,以用于估计软件测试的可靠度。
现有技术检查被测试的代码的覆盖率是按如下方式进行的:在进行软件持续集成的过程中,软件开发人员提交了代码后通常会构建可执行的软件版本,并进行测试。某项测试失败后,开发者会重新修改并再次提交、测试,直至测试通过。所有的测试项都通过后,在适当的情况下发布新版本。也可能会有一个总的覆盖率统计,以便知道整个软件代码在测试中被覆盖的比例。例如,一个软件的代码有1万行,这1万行可能被测试了5000行,这整个软件的所有这1万行代码被测试的覆盖率就是50%。
这种情况下,覆盖率检查是在软件测试时、针对构成可执行版本的整个软件的所有代码被测试的覆盖率进行检查。使用这种检查方法时,一次性检查的代码量非常大,检查粒度不够细。由于很难判断每次提交的部分代码被测试的覆盖率,所以会导致在大规模的软件开发过程中不能及时地发现问题,无法保障每次提交的代码是否满足质量要求。
发明内容
本申请提供一种软件代码测试覆盖率的检查方法,旨在解决现有技术对覆盖率检查时一次性检查的代码量非常大、检查粒度不够细的技术问题。
本申请还提供一种软件代码测试覆盖率的检查装置,还涉及一种电子设备以及一种计算机可读存储介质。
本申请提供的软件代码测试覆盖率的检查方法包括:
根据测试集对包含有补丁代码段的软件代码进行测试;
确定所述补丁代码段被测试的覆盖率,所述补丁代码段被测试的覆盖率用于衡量所述补丁代码段在测试过程中被执行的代码量;
根据所述补丁代码段被测试的覆盖率,确定所述补丁代码段的覆盖率测试结果。
可选的,所述确定所述补丁代码段被测试的覆盖率,包括:
获取所述补丁代码段的执行信息;
根据所述执行信息确定所述补丁代码段被测试的覆盖率。
可选的,所述执行信息包括以下至少一项:
所述补丁代码段中被执行的代码的行号;
所述补丁代码段中被执行的代码的行数;
所述补丁代码段中每行代码被执行的次数。
可选的,所述根据所述执行信息确定所述补丁代码段被测试的覆盖率,包括:
根据所述补丁代码段中被执行的代码的行号,确定所述补丁代码段中被执行的代码的行数,将所述补丁代码段中被执行的代码的行数相对于所述补丁代码段中所有代码的行数的比值,作为所述补丁代码段被测试的覆盖率;或者,
确定所述补丁代码段中被执行的代码的行数,将所述补丁代码段中被执行的代码的行数与所述补丁代码段中所有代码的行数的比值,作为所述补丁代码段被测试的覆盖率;或者,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810440103.8/2.html,转载请声明来源钻瓜专利网。