测试方法、装置、电子设备、存储介质及程序产品制造方法及图纸

技术编号:37343567 阅读:15 留言:0更新日期:2023-04-22 21:34
本发明专利技术实施例公开了一种测试方法、装置、电子设备、存储介质及程序产品,该测试方法通过生成样本数据集合,将样本数据集合存储至基准数据库,根据样本数据集合生成测试用例,当目标程序的版本发生变更,触发版本变更后的目标程序运行测试用例后,确定测试用例对应的链路标识,根据链路标识快捷地从基准数据库中获取对应的样本数据集合,便于将测试数据集合与样本数据集合进行比对,得到测试结果。上述测试方法可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性,本发明专利技术实施例提供的测试方法可应用于云技术、人工智能、智慧交通、辅助驾驶等程序的测试场景。测试场景。测试场景。

【技术实现步骤摘要】
测试方法、装置、电子设备、存储介质及程序产品


[0001]本专利技术涉及数据处理
,特别是涉及一种测试方法、装置、电子设备、存储介质及程序产品。

技术介绍

[0002]随着互联网通信技术的不断发展,基于互联网通信技术,利用不同的程序提供各类业务服务已经成为主流趋势。为保证业务功能的有效实现,需要对目标程序进行相关测试。
[0003]相关技术中,对目标程序的运行情况进行测试往往需要人工编写测试用例,运行测试用例后,通过该测试用例的实际运行结果与测试用例中的预期运行结果进行比对,来确定目标程序的运行情况,通过上述方式对目标程序进行测试,测试结果的可靠性有待提高。

技术实现思路

