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

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

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


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

技术介绍

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

技术实现思路

[0005]本公开实施例提供一种测试用例生成方法、装置、电子设备及存储介质,以克服现有技术中的单元测本文档来自技高网...

【技术保护点】

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

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

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

1