本申请属于大数据,尤其涉及一种测试代码生成的方法、装置、设备、存储介质及程序产品。
背景技术:
1、在软件功能更新或软件上线前,需要对软件的代码进行测试,目前,通过单元测试的方式对软件中的部分的代码进行测试,从而减低测试成本。
2、但是,在构建测试代码时,开发人员需要针对需要测试的方法函数编写方法函数所使用的外部资源的资源代码和完整的测试代码,搭建完整的代码测试框架。如此,针对不同的方法函数,需要搭建不同的代码测试框架,并且最后开发人员编写的测试代码会打入软件的上线数据包中,因此随着测试代码的增加,测试代码中存在的漏洞的可能性增加,降低了软件安全性。
技术实现思路
1、本申请实施例提供一种测试代码生成的方法、装置、设备、存储介质及程序产品,能够提高软件的安全性。
2、第一方面,本申请实施例提供一种测试代码生成的方法,包括:
3、获取测试数据包,所述测试数据包中包括待测试软件中的方法函数;
4、响应于用户的输入,获取待测试方法函数标识和所述待测试方法函数标识对应的实现方式,所述实现方式用于表示对所述待测试方法函数标识对应的待测试方法函数进行测试的方法;
5、根据所述待测试方法函数标识,在所述测试数据包中获取和所述待测试方法函数标识对应的目标方法函数;
6、将所述目标方法函数对应的实现方式修改为所述待测试方法函数标识对应的实现方式,得到测试代码。
7、在一种可能的实现方式中,所述根据所述待测试方法函数标识,在所述测试数据包中获取和所述待测试方法函数标识对应的目标方法函数,包括:
8、对所述测试数据包进行解压处理,得到字节码文件,所述字节码文件包含测试文件的访问路径;
9、通过所述测试文件的访问路径获取测试文件;
10、解析所述测试文件,得到所述测试文件对应的方法函数;
11、在所述测试文件对应的方法函数中获取和所述待测试方法函数标识对应的所述目标方法函数。
12、在一种可能的实现方式中,在所述将所述目标方法函数对应的实现方式修改为所述待测试方法函数标识对应的实现方式,得到测试代码之后,所述方法还包括:
13、运行所述测试代码,按照修改后的实现方式向挡板服务器发送调用请求;
14、接收所述挡板服务器返回的返回值;
15、基于所述返回值确定所述目标方法函数的测试结果。
16、在一种可能的实现方式中,所述基于所述返回值确定所述目标方法函数的测试结果,包括:
17、按照预设格式转换流程对所述返回值的数据格式进行格式转换,得到目标格式返回值;
18、按照所述目标返回值确定所述目标方法函数的测试结果。
19、在一种可能的实现方式中,在所述接收所述挡板服务器返回的返回值之前,所述方法还包括:
20、按照所述待测试方法函数对应的实现方式在所述挡板服务器中配置所述待测试方法函数对应的返回值。
21、在一种可能的实现方式中,在所述响应于用户的输入,获取待测试方法函数标识和所述待测试方法函数标识对应的实现方式之前,所述方法还包括:
22、接收用户在配置界面的输入,所述输入包括所述待测试方法函数标识和所述待测试方法函数标识对应的实现方式。
23、第二方面,本申请实施例提供一种测试代码生成的装置,包括:
24、获取模块,用于获取测试数据包,所述测试数据包中包括待测试软件中的全部方法函数;
25、所述获取模块,还用于响应于用户的输入,获取待测试方法函数标识和所述待测试方法函数标识对应的实现方式,所述实现方式用于表示对所述待测试方法函数标识对应的待测试方法函数进行测试的方法;
26、所述获取模块,还用于根据所述待测试方法函数标识,在所述测试数据包中获取和所述待测试方法函数标识对应的目标方法函数;
27、修改模块,用于将所述目标方法函数对应的实现方式修改为所述待测试方法函数标识对应的实现方式,得到测试代码。
28、第三方面,本申请实施例提供了一种电子设备,所述设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如第一方面任意一项所述的测试代码生成的方法。
29、第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如第一方面任意一项所述的测试代码生成的方法。
30、第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面任意一项所述的测试代码生成的方法。
31、本申请实施例的测试代码生成的方法、装置、设备、存储介质及程序产品,获取测试数据包、待测试方法函数标识以及待测试方法函数标识对应的实现方式,其中,测试数据包中包括待测试软件中的全部方法函数。然后对比测试数据包中包含的方法函数和待测试方法函数,对于测试数据包中和待测试方法函数标识对应的目标方法函数,按照待测试方法函数标识对应的实现方式对测试数据包中的目标方法函数的实现方式进行修改,得到测试代码。其中,由于测试数据包中包括待测试软件的方法函数,通过预设的待测试方法函数的实现方式,对测试数据包中目标方法函数进行替换。生成的测试代码可以用于对待测试方法函数进行单元测试。如此,在已有的测试数据包对应的测试框架中,通过对需要进行单元测试的目标方法函数的实现进行修改,可以生成针对目标方法函数的测试代码。避免引入其他测试框架,从而降低了引入安全漏洞的可能性,提高了待测试软件的安全性。
1.一种测试代码生成的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述待测试方法函数标识,在所述测试数据包中获取和所述待测试方法函数标识对应的目标方法函数,包括:
3.根据权利要求1所述的方法,其特征在于,在所述将所述目标方法函数对应的实现方式修改为所述待测试方法函数标识对应的实现方式,得到测试代码之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述返回值确定所述目标方法函数的测试结果,包括:
5.根据权利要求3所述的方法,其特征在于,在所述接收所述挡板服务器返回的返回值之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,在所述响应于用户的输入,获取待测试方法函数标识和所述待测试方法函数标识对应的实现方式之前,所述方法还包括:
7.一种测试代码生成的装置,其特征在于,包括:
8.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-6任意一项所述的测试代码生成的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任意一项所述的测试代码生成的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-6任意一项所述的测试代码生成的方法。