测试用例生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38727907 阅读:12 留言:0更新日期:2023-09-08 23:19
本公开实施例提供一种测试用例生成方法、装置、电子设备及存储介质,通过获取预存储请求数据,预存储请求数据是基于在线数据生成的,在线数据用于表征对目标服务的业务请求;将预存储请求数据输入目标服务对应的目标测试服务,生成测试用例参考数据,其中,目标测试服务设置在离线环境中,目标测试服务是通过对目标服务内的目标函数进行插桩后生成的;测试用例参考数据用于表征目标服务内的目标函数响应在线数据后的状态值;基于测试用例参考数据,生成目标测试用例,目标测试用例用于对目标服务中的目标函数进行测试,由于目标测试用例是基于真实的在线请求生成的,因此可以使目标测试用例更加符合真实运行环境,提高测试效果。果。果。

【技术实现步骤摘要】
测试用例生成方法、装置、电子设备及存储介质


[0001]本公开实施例涉及计算机
,尤其涉及一种测试用例生成方法、装置、电子设备及存储介质。

技术介绍

[0002]单元测试,是指在程序开发过程中对一个功能模块、一个函数或一个类来进行正确性检验的测试工作,通过单元测试,可以很好的对模块的改动变更进行控制,从而防止了程序开发的后期因多个模块存在的问题相互叠加和影响,致使bug过多而难以修正,是一种高性价的工程质量保证手段。
[0003]传统的单元测试技术一般是基于人工编写测试用例,或者通过单元测试模版生成工具来生成单元测试模板,结合人工设置的输入参数和输出参数,生成测试用例进行测试。
[0004]然而,在实际的单元测试过程中,对于一些受到测试环境影响的单元测试,由于无法模拟函数真实的运行环境,只能通过手动设置一些特定值进行简单测试,导致测试用例无法体现函数真实的运行环境,影响单元测试效率和测试效果。

技术实现思路

