System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 程序逻辑功能检测方法、装置、计算机设备和存储介质制造方法及图纸_技高网

程序逻辑功能检测方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:40161572 阅读:6 留言:0更新日期:2024-01-26 23:35
本申请涉及一种程序逻辑功能检测方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:在程序的原始程序代码中插入针对目标检测对象的测试数据拦截代码,得到插桩后程序代码;该目标检测对象为与程序的逻辑功能具有关联关系的代码调用对象;在不同阶段下运行插桩后程序代码,以通过测试数据拦截代码拦截测试目标检测对象产生的检测数据;检测数据包括第一阶段的检测数据和第二阶段的检测数据;第一阶段为参考阶段;第二阶段为参考阶段的验证阶段;根据第一阶段的检测数据和第二阶段的检测数据,对程序的逻辑功能进行检测。采用本方法能够及时准确检测出程序存在的功能异常。

【技术实现步骤摘要】

本申请涉及软件测试,特别是涉及一种程序逻辑功能检测方法、装置、计算机设备、存储介质和计算机程序产品。


技术介绍

1、程序代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。

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、上述程序逻辑功能检测方法、装置、计算机设备、存储介质和计算机程序产品,通过在程序的原始程序代码中插入针对目标检测对象的测试数据拦截代码,得到插桩后程序代码,该目标检测对象为与该程序的逻辑功能具有关联关系的代码调用对象,并在不同阶段下运行插桩后程序代码,以通过测试数据拦截代码拦截测试目标检测对象产生的检测数据;检测数据包括第一阶段的检测数据和第二阶段的检测数据;第一阶段为参考阶段;第二阶段为参考阶段的验证阶段;再根据第一阶段的检测数据和第二阶段的检测数据,对程序的逻辑功能进行检测;如此,通过在程序的原始程序代码中插入针对目标检测对象的测试数据拦截代码,实现有效地对目标检测对象在不同阶段的运行数据的采集,可以在检测程序的逻辑功能的过程中更加注重码调用对象在不同阶段的结果校验,从而及时且高效地发现程序代码中的实际数据与流程是否出现变动,进而便于及时准确检测出程序存在的功能异常。

本文档来自技高网...

【技术保护点】

1.一种程序逻辑功能检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述在程序的原始程序代码中插入针对目标检测对象的测试数据拦截代码,得到插桩后程序代码,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述检测配置文件中的配置指令,将所述测试数据拦截代码插入至所述原始程序代码中,得到所述插桩后程序代码,包括:

4.根据权利要求1所述的方法,其特征在于,所述目标检测对象包括代码调用参数,所述在不同阶段下运行所述插桩后程序代码,以通过所述测试数据拦截代码拦截测试所述目标检测对象产生的检测数据,包括:

5.根据权利要求1所述的方法,其特征在于,所述目标检测对象包括代码调用流程,所述在不同阶段下运行所述插桩后程序代码,以通过所述测试数据拦截代码拦截测试所述目标检测对象产生的检测数据,包括:

6.根据权利要求1所述的方法,其特征在于,所述根据所述第一阶段的检测数据和所述第二阶段的检测数据,对所述程序的逻辑功能进行检测,包括:

7.一种程序逻辑功能检测装置,其特征在于,所述装置包括:

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种程序逻辑功能检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述在程序的原始程序代码中插入针对目标检测对象的测试数据拦截代码,得到插桩后程序代码,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述检测配置文件中的配置指令,将所述测试数据拦截代码插入至所述原始程序代码中,得到所述插桩后程序代码,包括:

4.根据权利要求1所述的方法,其特征在于,所述目标检测对象包括代码调用参数,所述在不同阶段下运行所述插桩后程序代码,以通过所述测试数据拦截代码拦截测试所述目标检测对象产生的检测数据,包括:

5.根据权利要求1所述的方法,其特征在于,所述目标检测对象包括代码调用流程,所述在不同阶段下运行所述插桩后程序代码,以通过所述测试数据...

【专利技术属性】
技术研发人员:廖志勤叶宗宝
申请(专利权)人:广州趣研网络科技有限公司
类型:发明
国别省市:

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

1