本发明专利技术实施例提供了一种测试用例生成方法、装置、服务器及存储介质,所述方法包括:从线上代理端获取第一代码覆盖率信息,以及从测试代理端获取第二代码覆盖率信息;解析所述第一代码覆盖率信息中每个线上请求对应的代码执行路径以及相关参数,解析所述第二代码覆盖率信息中每个测试请求对应的代码执行路径;若存在所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径不一致,则确定所述线上请求对应的相关参数为生成测试用例的目标参数,并根据所述目标参数生成测试用例。
Test case generation method, device, server and storage medium
【技术实现步骤摘要】
测试用例生成方法、装置、服务器及存储介质
本专利技术涉及计算机
,尤其涉及一种测试用例生成方法、装置、服务器及存储介质。
技术介绍
测试用例,可以简单的认为是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。为了衡量测试用例的设计完善程度,提升回归测试对线上真实场景的覆盖率,可以借助代码覆盖率工具,将一段时间内所有线上请求(即用户真实请求)的代码执行路径与所有测试用例对应的测试请求的代码执行路径进行对比,从而计算未被测试请求覆盖的代码,并据此完善和补充测试用例。目前虽然可以借助代码覆盖率工具,将一段时间内所有线上请求的代码执行路径与所有测试请求的代码执行路径进行对比,从而计算未被测试请求覆盖的代码,并据此完善和补充测试用例,但是这样仅仅可以计算出未被测试请求覆盖的代码,针对未被测试请求覆盖的代码完善和补充测试用例,其中涉及到的相关参数(例如URL、输入参数)并未示出,造成完善和补充测试用例困难,测试效率较低。
技术实现思路
本专利技术实施例的目的在于提供一种测试用例生成方法、装置、服务器及存储介质,以实现降低完善和补充测试用例的困难程度,提高测试效率的有益效果。具体技术方案如下:在本专利技术实施例的第一方面,首先提供了一种测试用例生成方法,所述方法包括:从线上代理端获取第一代码覆盖率信息,以及从测试代理端获取第二代码覆盖率信息;从线上代理端获取第一代码覆盖率信息,以及从测试代理端获取第二代码覆盖率信息;解析所述第一代码覆盖率信息中每个线上请求对应的代码执行路径以及相关参数,解析所述第二代码覆盖率信息中每个测试请求对应的代码执行路径;若存在所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径不一致,则确定所述线上请求对应的相关参数为生成测试用例的目标参数,并根据所述目标参数生成测试用例。在一个可选的实施方式中,所述确定所述线上请求对应的相关参数为生成测试用例的目标参数,包括:判断处理所述线上请求的服务是否满足预设要求;若处理所述线上请求的服务满足预设要求,则确定所述线上请求对应的相关参数为生成测试用例的目标参数。在一个可选的实施方式中,所述方法还包括:若处理所述线上请求的服务未满足预设要求,计算所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径的相似度;基于所述相似度从任一测试请求对应的代码执行路径中,选取目标测试请求对应的目标代码执行路径;基于所述线上请求对应的代码执行路径以及所述目标测试请求对应的目标代码执行路径计算差异代码,并生成差异代码报告。在一个可选的实施方式中,所述计算所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径的相似度,包括:利用Jaccard系数计算所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径的相似度。在一个可选的实施方式中,所述基于所述相似度从任一测试请求对应的代码执行路径中,选取目标测试请求对应的目标代码执行路径,包括:从任一测试请求对应的代码执行路径中,选取与所述线上请求对应的代码执行路径相似度最高的测试请求对应的代码执行路径,作为目标测试请求对应的目标代码执行路径。在一个可选的实施方式中,所述第一代码覆盖率信息具体通过以下方式得到:所述线上代理端在接收到线上请求的情况下,调用目标字节码为所述线上请求生成追溯标识,其中,所述目标字节码包括通过字节码注入技术预先在处理所述线上请求的服务中所注入的字节码;所述线上代理端调用所述目标字节码获取所述线上请求中携带的相关参数;所述线上代理端在所述线上请求被所述服务处理的过程中,调用所述目标字节码统计所述服务中代码执行路径;所述线上代理端以所述追溯标识为维度存储所述线上请求对应的代码执行路径以及相关参数,生成第一代码覆盖率信息。在一个可选的实施方式中,所述生成第一代码覆盖率信息,包括:基于预设的采集规则对存储的所述线上请求对应的代码执行路径以及相关参数进行采集;根据所采集的所述线上请求对应的代码执行路径以及相关参数生成第一代码覆盖率信息。在一个可选的实施方式中,所述第二代码覆盖率信息具体通过以下方式得到:所述测试代理端在接收到测试请求的情况下,调用目标字节码为所述测试请求生成追溯标识,其中,所述目标字节码包括通过字节码注入技术预先在处理所述测试请求的服务中所注入的字节码;所述测试代理端调用所述目标字节码获取所述测试请求中携带的相关参数;所述测试代理端在所述测试请求被所述服务处理的过程中,调用所述目标字节码统计所述服务中代码执行路径;所述测试代理端以所述追溯标识为维度存储所述测试请求对应的代码执行路径以及相关参数,生成第二代码覆盖率信息。在本专利技术实施例的第二方面,还提供了一种测试用例生成装置,所述装置包括:信息获取模块,用于从线上代理端获取第一代码覆盖率信息,以及从测试代理端获取第二代码覆盖率信息;第一解析模块,用于解析所述第一代码覆盖率信息中每个线上请求对应的代码执行路径以及相关参数;第二解析模块,用于解析所述第二代码覆盖率信息中每个测试请求对应的代码执行路径;参数确定模块,用于若存在所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径不一致,则确定所述线上请求对应的相关参数为生成测试用例的目标参数;用例生成模块,用于根据所述目标参数生成测试用例。在本专利技术实施例的第三方面,还提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的测试用例生成方法。在本专利技术实施例的第四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的测试用例生成方法。在本专利技术实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的测试用例生成方法。本专利技术实施例提供的技术方案,通过从线上代理端获取第一代码覆盖率信息,以及从测试代理端获取第二代码覆盖率信息,解析第一代码覆盖率信息中每个线上请求对应的代码执行路径以及相关参数,解析第二代码覆盖率信息中每个测试请求对应的代码执行路径,若存在线上请求对应的代码执行路径与任一测试请求对应的代码执行路径不一致,则确定线上请求对应的相关参数为生成测试用例的目标参数,并根据目标参数生成测试用例。如此在存在线上请求对应的代码执行路径与任一测试请求对应的代码执行路径不一致的情况下,可以确定该线上请求对应的相关参数为生成测试用例的目标参数,并据此生成测试用例,可以有效降低完善和补充测试用例的困难程度,提高测试效率。附图说明此处的附图被并入说明书中并本文档来自技高网...
【技术保护点】
1.一种测试用例生成方法,其特征在于,所述方法包括:/n从线上代理端获取第一代码覆盖率信息,以及从测试代理端获取第二代码覆盖率信息;/n解析所述第一代码覆盖率信息中每个线上请求对应的代码执行路径以及相关参数,解析所述第二代码覆盖率信息中每个测试请求对应的代码执行路径;/n若存在所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径不一致,则确定所述线上请求对应的相关参数为生成测试用例的目标参数,并根据所述目标参数生成测试用例。/n
【技术特征摘要】
1.一种测试用例生成方法,其特征在于,所述方法包括:
从线上代理端获取第一代码覆盖率信息,以及从测试代理端获取第二代码覆盖率信息;
解析所述第一代码覆盖率信息中每个线上请求对应的代码执行路径以及相关参数,解析所述第二代码覆盖率信息中每个测试请求对应的代码执行路径;
若存在所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径不一致,则确定所述线上请求对应的相关参数为生成测试用例的目标参数,并根据所述目标参数生成测试用例。
2.根据权利要求1所述的方法,其特征在于,所述确定所述线上请求对应的相关参数为生成测试用例的目标参数,包括:
判断处理所述线上请求的服务是否满足预设要求;
若处理所述线上请求的服务满足预设要求,则确定所述线上请求对应的相关参数为生成测试用例的目标参数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若处理所述线上请求的服务未满足预设要求,计算所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径的相似度;
基于所述相似度从任一测试请求对应的代码执行路径中,选取目标测试请求对应的目标代码执行路径;
基于所述线上请求对应的代码执行路径以及所述目标测试请求对应的目标代码执行路径计算差异代码,并生成差异代码报告。
4.根据权利要求3所述的方法,其特征在于,所述计算所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径的相似度,包括:
利用Jaccard系数计算所述线上请求对应的代码执行路径与任一测试请求对应的代码执行路径的相似度。
5.根据权利要求3所述的方法,其特征在于,所述基于所述相似度从任一测试请求对应的代码执行路径中,选取目标测试请求对应的目标代码执行路径,包括:
从任一测试请求对应的代码执行路径中,选取与所述线上请求对应的代码执行路径相似度最高的测试请求对应的代码执行路径,作为目标测试请求对应的目标代码执行路径。
6.根据权利要求1所述的方法,其特征在于,所述第一代码覆盖率信息具体通过以下方式得到:
所述线上代理端在接收到线上请求的情况下,调用目标字节码为所述线上请求生成追溯标识,其中,所述目标字节码包括通过字节码注入技术预先在处理所述线上请求的服务中所注入的字节码;
所述线上代理端调用所述目标字节码获取所述线上请...
【专利技术属性】
技术研发人员:苏慧,张蕾,张帆,刘东飞,邰云剑,白凤伟,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。