[0005]本公开实施例提供一种测试用例生成方法、装置、电子设备及存储介质,以克服现有技术中的单元测试无法模拟函数真实的运行环境,导致测试效率低、测试效果差的问题。
[0006]第一方面,本公开实施例提供一种测试用例生成方法,包括:
[0007]获取预存储数据,所述预存储数据是基于在线数据生成的,所述在线数据用于表征对目标服务的业务请求;将所述预存储数据输入所述目标服务对应的目标测试服务,生成测试用例参考数据,其中,所述目标测试服务设置在离线环境中,所述目标测试服务是通过对所述目标服务内的目标函数进行插桩后生成的;所述测试用例参考数据用于表征所述目标服务内的目标函数响应所述在线数据后的状态值;基于所述测试用例参考数据,生成目标测试用例,所述目标测试用例用于对所述目标服务中的目标函数进行测试。
[0008]第二方面,本公开实施例提供一种测试用例生成装置,包括:
[0009]获取模块,用于获取预存储数据,所述预存储数据是基于在线数据生成的,所述在线数据用于表征对目标服务的业务请求;
[0010]第一生成模块,用于将所述预存储数据输入所述目标服务对应的目标测试服务,生成测试用例参考数据,其中,所述目标测试服务设置在离线环境中,所述目标测试服务是通过对所述目标服务内的目标函数进行插桩后生成的;所述测试用例参考数据用于表征所述目标服务内的目标函数响应所述在线数据后的状态值;
[0011]第二生成模块,用于基于所述测试用例参考数据,生成目标测试用例,所述目标测试用例用于对所述目标服务中的目标函数进行测试。
[0012]第三方面,本公开实施例提供一种电子设备,包括:
[0013]处理器,以及与所述处理器通信连接的存储器;
[0014]所述存储器存储计算机执行指令;
[0015]所述处理器执行所述存储器存储的计算机执行指令,以实现如上第一方面以及第一方面各种可能的设计所述的测试用例生成方法。
[0016]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的测试用例生成方法。
[0017]第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的测试用例生成方法。
[0018]本实施例提供的测试用例生成方法、装置、电子设备及存储介质,通过获取预存储数据,所述预存储数据是基于在线数据生成的,所述在线数据用于表征对目标服务的业务请求;将所述预存储数据输入所述目标服务对应的目标测试服务,生成测试用例参考数据,其中,所述目标测试服务设置在离线环境中,所述目标测试服务是通过对所述目标服务内的目标函数进行插桩后生成的;所述测试用例参考数据用于表征所述目标服务内的目标函数响应所述在线数据后的状态值;基于所述测试用例参考数据,生成目标测试用例,所述目标测试用例用于对所述目标服务中的目标函数进行测试,由于生成目标测试用例的测试用例参考数据是基于真实的在线请求生成的,因此可以使测试用例所对应的测试参数更加符合目标函数的真实运行环境,提高单元测试效果。
附图说明
[0019]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本公开实施例提供的测试用例生成方法的一种应用场景图;
[0021]图2为本公开实施例提供的测试用例生成方法的流程示意图一;
[0022]图3为图2所示实施例中步骤S101的实现步骤流程图;
[0023]图4为本公开实施例提供的一种预存储数据的生成示意图;
[0024]图5为步骤S102中生成目标测试服务的实现步骤流程图;
[0025]图6为本公开实施例提供的测试用例生成方法的流程示意图二;
[0026]图7为本公开实施例提供的一种有向无环图的示意图;
[0027]图8为本公开实施例提供的一种确定目标代码位置的过程示意图;
[0028]图9为本公开实施例提供的一种在目标代码位置插入桩函数的示意图;
[0029]图10为本公开实施例提供的测试用例生成装置的结构框图;
[0030]图11为本公开实施例提供的一种电子设备的结构示意图;
[0031]图12为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
[0032]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例
中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0033]下面对本公开实施例的应用场景进行解释:
[0034]图1为本公开实施例提供的测试用例生成方法的一种应用场景图,本公开实施例提供的测试用例生成方法,可以应用于自动化单元测试的应用场景。具体地,本公开实施例提供的方法,可以应用于终端设备或服务器,如图1所示,本实施例中以代码服务器作为执行主体进行介绍。其中,代码服务器内设置有应用程序的代码仓库,当开发者用户通过终端设备,修改程序代码,例如修改或新增了应用程序中的某个目标函数,并将修改后的目标函数同步至代码服务器内的代码仓库内后,代码服务器基于本实施例提供的方法,根据用户输入的测试信息(图中未示出),生成测试信息所指示的目标函数对应的测试用例。并将生成的测试用例发送给终端设备,以完成测试用例的交付。
[0035]现有技术中,单元测试技术一般是基于人工编写测试用例,或者通过单元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试用例生成方法,其特征在于,包括:获取预存储数据,所述预存储数据是基于在线数据生成的,所述在线数据用于表征对目标服务的业务请求;将所述预存储数据输入所述目标服务对应的目标测试服务,生成测试用例参考数据,其中,所述目标测试服务设置在离线环境中,所述目标测试服务是通过对所述目标服务内的目标函数进行插桩后生成的;所述测试用例参考数据用于表征所述目标服务内的目标函数响应所述在线数据后的状态值;基于所述测试用例参考数据,生成目标测试用例,所述目标测试用例用于对所述目标服务中的目标函数进行测试。2.根据权利要求1所述的方法,其特征在于,在将所述预存储数据输入所述目标服务对应的目标测试服务,生成测试用例参考数据之前,所述方法还包括:获取所述目标服务对应的代码文件;解析所述代码文件,确定目标代码位置,所述目标代码位置表征所述目标服务内的目标函数的状态值在所述目标服务对应的代码文件中的位置;基于所述目标代码位置,对所述目标服务对应的代码文件进行插桩,生成所述目标测试服务。3.根据权利要求2所述的方法,其特征在于,所述目标服务内的目标函数的状态值,包括以下至少一种:目标函数的输入参数、目标函数的输出参数、目标函数内下游函数的返回值。4.根据权利要求2所述的方法,其特征在于,所述解析所述代码文件,确定目标代码位置,包括:获取所述代码文件对应的有向无环图;遍历所述有向无环图,根据所述有向无环图中各节点对应的代码元素的类型,确定目标代码位置。5.根据权利要求4所述的方法,其特征在于,所述代码元素的类型包括以下至少一种:赋值语句、无状态系统函数语句、有状态调用函数语句,所述有状态调用函数语句为用于调用系统提供的有状态计算函数的语句;遍历所述有向无环图,根据所述有向无环图中各节点对应的代码元素的类型,确定目标代码位置,包括:遍历所述有向无环图,将所述赋值语句和所述无状态系统函数语句对应的代码元素所在位置,确定为目标代码位置。6.根据权利要求2所述的方法,其特征在于,基于所述目标代码位置,对所述目标服务对应的代码文件进行插桩,生成所述目标测试服务,包括:在所述目标代码位置插入与目标函数对应的桩函数,生成所述目标测试服务,所述桩函数用于上传对应的目标函数的状态值。7.根据权利要求1所述的方法,其特征在于,将所述预存储数据输入所述目标服务对应的目标测试服务,生成测试用例参考数据,包括:根据所述预存储数据,依次运行所述目标测试服务内的各所述目标函数;当执行至所述目标测试服务内的桩函数时,通过所述桩函数获取对...

【专利技术属性】
技术研发人员:刘冠成王思唯高玉军曹紫光
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1