[0004]以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
[0005]本专利技术实施例提供了一种测试方法、装置、电子设备、存储介质及程序产品,可以实现快捷的全链路级的自动化测试,达到精细化测试的效果,有利于提高测试结果的准确性和可靠性,提高目标程序运行的稳定性和鲁棒性。
[0006]一方面,本专利技术实施例提供了一种测试方法,包括:
[0007]生成样本数据集合,将所述样本数据集合存储至基准数据库,所述样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个所述服务模块的所述处理数据均包括链路标识,所述链路标识用于标识由多个所述服务模块形成的服务调用链路;
[0008]根据所述样本数据集合生成测试用例;
[0009]当所述目标程序的版本发生变更,触发版本变更后的目标程序运行所述测试用例,得到测试数据集合,确定所述测试用例对应的所述链路标识,根据所述链路标识从所述基准数据库中获取对应的所述样本数据集合,将所述测试数据集合与所述样本数据集合进行比对,得到测试结果。
[0010]另一方面,本专利技术实施例还提供了一种测试装置,包括:
[0011]数据生成模块,用于生成样本数据集合,将所述样本数据集合存储至基准数据库,所述样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个所述服务模块的所述处理数据均包括链路标识,所述链路标识用于标识由多个所述服务模块形成的服务调用链路;
[0012]用例生成模块,用于根据所述样本数据集合生成测试用例;
[0013]数据比对模块,用于当所述目标程序的版本发生变更,触发版本变更后的目标程
序运行所述测试用例,得到测试数据集合,确定所述测试用例对应的所述链路标识,根据所述链路标识从所述基准数据库中获取对应的所述样本数据集合,将所述测试数据集合与所述样本数据集合进行比对,得到测试结果。
[0014]进一步,上述数据生成模块具体用于:
[0015]获取所述服务调用链路中每个服务模块的请求数据,将所述请求数据转发至对应的服务模块;
[0016]获取基于所述请求数据返回的应答数据,将所述应答数据转发至对应的服务模块;
[0017]根据预设数据类型将每个所述服务模块的所述请求数据和所述应答数据进行合并,得到每个所述服务模块的所述处理数据;
[0018]将多个所述服务模块的所述处理数据合并得到所述样本数据集合。
[0019]进一步,上述数据生成模块具体用于:
[0020]调用目标函数对所述样本数据集合进行序列化处理,得到目标数据集合;
[0021]获取基于预设文件格式进行编译的目标文件,根据所述目标文件将所述目标数据集合转化成目标文件格式;
[0022]将转化成所述目标文件格式的所述目标数据集合存储至所述基准数据库。
[0023]进一步,上述测试装置还包括数据萃取模块,上述数据萃取模块用于:
[0024]将所述样本数据集合添加至任务列表中;
[0025]响应于任务处理指令,从所述任务列表中获取所述样本数据集合,将所述样本数据集合发送至线程池中;
[0026]响应于线程处理指令,从所述线程池中提取出所述样本数据集合,对所述样本数据集合进行校验。
[0027]进一步,上述数据萃取模块具体用于以下至少之一:
[0028]根据所述样本数据集合将所述目标程序处理所述业务请求时调用的多个所述服务模块进行串联,得到所述服务调用链路,将所述服务调用链路与预设调用链路进行比对,确定所述服务调用链路的完整性;
[0029]或者,
[0030]从所述样本数据集合中提取出用于标识所述样本数据集合的第一标签,从所述基准数据库中提取出多个第二标签,根据所述第一标签与多个所述第二标签之间的匹配关系,确定所述样本数据集合在所述基准数据库中的存储状态,所述存储状态为已存储于所述基准数据库或者未存储于所述基准数据库。
[0031]进一步,上述用例生成模块具体用于:
[0032]根据所述样本数据集合得到所述服务调用链路中每个所述服务模块的请求数据和应答数据,以及所述服务调用链路对应的所述链路标识;
[0033]获取预设用例模板,将所述请求数据和所述应答数据添加至所述预设用例模板中对应的位置,得到所述测试用例;
[0034]根据所述链路标识对所述测试用例进行标识。
[0035]进一步,上述用例生成模块还用于:
[0036]将所述服务调用链路中每个所述服务模块的所述应答数据进行合并,得到结果模
拟数据;
[0037]生成所述结果模拟数据对应的结果模拟标识;
[0038]根据所述结果模拟数据以及所述结果模拟标识生成键值对,将所述键值对添加至所述测试用例中。
[0039]进一步,上述数据比对模块还用于:
[0040]触发版本变更后的所述目标程序根据所述测试用例生成测试请求;
[0041]确定处理所述测试请求时当前调用的第一服务模块,获取所述第一服务模块旁路的第二服务模块的模拟状态,所述模拟状态用于表征所述第二服务模块返回至所述第一服务模块的应答数据需要进行模拟或者不需要进行模拟;
[0042]当所述模拟状态表征所述第二服务模块返回至所述第一服务模块的应答数据需要进行模拟,根据所述结果模拟标识获取所述结果模拟数据,将所述结果模拟数据作为所述第二服务模块返回至所述第一服务模块的应答数据。
[0043]进一步,上述数据比对模块还用于:
[0044]根据预设频率在持续集成平台中运行所述测试用例;
[0045]累计所述测试用例在所述持续集成平台中的运行成功次数;
[0046]当所述运行成功次数大于或者等于预设次数阈值,将所述测试用例添加至所述持续集成平台的用例库。
[0047]进一步,上述数据比对模块还用于:
[0048]获取所述测试用例在所述持续集成平台中成功运行的历史运行时间,根据所述历史运行时间确定目标运行时间;
[0049]获取在所述目标运行时间运行所述测试用例所得到的基准数据集合,利用所述基准数据集合更新所述基准数据库中的所述样本数据集合。
[0050]进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试方法,其特征在于,包括:生成样本数据集合,将所述样本数据集合存储至基准数据库,所述样本数据集合包括处理目标程序的业务请求时调用的多个服务模块的处理数据,每个所述服务模块的所述处理数据均包括链路标识,所述链路标识用于标识由多个所述服务模块形成的服务调用链路;根据所述样本数据集合生成测试用例;当所述目标程序的版本发生变更,触发版本变更后的目标程序运行所述测试用例,得到测试数据集合,确定所述测试用例对应的所述链路标识,根据所述链路标识从所述基准数据库中获取对应的所述样本数据集合,将所述测试数据集合与所述样本数据集合进行比对,得到测试结果。2.根据权利要求1所述的测试方法,其特征在于,所述生成样本数据集合,包括:获取所述服务调用链路中每个服务模块的请求数据,将所述请求数据转发至对应的服务模块;获取基于所述请求数据返回的应答数据,将所述应答数据转发至对应的服务模块;根据预设数据类型将每个所述服务模块的所述请求数据和所述应答数据进行合并,得到每个所述服务模块的所述处理数据;将多个所述服务模块的所述处理数据合并得到所述样本数据集合。3.根据权利要求1所述的测试方法,其特征在于,所述将所述样本数据集合存储至基准数据库,包括:调用目标函数对所述样本数据集合进行序列化处理,得到目标数据集合;获取基于预设文件格式进行编译的目标文件,根据所述目标文件将所述目标数据集合转化成目标文件格式;将转化成所述目标文件格式的所述目标数据集合存储至所述基准数据库。4.根据权利要求1至3任意一项所述的测试方法,其特征在于,所述将所述样本数据集合存储至基准数据库之前,所述测试方法还包括:将所述样本数据集合添加至任务列表中;响应于任务处理指令,从所述任务列表中获取所述样本数据集合,将所述样本数据集合发送至线程池中;响应于线程处理指令,从所述线程池中提取出所述样本数据集合,对所述样本数据集合进行校验。5.根据权利要求4所述的测试方法,其特征在于,所述对所述样本数据集合进行校验,包括以下至少之一:根据所述样本数据集合将所述目标程序处理所述业务请求时调用的多个所述服务模块进行串联,得到所述服务调用链路,将所述服务调用链路与预设调用链路进行比对,确定所述服务调用链路的完整性;或者,从所述样本数据集合中提取出用于标识所述样本数据集合的第一标签,从所述基准数据库中提取出多个第二标签,根据所述第一标签与多个所述第二标签之间的匹配关系,确定所述样本数据集合在所述基准数据库中的存储状态,所述存储状态为已存储于所述基准
数据库或者未存储于所述基准数据库。6.根据权利要求1所述的测试方法,其特征在于,所述根据所述样本数据集合生成测试用例,包括:根据所述样本数据集合得到所述服务调用链路中每个所述服务模块的请求数据和应答数据,以及所述服务调用链路对应的所述链路标识;获取预设用例模板,将所述请求数据和所述应答数据添加至所述预设用例模板中对应的位置,得到所述测试用例;根据所述链路标识对所述测试用例进行标识。7.根据权利要求6所述的测试方法,其特征在于,所述根据所述样本数据集合生成测试用例,还包括:将所述服务调用链路中每个所述服务模块的所述应答数据进行合并,得到结果模拟数据;生成所述结果模拟数据对应的结果模拟标识;根据所述结果模拟数据以及所述结果模拟标识生成键值对,将所述键值对添加至所述测试用例中。8.根据权利要求7所述的测试方法,其特征在于,所述触发版本变更后的目标程序运行所述测试用例,包括:触发版本变更后的所述目标程序根据所述测试用例生成测试请求;确定处理所述测试请求时当前调用的第一服务模块,获取所述第一服务模块旁路的第二服务模块的模拟状态,所述模拟状态用于表征所述第二服务模块返回至所述第一服务模块的应答数据需...

【专利技术属性】
技术研发人员:高文冠林铭榛戴瑾如朱兰漆洪凯
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1