一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种业务测试方法及系统与流程

2022-02-19 06:19:52 来源:中国专利 TAG:


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.图1为本发明实施例1提供的业务测试方法流程示意图;
30.图2为本发明实施例2提供的业务测试系统结构示意图。
具体实施方式
31.下面结合附图与实施例对本发明做进一步说明。
32.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
33.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
35.实施例1
36.根据背景技术所述的问题,本实施例以智慧餐饮业务为例,目前在对智慧餐饮业务进行功能测试时,是通过测试人员对业务理解从而建立测试模型,但由于智慧餐饮业务繁多复杂,给测试人员产生了巨大的工作量,而且测试模型依赖于测试人员对业务的理解,当测试人员发生变动时,新的测试人员难以覆盖到智慧餐饮业务所包含的所有操作,并且当智慧餐饮业务快速迭代时,需要测试人员耗费大量的时间与精力进行回归测试。基于此,本实施例提供了一种业务测试方法,如图1所示,包括:
37.s1:根据测试用例,自动生成与业务相关的脚本文件;
38.s2:根据测试用例,对脚本文件进行分析处理,得到与测试用例相匹配的测试脚本文件;
39.s3:根据与测试用例相匹配的测试脚本文件,对业务进行测试,并输出测试结果。
40.可以构建覆盖智慧餐饮业务主要操作的自动化测试脚本文件,当业务快速迭代时,可以减少测试人员回归测试的工作量,避免将大量的时间用于低效率的重复性工作;当测试人员出现变动时,可以避免新的测试人员由于对业务的不熟悉,从而导致测试业务时无法覆盖测试所有业务的问题,保证测试的质量,提高测试的可靠性。
41.下面结合附图,详细说明本技术的各种非限制性实施方式。
42.在所述步骤s1中,根据测试用例,自动生成脚本文件的过程中,记录根据测试用例执行的业务操作,自动生成脚本文件;
43.特别说明的是,第一次执行步骤s1时依据的测试用例,覆盖了所有主要操作,之后由于业务迭代而再次执行步骤s1时,依据的测试用例仅覆盖新增业务所包含的主要操作。
44.需要注意的是,此时的脚本文件无法直接使用,需要进一步进行处理;
45.原因是:自动生成的脚本文件中包含的参数信息,是根据当前实际业务操作而记录的,所以这些参数信息记录的是当前业务操作的真实值;但是当重新进行新的业务操作或执行同样的业务操作时,这些参数信息会发生变化,所以会出现报错,从而导致业务无法
继续执行;也就是直接执行未处理的脚本文件无法成功执行对应的业务操作,因此需要对这些参数信息进行处理,以达到每次执行新业务操作或执行同样的业务操作时,也就是执行脚本文件时,可以自动根据实际的业务操作,获取到当前业务操作中所需要的真实且有效的参数信息,而不用每次手动更改参数信息。
46.由此,在所述步骤s2中,对无法直接使用的脚本文件进行分析处理的过程包括:分析脚本文件中每条记录所代表的测试用例,分析记录中需要处理的业务参数,执行该脚本文件,通过添加响应断言对执行后得到的基础脚本文件进行验证,验证在当前业务参数下的脚本文件是否可正常执行,若有报错则调整业务参数,直至执行过程无报错,则得到与测试用例相匹配的测试脚本文件。
47.在所述步骤s2中,分析记录中需要处理的业务参数的过程包括:
48.在第一次业务操作时记录操作过程,生成脚本文件,脚本文件中记录每次操作时的请求信息、响应信息、信息头等信息;
49.根据上一个操作的请求信息、响应信息、信息头等信息,对照下一个操作的请求信息、响应信息、信息头等信息,得到每个业务操作中所需要的参数;
50.使用正则表达式从请求信息或者响应信息或者信息头等信息中,提取需要的参数信息,并将每个参数命名成一个变量,在执行其他业务操作时,则可直接调用该变量,从而进行各种业务操作时,自动根据请求信息,获取响应信息,然后使用正则表达式从响应信息或信息头中提取对应位置的参数信息,并命名成变量,其他业务操作有需要时则可直接调用该变量所代表的参数信息。
51.在所述步骤s2中,对基础脚本文件通过响应断言进行验证的过程包括:执行业务操作时记录的脚本文件中还包括请求信息、响应信息、信息头等信息,因此每个业务操作都会有对应的响应信息,在响应信息中挑选特殊的字符串内容,代表该条业务操作成功的验证信息,并作为响应断言添加到每条业务操作之中;
52.执行脚本文件,判断响应断言是否有报错信息,若有报错信息,则根据真实的响应信息与响应断言进行比较,调整脚本文件的参数,再次验证响应断言,直到每个操作的响应信息中都有对应设置的响应断言,且无报错信息,则生成测试脚本文件。
53.在所述步骤s3中,执行测试脚本文件,模拟与测试用例相匹配的业务操作,对模拟的业务操作进行跟踪测试,判断测试过程中是否存在与预期不符的异常,若存在异常,则发出告警提示,记录测试脚本所模拟的所有业务操作的执行结果;
54.其中,所述执行结果包括每一条业务操作的响应时间、异常错误次数、异常错误原因等信息。
55.在本实施例中,步骤s2是为了生成基础脚本文件,确保单独执行该脚本文件时,脚本文件中的参数是自动生成且有效的,并且验证该基础脚本文件是可以正常执行的,也就是生成了不会报错并可以正常运行的基础脚本文件;但是该过程不具备汇总、统计以及类似并发执行等复杂操作的能力;
56.步骤s3是实际执行测试脚本文件,对脚本文件中的响应时间、异常错误次数、异常错误原因等进行记录、汇总和统计,此时不再需要对步骤s2中的业务参数进行调整;同时,还可根据实际的测试用例,进一步调整实际测试用例所需的业务参数,从而达到实现特殊测试用例的目的。
57.实施例2
58.如图2所示,本实施例提供一种业务测试系统,包括:
59.脚本生成模块10,用于根据测试用例,自动生成与业务相关的脚本文件;
60.脚本分析处理模块20,用于对自动生成的脚本文件进行分析处理,得到与测试用例相匹配的测试脚本文件。
61.业务测试模块30,用于使用与测试用例相匹配的测试脚本文件,对业务进行测试,并输出测试结果。
62.此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
63.优选地,脚本生成模块10包括:记录单元101,记录根据测试用例执行的业务操作,自动生成脚本文件。
64.优选地,脚本分析处理模块20包括:
65.分析单元201,用于分析脚本文件中每条记录所代表的测试用例,分析记录中需要处理的业务参数;
66.处理单元202,用于处理脚本文件中每条记录的业务参数;
67.验证单元203,用于添加响应断言,验证已处理业务参数的脚本文件是否可正常执行;
68.生成单元204,用于生成测试脚本文件。
69.优选地,业务测试模块30包括:
70.模拟单元301,用于执行测试脚本文件,模拟与测试用例相匹配的业务操作;
71.判断单元302,用于对模拟的业务操作进行跟踪测试,判断测试过程中是否存在与预期不符的异常;
72.告警单元303,用于当判断单元发现模拟的业务操作出现与预期不符的异常时,发出告警提示;
73.汇总单元304,用于记录测试脚本所模拟的所有业务操作的执行结果,其中执行结果包括每一条业务的响应时间、异常错误次数、异常错误原因等信息。
74.本实施例中所述的测试系统,对业务进行测试时,首先,将根据测试用例执行的业务操作自动生成脚本文件;然后,分析脚本文件中每条记录所代表的测试用例,分析记录中需要处理的业务参数,对记录中需要处理的业务参数进行处理,然后添加响应断言,对执行过程进行验证,最终得到与测试用例相匹配的测试脚本文件;最后,执行测试脚本文件,模拟与测试用例相匹配的业务操作,对模拟的业务操作进行跟踪测试,判断测试过程中是否存在与预期不符的异常,并对异常发出告警提示,最终记录测试脚本所模拟的所有业务操作的执行结果,其中执行结果包括每一条业务操作的响应时间、异常错误次数、异常错误原因等信息。
75.在更多实施例中,还提供:
76.一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
77.应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
78.存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
79.一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
80.实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
81.本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
82.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献