测试数据生成方法、装置、电子设备及介质与流程
- 国知局
- 2024-11-19 09:45:57
本公开涉及计算机,尤其涉及一种测试数据生成方法、装置、电子设备及介质。
背景技术:
1、软件测试是为了发现错误而执行程序的过程,是软件质量保证的关键步骤。按照开发阶段,软件测试可分为单元测试、集成测试、系统测试、验收测试。单元测试是指对软件中的最小可测试单元进行检查和验证,单元可以是一个函数或某一个功能模块。
2、目前,相关技术中的单元测试均由开发人员手动编写测试数据,这种方式不仅效率低下,难以覆盖所有潜在问题,而且随着项目代码量的增长(尤其是当存在复杂嵌套类和结构体时),手动设定测试数据会导致单元测试既耗时又容易出错,从而降低了单元测试的效率。
技术实现思路
1、本公开提供一种测试数据生成方法、装置、电子设备及介质,以解决相关技术中的问题,通过自动化生成测试数据,并将该测试数据存储到数据库中,以为后续所有的单元测试使用,降低单元测试的工作量,从而提高单元测试的效率。
2、本公开的第一方面实施例提出了一种测试数据生成方法,该方法包括:获取目标数据库中的待处理结构体;对待处理结构体进行序列化处理,得到待处理结构体经过序列化处理后的测试数据,并将测试数据存储至目标数据库。
3、在本公开的一些实施例中,获取目标数据库中的待处理结构体包括:利用压测工具发送的数据生成请求和目标数据库,生成待处理结构体。
4、在本公开的一些实施例中,对待处理结构体进行序列化处理,得到待处理结构体经过序列化处理后的测试数据,并将测试数据存储至目标数据库包括:依据待处理结构体的断点触发情况,确定是否调用序列化函数;若调用序列化函数,则依据序列化函数依次对待处理结构体中的所有成员变量进行序列化处理,得到所有成员变量经过序列化处理后的测试数据;将测试数据存储至目标数据库中的目标数据表中。
5、在本公开的一些实施例中,依据待处理结构体的断点触发情况,确定是否调用序列化函数包括:若待处理结构体触发第一断点,则遍历待处理结构体在当前执行函数中的成员变量,确定成员变量的类型;若成员变量的类型与预设配置文件中的类型相同,则监控成员变量是否发生变化;若成员变量发生变化,则确定待处理结构体再次触发第一断点;在确定待处理结构体再次触发第一断点,则确定调用序列化函数。
6、在本公开的一些实施例中,若调用序列化函数,则依据序列化函数依次对待处理结构体中的所有成员变量进行序列化处理,得到所有成员变量经过序列化处理后的测试数据包括:若调用序列化函数,则判断待处理结构体中的第一成员变量是否为子结构体;若第一成员变量不为子结构体,则判断第一成员变量是否进行标记处理,标记处理用于指示成员变量已完成序列化处理;若第一成员变量未进行标记处理,则依据序列化函数,对第一成员变量进行序列化处理,得到第一成员变量经过序列化处理后的测试数据,并对序列化处理后的第一成员变量进行标记处理。
7、在本公开的一些实施例中,若待处理结构体触发第一断点,则遍历待处理结构体在当前执行函数中成员变量,确定成员变量的类型,之前方法还包括:依据预设配置文件中的断点位置,对待处理结构体设置多个断点,多个断点包括第一断点。
8、在本公开的一些实施例中,对待处理结构体进行序列化处理,得到待处理结构体经过序列化处理后的测试数据包括:若待处理结构体多次触发第一断点得到的测试数据的数量等于预设值或算法执行时间段等于预设时间段,则停止生成测试数据,算法执行时间段的开始时间为生成待处理结构体的时间。
9、本公开的第二方面实施例提出了一种测试数据生成装置,该装置包括:
10、获取单元,用于获取目标数据库中的待处理结构体;
11、处理单元,用于对待处理结构体进行序列化处理,得到待处理结构体经过序列化处理后的测试数据,并将测试数据存储至目标数据库。
12、本公开的第三方面实施例提出了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,处理器用于运行计算机程序时,执行本公开第一方面实施例中描述的方法。
13、本公开的第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开第一方面实施例中描述的方法。
14、本公开的第五方面实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开第一方面实施例中描述的方法。
15、综上,根据本公开提出的测试数据生成方法,通过获取目标数据库中的待处理结构体;对待处理结构体进行序列化处理,得到待处理结构体经过序列化处理后的测试数据,并将测试数据存储至目标数据库,实现通过自动化生成测试数据,并将该测试数据存储到数据库中,以为后续所有的单元测试使用,降低单元测试的工作量,从而提高单元测试的效率。
16、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
技术特征:1.一种测试数据生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取目标数据库中的待处理结构体包括:
3.根据权利要求1所述的方法,其特征在于,所述对待处理结构体进行序列化处理,得到所述待处理结构体经过所述序列化处理后的测试数据,并将所述测试数据存储至所述目标数据库包括:
4.根据权利要求3所述的方法,其特征在于,所述依据所述待处理结构体的断点触发情况,确定是否调用序列化函数包括:
5.根据权利要求3所述的方法,其特征在于,所述若调用所述序列化函数,则依据所述序列化函数依次对所述待处理结构体中的所有成员变量进行序列化处理,得到所述所有成员变量经过序列化处理后的测试数据包括:
6.根据权利要求4所述的方法,其特征在于,所述若所述待处理结构体触发第一断点,则遍历所述待处理结构体在所述当前执行函数中成员变量,确定所述成员变量的类型,之前所述方法还包括:
7.根据权利要求4所述的方法,其特征在于,所述对待处理结构体进行序列化处理,得到所述待处理结构体经过所述序列化处理后的测试数据包括:
8.一种测试数据生成装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至7中任一项所述的方法。
技术总结本公开提供一种测试数据生成方法、装置、电子设备及介质,涉及计算机技术领域,该方法包括:获取目标数据库中的待处理结构体;对待处理结构体进行序列化处理,得到待处理结构体经过序列化处理后的测试数据,并将测试数据存储至目标数据库,实现通过自动化生成测试数据,并将该测试数据存储到数据库中,以为后续所有的单元测试使用,降低单元测试的工作量,从而提高单元测试的效率。技术研发人员:练文聪受保护的技术使用者:中移(苏州)软件技术有限公司技术研发日:技术公布日:2024/11/14本文地址:https://www.jishuxx.com/zhuanli/20241118/330127.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。