本发明涉及大数据,尤其涉及一种测试缺陷的复现方法和装置。
背景技术:
1、在各种应用程序、小程序、软件等上线之前,皆需经过测试人员的测试,确认不存在测试缺陷以后方可稳定运行。测试缺陷(或称,bug)是指应用程序、小程序、软件等存在的漏洞和错误。
2、开发人员在对测试缺陷进行修复时,根据测试缺陷是否能够复现,将测试缺陷分为必现型bug或者偶现型bug。必现型bug是指开发人员重复测试时的操作步骤必然会重新出现的bug,偶现型bug是指重现概率较低的bug。
3、在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
4、必现型bug可以通过固定的操作步骤复现,开发人员跟踪记录后进行修复即可。偶现型bug由于重现概率较低(需要重复操作几十甚至上百次才会重现一次,或者,时不时重现但是不存在任何规律),需要付出较高的时间、人力和开发成本进行查找、调试、修复和验证,甚至浪费较大成本后仍无法解决,使得前期开发付之东流。
技术实现思路
1、有鉴于此,本发明实施例提供一种测试缺陷的复现方法和装置,能够捕捉各式各样的测试缺陷,尤其是准确定位偶现型bug的产生路径,以便于进行修复,降低了测试和修复的时间、人力和开发成本,保证程序的稳定上线运行。
2、进一步地,还可以统计偶现bug的出现概率,以给开发人员提供后续的开发参考。
3、为实现上述目的,根据本发明实施例的一个方面,提供了一种测试缺陷的复现方法,包括:
4、根据被测试程序的测试缺陷生成测试缺陷的复现请求,并发送给复现终端;其中,所述复现请求包括被测试程序的url地址、测试缺陷的缺陷结果和与所述测试缺陷对应的待复现流程;
5、响应于所述复现终端根据所述待复现流程的待复现步骤对所述被测试程序进行的复现操作,抓取各个所述复现操作的输出结果,同时对所述复现操作进行录制,将所述复现操作的输出结果与所述缺陷结果进行对比;
6、在确定所述复现操作的输出结果与所述缺陷结果相同的情况下,确定所述复现请求的复现结果为复现成功,根据录制的所述复现操作的动态图片,确定所述测试缺陷的产生路径。
7、可选地,所述复现请求还包括与所述测试缺陷对应的目标接口;所述抓取各个所述复现操作的输出结果,包括:
8、利用抓包工具判断所述复现操作对应的接口是否是所述目标接口;
9、在所述复现操作对应的接口是所述目标接口的情况下,抓取所述目标接口的输出结果。
10、可选地,所述对所述复现操作进行录制,包括:
11、根据预设时间间隔,利用录制工具截取所述复现终端的过程图片。
12、可选地,在确定所述复现请求的复现结果为复现成功的情况下,还包括:
13、生成所述复现请求的结束指令;其中,所述结束指令包括抓包结束指令和录制结束指令。
14、可选地,还包括:
15、根据所述抓包结束指令,获取所述复现操作的操作信息;
16、将所述复现操作的操作信息存储至测试缺陷数据库;其中,所述复现操作的操作信息包括所述测试人员登录所述被测试程序的请求cookie、所述目标接口的方法名、所述目标接口的消息体、所述目标接口的输入参数和所述目标接口的输出结果。
17、可选地,还包括:
18、根据所述录制结束指令,获取所述复现请求的录制信息;其中,所述复现请求的录制信息包括复现过程中的所述复现操作的截图;
19、利用与所述复现操作对应的多张互不重复的截图生成所述动态图片。
20、可选地,在确定所述复现请求的复现结果为复现成功的情况下,替换性地,还包括:
21、将所述待复现流程包括的待复现步骤作为所述测试缺陷的产生路径。
22、根据本发明实施例的再一个方面,提供了一种测试缺陷的复现装置,包括:
23、生成模块,用于根据被测试程序的测试缺陷生成测试缺陷的复现请求,并发送给复现终端;其中,所述复现请求包括被测试程序的url地址、测试缺陷的缺陷结果和与所述测试缺陷对应的待复现流程;
24、对比模块,用于响应于所述复现终端根据所述待复现流程的待复现步骤对所述被测试程序进行的复现操作,抓取各个所述复现操作的输出结果,同时对所述复现操作进行录制,将所述复现操作的输出结果与所述缺陷结果进行对比;
25、路径确定模块,用于在确定所述复现操作的输出结果与所述缺陷结果相同的情况下,确定所述复现请求的复现结果为复现成功,根据录制的所述复现操作的动态图片,确定所述测试缺陷的产生路径。
26、根据本发明实施例的另一个方面,提供了一种测试缺陷的复现的电子设备,包括:
27、一个或多个处理器;
28、存储装置,用于存储一个或多个程序,
29、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的测试缺陷的复现方法。
30、根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的测试缺陷的复现方法。
31、上述发明中的一个实施例具有如下优点或有益效果:因为采用在测试缺陷出现后,根据测试缺陷对应的缺陷功能的实现方式,确定对应的待复现流程,使得复现终端执行待复现流程;执行过程中,同时开启抓包工具和录制工具,抓取目标接口的出参,与缺陷结果进行对比,两者相同则说明复现成功,针对偶现可重现bug,通过对应的待复现流程的步骤即可确定偶现可重现bug的产生路径;针对偶现难以重现bug,对录制工具录制的动态图片进行分析,即可确定偶现难以重现bug的产生路径的技术手段,所以克服了现有的偶现型bug无法定位,需要付出较高的时间、人力和开发成本进行查找、调试、修复和验证,甚至浪费较大成本后仍无法解决,使得前期开发付之东流的技术问题,进而达到能够捕捉各式各样的测试缺陷,尤其是准确定位偶现型bug的产生路径,以便于进行修复,降低了测试和修复的时间、人力和开发成本,保证程序的稳定上线运行的技术效果。
32、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种测试缺陷的复现方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述复现请求还包括与所述测试缺陷对应的目标接口;所述抓取各个所述复现操作的输出结果,包括:
3.根据权利要求1所述的方法,其特征在于,所述对所述复现操作进行录制,包括:
4.根据权利要求2或3所述的方法,其特征在于,在确定所述复现请求的复现结果为复现成功的情况下,还包括:
5.根据权利要求4所述的方法,其特征在于,还包括:
6.根据权利要求4所述的方法,其特征在于,还包括:
7.根据权利要求1所述的方法,其特征在于,在确定所述复现请求的复现结果为复现成功的情况下,替换性地,还包括:
8.一种测试缺陷的复现装置,其特征在于,包括:
9.一种测试缺陷的复现的电子设备,其特征在于,包括:
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
