[发明专利]一种基于字节码的测试工作量评估方法、设备及介质在审
申请号: | 202211484949.4 | 申请日: | 2022-11-24 |
公开(公告)号: | CN115858348A | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 铁锦程;陈文光;潘兴成;倪佳乐 | 申请(专利权)人: | 上海浦东发展银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 翁惠瑜 |
地址: | 200002 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 字节 测试 工作量 评估 方法 设备 介质 | ||
本发明涉及一种基于字节码的测试工作量评估方法、设备及介质,所述方法包括以下步骤:对测试项目class文件进行字节码分析,得到接口、函数和配置间的调用关系,根据调用关系,构建调用关系图;对当前版本和历史版本的class文件中每个函数指令集进行比较,获得代码修改信息;根据调用关系图和代码修改信息得到需要测试的接口,根据需要测试的接口评估测试范围;对需要测试的接口计算出难度系数,根据难度系数评估测试工时。与现有技术相比,得到的调用关系数据的准确性不需要依赖上一版测试是否充分和全面,有效克服了测试范围不准确的问题。
技术领域
本发明属于对测试范围评估和测试计划制定技术领域,涉及一种基于字节码的测试工作量评估方法、设备及介质。
背景技术
为了检查当前软件版本的发布质量,需要进行软件测试,进而需要评估测试范围。
现有技术采用以下步骤进行测试范围的评估,包括:基于差异的代码进行测试范围评估常规方案,使用字节码增强技术,动态采集代码执行信息,将测试用例与代码自动建立起关联。测试范围的推荐时,通过与历史版本进行代码比对或抽象语法树分析得到修改的代码,结合上一版本测试过程采集的用例与代码的关联信息,计算出需要测试的案例,实现测试用例的自动推荐。
但是现有技术实现测试用例的推荐依赖于历史的执行信息,用上一个版本的执行信息来评估当前版本要测试的用例,如果无历史执行信息或历史信息收集不完整,会出现无法推荐测试范围或推荐范围不准确。例如新开发的功能或上一个版本只进行部分场景的测试,此时如果基于上一个版本的执行信息来推荐当前版本的测试范围,会出现不能推荐测试范围和推荐范围不准确的情况。另外字节码增强技术只能对Java代码增强,用例可以与Java代码建立起关联,无法根据配置修改进行测试范围推荐。目前广泛使用的MyBatis作为数据持久层的项目,通常SQL会写在配置文件中,实际测试时如果忽略掉SQL修改进行测试范围推荐存在极大漏测风险。
发明内容
本发明的目的是提供一种基于字节码的测试工作量评估方法、设备及介质,以克服测试范围不准确的问题。
本发明的目的可以通过以下技术方案来实现:
一种基于字节码的测试工作量评估方法,所述测试工作量包括测试范围和测试工时,该方法包括以下步骤:
对测试项目class文件进行字节码分析,得到接口、函数和配置间的调用关系,根据调用关系,构建调用关系图;
对当前版本和历史版本的class文件中每个函数指令集进行比较,获得代码修改信息;
根据调用关系图和代码修改信息得到需要测试的接口,根据需要测试的接口评估测试范围;
对需要测试的接口计算出难度系数,根据难度系数评估测试工时。
进一步地,所述的得到接口、函数和配置间的调用关系包括以下步骤:
步骤S101、对本应用发布的Jar进行解压,根据class文件的包名进行过滤,得到二进制class文件;
步骤S102、使用Javassist对所述class文件进行字节码分析,得到接口、配置和函数,进而得到函数的代码行数和函数的圈复杂度;
步骤S103、将所述接口、配置、函数、函数的代码行数和函数的圈复杂度写入图式数据库,得到接口、函数和配置间的调用关系。
进一步地,所述的代码行数的获取方法为通过CodeAttribute得到函数在源码中的起始行号和截止行号,所述起始行号和截止行号的差值为函数包含的代码行数。
进一步地,所述的圈复杂度的计算公式为:
V=D+1
式中V为圈复杂度,D为判定条件数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海浦东发展银行股份有限公司,未经上海浦东发展银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211484949.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种有边型巴布剂及其制造工艺
- 下一篇:一种补铁注射剂及其制备方法与应用