本技术涉及大数据,特别是涉及一种程序测试方法、装置、设备、存储介质及程序产品。
背景技术:
1、随着信息技术的发展,由于越来越多的业务系统进行了数字化改进,业务系统作为业务正常运转的重要支撑平台,一旦出现故障,轻则引起业务中断,重则可能导致整体业务瘫痪。因此,对于业务系统的稳定性要求越来越高。
2、相关技术中,为了保证业务系统的稳定性,通常会在业务程序更新或上线前进行高可用测试。该高可用测试通常由人工完成,在业务程序的测试过程中手动对业务系统的服务器进行故障操作,再人工确定故障操作后各个监控点的情况,从而确定业务程序的高可用性是否符合预期。
3、然而,由于业务程序的执行速度较快,由手动进行故障操作,可能会遗漏业务程序的关键运行节点,从而导致业务程序的测试结果具有偶然性,使得程序测试的准确性不高。
技术实现思路
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、在其中一个实施例中,不同的故障测试操作对应不同的故障类型,所述故障类型包括:进程中断故障、进程暂停故障、网卡断开连接故障和宕机故障。
32、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面的程序测试方法。
33、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的程序测试方法。
34、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面的程序测试方法。
35、上述程序测试方法、装置、设备、存储介质及程序产品,首先接收终端设备发送的检测指令,该检测指令用于指示待测试程序中待检测的目标运行节点,该目标运行节点为待测试程序在目标场景下的功能组件的关键监控点。其次,通过目标检测程序监测待测试程序,并在监测到待测试程序运行至目标运行节点时获取目标运行节点对应的运行代码,该目标检测程序为循环执行的脚本程序,该运行代码用于表征功能组件对应的代码逻辑的代码函数或封装有代码逻辑的代码块。若目标运行节点对应的运行代码与预设的校验代码匹配,则确定待测试程序在目标运行节点处于第一作业状态,第一作业状态为待测试程序的故障测试的触发状态。最后,根据预设的故障测试参数,确定第一作业状态对应的故障测试操作,故障测试参数用于指示第一作业状态和故障测试操作之间的对应关系,并使用故障测试操作对待测试程序进行测试。通过该程序测试方法,由于目标运行节点是通过检测指令自动确定的,不会由于测待测试程序执行过快而遗漏,从而使得故障测试操作可以在待测试程序的各个关键的目标运行节点上进行更加全面的进行测试,进而提高了程序测试的准确性。
1.一种程序测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过目标检测程序监测所述待测试程序,并在监测到所述待测试程序运行至所述目标运行节点时获取所述目标运行节点对应的运行代码,包括:
3.根据权利要求1所述的方法,其特征在于,在所述若所述目标运行节点对应的运行代码与预设的校验代码匹配,则确定所述待测试程序在所述目标运行节点处于第一作业状态之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述检测指令中还包括所述待测试程序的预期测试耗时,在所述根据所述待测试程序在所述目标运行节点的第一作业状态,生成所述待测试程序的测试报告文件之前,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,在所述使用所述故障测试操作对所述待测试程序进行测试之后,所述方法还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,不同的故障测试操作对应不同的故障类型,所述故障类型包括:进程中断故障、进程暂停故障、网卡断开连接故障和宕机故障。
7.一种程序测试装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
