本公开涉及计算机,具体而言,涉及一种测试用例的生成方法、装置、计算机设备及存储介质。
背景技术:
1、随着技术发展,软件测试已成为计算机领域中非常重要的一项内容。相关技术中,测试用例一般为人工编写生成的。具体的,测试工程师可以根据页面结构和业务流等信息手工编写测试用例。但是,人工编写测试用例的方式不仅费时费力,而且容易遗漏关键操作,导致测试用例覆盖不全面,造成测试效果不准确。同时,手工编写的测试用例在应对频繁的页面更新时,其维护成本较高,测试效率较低。
技术实现思路
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、获取模块,用于获取执行业务系统的业务流程时用户交互行为的行为数据;其中所述行为数据包括用户针对所述业务流程在所述业务系统的操作页面上触发的各交互事件的事件信息;
36、确定模块,用于基于所述用户交互行为的行为数据,确定交互节点和所述交互节点对应的节点数据;
37、第一生成模块,用于按照各所述交互节点的触发顺序,基于所述交互节点和所述节点数据,生成所述业务流程对应的操作流信息;
38、第二生成模块,用于基于所述操作流信息,生成所述业务流程对应的端对端测试用例代码。
39、一种可选的实施方式中,所述装置还包括:测试模块,用于:
40、在所述业务系统的系统功能更新之后,确定包括所述系统功能的各业务流程;
41、利用所述各业务流程分别对应的所述端对端测试用例代码,确定所述系统功能对应的测试结果。
42、一种可选的实施方式中,所述第二生成模块,在基于所述操作流信息,生成所述业务流程对应的端对端测试用例代码时,用于:
43、利用行为模拟工具,解析并读取所述操作流信息中各个所述交互节点的节点数据;并针对每个所述交互节点,根据所述交互节点的节点数据,生成所述交互节点对应的测试代码;
44、按照各所述交互节点的触发顺序,将各所述交互节点分别对应的测试代码进行组合,生成所述业务流程对应的端对端测试用例代码。
45、一种可选的实施方式中,所述第二生成模块,在生成所述业务流程对应的端对端测试用例代码之后,还用于:
46、在所述操作流信息中包括目标交互事件时,获取用于确定所述目标交互事件是否可触发的第一断言;
47、将所述第一断言添加至所述端对端测试用例代码中所述目标交互事件对应的测试代码之前,得到更新后的端对端测试用例代码。
48、一种可选的实施方式中,所述第二生成模块还用于:
49、基于所述用户交互行为的行为数据,确定所述操作流信息中相邻交互节点之间的间隔时间;
50、基于所述相邻交互节点之间的间隔时间,生成时间代码;
51、所述第二生成模块,在按照各所述交互节点的触发顺序,将各所述交互节点分别对应的测试代码进行组合,生成所述业务流程对应的端对端测试用例代码时,用于:
52、按照各所述交互节点的触发顺序,将各所述交互节点分别对应的测试代码进行组合,并在相邻交互节点的测试代码之间插入对应的所述时间代码,生成所述业务流程对应的端对端测试用例代码。
53、一种可选的实施方式中,在所述行为数据中包括网络请求事件的事件信息时,所述第二生成模块在生成所述交互节点对应的测试代码之后,还用于:
54、获取网络请求拦截代码;
55、基于所述网络请求事件的事件信息包括的网络请求状态值,生成所述网络请求事件对应的第二断言;
56、将所述网络请求拦截代码和所述第二断言添加至所述网络请求事件对应的交互节点的测试代码中,生成所述交互节点对应的更新后的测试代码,其中所述更新后的测试代码用于生成所述端对端测试用例代码。
57、一种可选的实施方式中,在生成所述业务流程对应的操作流信息之后,还包括:校验模块,用于:
58、对所述操作流信息进行校验;
59、在校验确定所述操作流信息存在异常时,对所述操作流信息进行调整,生成调整后的操作流信息。
60、一种可选的实施方式中,所述获取模块,在获取执行业务系统的业务流程时用户交互行为的行为数据时,用于:
61、利用页面监听脚本,监听用户在所述业务系统上触发的各交互事件;
62、在监听到启动所述业务流程的第一交互事件时,采集所述第一交互事件的事件信息、和所述第一交互事件之后各交互事件的事件信息,直至监听到结束所述业务流程的第二交互事件为止;
63、基于采集的各交互事件的事件信息,生成所述业务流程对应的所述用户交互行为的行为数据。
64、一种可选的实施方式中,所述交互事件包括以下一种或多种:
65、点击事件、输入事件、鼠标移动事件、拖拽事件、滚动事件、上下文菜单事件、表单提交事件、网络请求事件。
66、第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
67、第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
68、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
69、本公开实施例提供的测试用例的生成方法、装置、计算机设备及存储介质,通过获取执行业务系统的业务流程时用户交互行为的行为数据;其中所述行为数据包括用户针对所述业务流程在所述业务系统的操作页面上触发的各交互事件的事件信息;基于所述用户交互行为的行为数据,确定交互节点和所述交互节点对应的节点数据;按照各所述交互节点的触发顺序,基于所述交互节点和所述节点数据,生成所述业务流程对应的操作流信息,本公开中操作流信息为基于各交互事件的事件信息生成的,操作流信息的生成较为简便和高效,进而可以基于操作流信息,实现业务流程对应的端对端测试用例代码的自动生成,缓解了人工编写造成的成本问题和效率问题,提高了端对端测试用例代码的生成效率。以及,本公开中操作流包括执行业务流程的各交互事件,使得操作流信息能够较准确的反应业务流程的执行过程,业务流程中交互事件较全面,保障了端对端测试用例代码的准确性。
70、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种测试用例的生成方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述操作流信息,生成所述业务流程对应的端对端测试用例代码,包括:
4.根据权利要求3所述的方法,其特征在于,所述生成所述业务流程对应的端对端测试用例代码之后,还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,在所述行为数据中包括网络请求事件的事件信息时,在生成所述交互节点对应的测试代码之后,还包括:
7.根据权利要求1所述的方法,其特征在于,在生成所述业务流程对应的操作流信息之后,所述方法还包括:
8.根据权利要求1-7任一所述的方法,其特征在于,所述获取执行业务系统的业务流程时用户交互行为的行为数据,包括:
9.根据权利要求1所述的方法,其特征在于,所述交互事件包括以下一种或多种:
10.一种测试用例的生成装置,其特征在于,包括:
11.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至9任一项所述的测试用例的生成方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至9任一项所述的测试用例的生成方法的步骤。