本技术涉及测试,尤其涉及一种测试案例生成方法及设备。
背景技术:
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、可选地,所述获取所述第二输入内容对应的规则推荐队列,包括:
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、根据所述至少一个第二推荐组件生成所述组件推荐队列。
71、可选地,所述信息获取模块还用于:
72、获取每个所述第二推荐组件的第二排序信息,所述第二排序信息包括以下至少一项:所述第二推荐组件的使用频次、与所述第一输入内容之间的匹配度;
73、根据所述第二排序信息对所述至少一个第二推荐组件进行排序后,作为所述组件推荐队列。
74、可选地,所述信息获取模块还用于:
75、接收第二输入内容;
76、获取所述第二输入内容对应的规则推荐队列;
77、将用户在所述规则推荐队列中选取的规则作为所述目标规则。
78、可选地,所述信息获取模块还用于:
79、从所述规则库中获取所述第二输入内容匹配的至少一个推荐规则;
80、根据所述至少一个推荐规则生成所述规则推荐队列。
81、可选地,所述信息获取模块还用于:
82、获取每个所述推荐规则的第三排序信息,所述第三排序信息包括以下至少一项:所述推荐规则的使用频次、与所述第二输入内容之间的匹配度;
83、根据所述第三排序信息对所述至少一个推荐规则进行排序后,作为所述规则推荐队列。
84、可选地,还包括:
85、存储模块,用于在所述根据所述目标处理的处理结果生成测试案例之后,将所述测试案例和所述测试案例中的各组件封装得到的封装组件进行存储;
86、第一更新模块,用于根据所述测试案例中的规则更新所述规则库;
87、第二更新模块,用于根据所述测试案例中的规则和组件之间的映射关系,更新所述规则组件映射表。
88、第三方面,本技术提供一种电子设备,包括存储器和至少一个处理器;
89、其中,存储器存储计算机执行指令;
90、至少一个处理器执行存储器存储的计算机执行指令,使得电子设备实现前述第一方面的方法。
91、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
92、第五方面,本技术提供一种计算机程序产品,用于实现第一方面的方法。
93、本技术提供的测试案例生成方法及设备,可以获取规则组件信息,规则组件信息包括目标规则和目标组件;对规则组件信息进行目标处理;在目标处理的过程中,若至少一个规则组件信息中存在失败对象,则从失败对象的纠错队列中取出处于队首的纠错对象,以对其进行纠错后,返回对规则组件信息进行目标处理的步骤,纠错队列随目标处理的执行时间动态变化;若不存在失败对象,则根据目标处理的处理结果生成测试案例。本技术调用规则引擎基于规则组件信息生成测试案例,用户仅需要输入规则组件信息即可实现测试案例的生成,可以降低用户的使用门槛,生成较便捷,在快速迭代的软件产品中可以快速生成测试案例。并且,上述纠错队列可以自动对规则组件信息进行纠错,有助于提高测试案例的生成成功率和准确度。用户可以一次性输入多个规则组件信息,以批量生成测试案例集。在录入规则组件信息时,还可以根据用户输入自动补全目标规则和/或目标组件,可以降低用户操作复杂度和使用门槛。此外,还可以从规则库中获取与失败对象匹配的预设对象作为纠错对象,并通过纠错对象的使用频次、与失败对象的匹配度以及用户检查的结果,对纠错队列中的纠错对象进行排序。如此,可以实现纠错队列的智能生成,并且将匹配度高、且使用频次高,用户检查通过较多的纠错对象排列在靠前位置,以优先使用其进行纠错,可以尽可能的提高纠错效率和纠错成功率。