本申请涉及计算机软件测试,具体涉及一种软件测试方法、装置、设备及存储介质。
背景技术:
1、在软件工程中,软件测试是必不可少的一环,随着业务规模的不断扩张,测试用例不断增多,通过引入自动化测试,提高测试效率。
2、目前,在自动化测试过程中,为了保证测试效率,通常同时使用多个测试代理机执行测试任务,但随着自动化测试用例的不断增加,海量的自动化测试用例消耗了大量的测试代理机资源,特别是用户界面(user interface,ui)自动化测试用例,每一个测试用例需独占一个浏览器,造成自动化测试成本剧增。
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、本申请实施例提供的软件测试方法、装置、设备及存储介质,判断任一具有第一类标签的运行状态测试代理机是否满负荷;若运行状态测试代理机未满负荷,则将待分配测试任务分配至运行状态测试代理机。该软件测试方法中,测试任务总是分配至未满负载的运行状态测试代理机,一方面,确保在运行状态测试代理机未满负载时,不会将测试任务分配至空闲的测试代理机,占用最少的测试代理机完成测试任务,另一方面,确保测试代理机负载正常,避免测试代理机过载而影响测试结果与测试效率。
1.一种软件测试方法,其特征在于,包括:
2.根据权利要求1所述的软件测试方法,其特征在于,还包括:
3.根据权利要求1所述的软件测试方法,其特征在于,所述判断任一运行状态测试代理机是否满负荷,包括:
4.根据权利要求3所述的软件测试方法,其特征在于,所述基于历史测试任务的运行成本,判断将所述待分配测试任务分配至所述运行状态测试代理机后,所述运行状态测试代理机的预测资源使用率是否达到预警值,包括:
5.根据权利要求1所述的软件测试方法,其特征在于,还包括:
6.根据权利要求5所述的软件测试方法,其特征在于,所述判断各测试代理机的资源使用率是否达到预警值,包括:
7.根据权利要求1-6中任一项所述的软件测试方法,其特征在于,若具有第三类标签的测试代理机中的各测试任务执行完成,则将所述具有第三类标签的测试代理机的标签更新为第二类标签。
8.根据权利要求1-6中任一项所述的软件测试方法,其特征在于,若各测试代理机中没有运行状态测试代理机,则将所述待分配测试任务分配至一个具有第二类标签的测试代理机,并将所述具有第二类标签的测试代理机的标签更新为第一类标签。
9.一种软件测试装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8任一项所述软件测试方法。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述软件测试方法。