[发明专利]基于代码覆盖率的故障定位方法及装置在审
申请号: | 202211087731.5 | 申请日: | 2022-09-07 |
公开(公告)号: | CN115422065A | 公开(公告)日: | 2022-12-02 |
发明(设计)人: | 蒋薇;刘鹏 | 申请(专利权)人: | 中国工商银行股份有限公司;工银科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 赵平;叶明川 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 代码 覆盖率 故障 定位 方法 装置 | ||
本发明提供了一种基于代码覆盖率的故障定位方法及装置,可用于金融领域或其他领域。所述方法包括:获取代码修改记录,并根据所述代码修改记录,确定修改代码及其对应的需求标识;根据预设的测试用例与需求标识对应关系,确定所述修改代码对应的测试用例集及测试用例数目;对修改代码对应的测试用例集进行用例执行与覆盖率统计,分别得到用例执行结果及用例覆盖率结果;将测试用例数目、用例执行结果及用例覆盖率结果输入至预先建立的预测模型中,得到代码故障预测结果。本发明通过测试用例与需求标识对应关系,准确地确定变更代码对应的测试用例,结合预测模型,实现对代码故障的精准定位,在测试环节中,缩小了测试范围,极大地提高了工作效率。
技术领域
本发明涉及代码测试技术领域,尤指一种基于代码覆盖率的故障定位方法及装置。
背景技术
目前,代码更新速度快,研发人员自己有的时候也不知道他的修改点会影响到其他哪些模块功能,或者是同一文件多人修改,彼此不知道。导致在测试环节时,要么测试范围定小了遗漏测试点;要么测试范围过大,付出过多代价。如何在测试阶段,通过用例和代码变更的有效对应,准确定位到变更范围,同时通过用例的执行结果预测还有哪些代码会有故障是亟待解决的问题。
发明内容
针对现有技术中存在的问题,本发明实施例的主要目的在于提供一种基于代码覆盖率的故障定位方法及装置,实现准确高效地对对代码故障进行预测。
为了实现上述目的,本发明实施例提供一种基于代码覆盖率的故障定位方法,方法包括:
获取代码修改记录,并根据所述代码修改记录,确定修改代码及其对应的需求标识;
根据预设的测试用例与需求标识对应关系,确定修改代码对应的测试用例集及测试用例数目;
对修改代码对应的测试用例集进行用例执行与覆盖率统计,分别得到用例执行结果及用例覆盖率结果;
将测试用例数目、用例执行结果及用例覆盖率结果输入至预先建立的预测模型中,得到代码故障预测结果。
可选的,在本发明一实施例中,获取代码修改记录,并根据代码修改记录,确定修改代码及其对应的需求标识包括:
利用修改记录查看函数,获取代码修改记录;
对代码修改记录进行遍历,确定发生变化的代码文件,并根据发生变化的代码文件,确定修改代码及其对应的需求标识。
可选的,在本发明一实施例中,根据预设的测试用例与需求标识对应关系,确定修改代码对应的测试用例集及测试用例数目包括:
根据预设的测试用例与需求标识对应关系,确定所述修改代码对应的多个测试用例;
根据修改代码对应的多个测试用例,确定修改代码对应的测试用例集及测试用例数目。
可选的,在本发明一实施例中,对修改代码对应的测试用例集进行用例执行与覆盖率统计,分别得到用例执行结果及用例覆盖率结果包括:
对所述测试用例集中的测试用例进行逐一执行,得到各测试用例对应的用例执行结果;
利用覆盖率统计工具,对测试用例集中的各测试用例进行覆盖率统计,得到各测试用例对应的用例覆盖率结果。
可选的,在本发明一实施例中,预测模型是通过如下方式建立的:
获取历史代码修改记录,并根据历史代码修改记录,确定历史修改代码及其对应的历史用例集及历史用例数目;
对历史修改代码对应的历史用例集进行用例执行与覆盖率统计,分别得到历史执行结果及历史覆盖率结果;
根据历史用例数目、历史执行结果及历史覆盖率结果,得到训练样本数据及测试样本数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司;工银科技有限公司,未经中国工商银行股份有限公司;工银科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211087731.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据库版本升级方法及装置
- 下一篇:一种主机参数存取方法及装置