本文作者:kaifamei

业务测试方法、装置、电子设备及存储介质与流程

更新时间:2025-12-16 05:15:35 0条评论

业务测试方法、装置、电子设备及存储介质与流程



1.本公开涉及测试技术领域,具体地,涉及一种业务测试方法、装置、电子设备及存储介质。


背景技术:



2.在软件测试行业,业务测试是检验业务功能需求必不可少的测试过程。业务测试是指测试人员将系统的不同模块进行有效串接,继而模拟真实用户的实际使用情况对系统进行运营,促使系统能够充分满足用户所要求的功能的测试过程。简而言之,就是多个功能组合测试。
3.然而,目前的业务测试需要建立大量的测试用例,而且测试用例下的接口调用关系处理不够灵活,通常需要专业人员通过硬编码才能完成,从而导致测试效率较低。


技术实现要素:



4.为克服相关技术中存在的问题,本公开提供一种业务测试方法、装置、电子设备及存储介质。
5.根据本公开实施例的第一方面,提供一种业务测试方法,包括:基于当前业务流程,建立业务流程图,所述业务流程图包括多个节点图标以及所述多个节点图标之间流转关系,每一所述节点图标对应一个业务接口,每一所述流转关系对应一个断言条件;对所述业务流程图进行解析,得到测试代码,所述测试代码用于对所述多个节点图标对应的业务接口进行调用;运行所述测试代码,以对所述当前业务流程进行业务测试。
6.可选地,所述基于当前业务流程,建立业务流程图,包括:显示可视化编辑界面,所述可视化编辑界面包括多个节点图标;响应于用户对所述多个节点图标做出的第一操作,生成所述多个节点图标的整体关系图,所述整体关系图表明所述多个节点图标之间的流转关系,其中,所述第一操作包括拖拽操作和连接操作;针对所述整体关系图中的每一节点图标,响应于用户的第二操作,为所述节点图标设定与所述第二操作对应的业务接口;针对所述整体关系图中各节点图标之间的流转关系,响应用户的第三操作,为所述流转关系设定与所述第三操作对应的断言条件;将设定好业务接口和断言条件的整体关系图作为所述业务流程图。
7.可选地,所述第二操作包括第一子操作和第二子操作,所述响应于用户的第二操作,为所述节点图标设定与所述第二操作对应的业务接口,包括:响应于用户对所述节点图标做出的所述第一子操作,展示接口列表,所述接口列表包括多个业务接口对应的选项;
响应于用户对所述接口列表做出的所述第二子操作,从所述接口列表中确定与所述第二子操作对应的目标业务接口,并将所述目标业务接口与所述节点图标关联。
8.可选地,所述第二操作还包括第三子操作,所述响应于用户的第二操作,为所述节点图标设定与所述第二操作对应的业务接口,还包括:响应于用户的第三子操作,进入所述节点图标对应的业务接口的接口参数设置界面;响应于用户在所述接口参数设置界面中的参数设置操作,对所述业务接口的请求参数和提取参数进行配置,其中,所述请求参数包括参数名称、参数类型以及参数值。
9.可选地,在所述响应于用户对所述节点图标做出的所述第一子操作,展示接口列表,所述接口列表包括多个业务接口对应的选项之后,还包括:获取当前节点图标对应的参考节点图标,所述当前节点图标为用户当前正在配置的节点图标,所述参考节点图标的流转关系在所述当前节点图标之前,且所述参考节点图标已经配置好了业务接口;根据所述参考节点图标对应的业务接口,从预设的多个业务场景中确定目标业务场景;根据所述目标业务场景更新所述接口列表的选项排序。
10.可选地,所述根据所述目标业务场景更新所述接口列表的选项排序,包括:从预设的多个业务接口中获取与所述目标业务场景对应的常用业务接口;将所述接口列表中从上到下排列的前n个选项替换为所述常用业务接口对应的选项,其中n为正整数。
11.可选地,所述第三操作包括第五子操作和第六子操作,所述响应用户的第三操作,为所述流转关系设定与所述第三操作对应的断言条件,包括:响应于所述第五子操作,进入所述流转关系的断言设置界面;响应于用户在所述断言设置界面做出的所述第六子操作,确定所述流转关系的断言条件,其中,第六子操作包括:在所述断言设置界面显示的断言条件编码列表中,选取出断言目标编码的操作,或者在所述断言设置界面显示的多段断言条件编码中,对至少一段的断言条件编码的拖拽操作。
12.根据本公开实施例的第二方面,提供一种业务测试装置,该装置包括:业务流程图构建模块,用于基于当前业务流程,建立业务流程图,所述业务流程图包括多个节点图标以及所述多个节点图标之间流转关系,每一所述节点图标对应一个业务接口,每一所述流转关系对应一个断言条件;测试代码生成模块,用于对所述业务流程图进行解析,得到测试代码,所述测试代码用于对所述多个节点图标对应的业务接口进行调用;测试模块,用于运行所述测试代码,以对所述当前业务流程进行业务测试。
13.根据本公开实施例的第三方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的
步骤。
14.根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
15.本公开的实施例提供的技术方案,通过基于当前业务流程,建立业务流程图,业务流程图包括多个节点图标以及多个节点图标之间流转关系,每一节点图标对应一个业务接口,每一流转关系对应一个断言条件;对业务流程图进行解析,得到测试代码,测试代码用于对多个节点图标对应的业务接口进行调用;运行测试代码,以对当前业务流程进行业务测试。这样,就能利用业务流程图中断言条件的自动判断功能,结合上下游接口的流转关系,实现自动化地模拟出编排的业务场景中多条线路的测试用例,并自动生成测试用例的代码,简化了业务测试流程,使得非专业人员也能够通过对图标的简单操作来完成测试,从而大大提升了业务测试效率。
16.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
17.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据一示例性实施例示出的一种业务测试方法的流程图。
18.图2是根据图1实施例示出的一种业务流程图。
19.图3是根据另一示例性实施例示出的一种业务测试方法的流程图。
20.图4是根据图3实施例示出的一种可视化编辑界面的示意图。
21.图5是根据一示例性实施例示出的一种接口参数设置界面的示意图。
22.图6是根据一示例性实施例示出的采用拖拽式来设置提取参数时的界面示意图。
23.图7是根据一示例性实施例示出的采用编码式来设置提取参数时的界面示意图。
24.图8是根据一示例性实施例示出的采用编码式来设置断言条件时的界面示意图。
25.图9是根据一示例性实施例示出的在对http响应头进行设置时的界面示意图。
26.图10是根据一示例性实施例示出的在对http响应码进行设置时的界面示意图。
27.图11是根据一示例性实施例示出的执行日志列表的示意图。
28.图12是根据一示例性实施例示出的一种日志详情界面。
29.图13是根据一示例性实施例示出的另一种日志详情界面。
30.图14是根据一示例性实施例示出的本实施例中业务流程的测试用例拆解示意图。
31.图15是根据一示例性实施例示出的一种业务测试装置的框图。
32.图16是根据一示例性实施例示出的一种电子设备的功能框图示意图。
具体实施方式
33.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
34.在相关技术中,业务测试的第一步就是分析并建立业务测试场景,而业务场景的最小单位一般来说就是应用程序编程接口。每一个业务场景都可能会由多个上下游接口进行串接,而且上下游接口之间又有着非常复杂的业务流程和各种逻辑分支。相关技术中的
业务测试流程是:先根据用户角进行分类,然后根据不同角的用户的常用功能进行业务场景设计,一条业务场景对应一条测试用例,然后根据测试用例人工编排接口调用顺序和参数传递。
35.可见,上述方式的最大缺点是业务场景的梳理必须完整且无遗漏,面对错综复杂和逻辑分支庞大的业务场景需要建立大量的测试用例,而且测试用例下的接口调用关系处理不够灵活,甚至需要专业人员通过硬编码来实现。显然,这样做专业性太强,不适宜推广,且会很大程度上加大测试过程的难度和工作量。因此,目前的业务测试方法,效率非常低下。
36.针对上述问题,本实施例提供一种业务测试方法、装置、电子设备及存储介质,能够在可视化的编辑界面中通过拖拽等操作进行业务场景的编排,并根据编排的业务流程自动生成测试用例的代码,使得非专业人员也能够通过对图标的简单操作来完成测试,从而大大提升了业务测试效率。
37.图1是根据一示例性实施例示出的一种业务测试方法的流程图,如图1所示,该方法可以包括以下步骤:110、基于当前业务流程,建立业务流程图,上述业务流程图包括多个节点图标以及上述多个节点图标之间流转关系,每一上述节点图标对应一个业务接口,每一上述流转关系对应一个断言条件。
38.示例性地,该业务测试方法可以应用于具有显示功能的电子设备,可选地,该电子设备包括但不限于计算机、笔记本电脑、平板电脑、智能手机等。下面以计算机为例进行说明。
39.作为一种示例,当用户需要对当前业务流程进行测试时,计算机可以显示一个可视化编辑界面,以使用户能在可视化编辑界面中基于当前业务流程,建立业务流程图。可选地,由于业务流程是有多个业务构成,每个业务可以预先对应一个业务接口,所以用户可以在可视化编辑界面中选取不同的业务接口对应的节点图标,并通过对该节点图标进行拖拽、连接等操作,建立各个业务接口之间的整体关系图。并在整体关系图的基础上,配置每个节点图标对应的业务接口,即配置业务接口的接口参数,以及每个节点图标之间的流转关系对应的断言条件,从而构建得到业务流程图。例如,得到的业务流程图可以如图2所示,在该业务流程图中,各个节点图标通过带箭头的连接线连接,所以该带箭头的连接线可以表明各节点图标对应的业务接口之间的流转关系,该流转关系在用户配置好断言条件以后,在测试时,就能够根据断言条件,在节点图标对应的业务接口处判断是否继续执行业务流程。其中,由于流转关系可以能出现分支的情况,所以每一条分支可以对应一个测试用例。
40.120、对上述业务流程图进行解析,得到测试代码,上述测试代码用于对上述多个节点图标对应的业务接口进行调用。
41.可以理解的是,由于业务流程图中包含了采用了哪些业务接口、各个业务接口之间的流转关系以及流转关系对应的断言条件等测试信息,所以对业务流程图进行解析后,可以根据上述测试信息生成测试代码。
42.130、运行上述测试代码,以对上述当前业务流程进行业务测试。
43.其中,计算机在得到该测试代码后,可以运行该测试代码,从而实现对当前业务流
程进行测试,由于上下游的业务接口之间可以通过断言条件自动判断是否继续执行该业务流程,并在业务流程不能继续执行时,自动输出测试结果,也就是通过断言条件可以自动形成多个业务分支对应的测试用例,再根据测试用例进行自动测试,避免了目前用户需要手动建立众多测试用例的情况。
44.可见,在本实施例中,通过基于当前业务流程,建立业务流程图,业务流程图包括多个节点图标以及多个节点图标之间流转关系,每一节点图标对应一个业务接口,每一流转关系对应一个断言条件;对业务流程图进行解析,得到测试代码,测试代码用于对多个节点图标对应的业务接口进行调用;运行测试代码,以对当前业务流程进行业务测试。这样,就能利用业务流程图中断言条件的自动判断功能,结合上下游接口的流转关系,实现自动化地模拟出编排的业务场景中多条线路的测试用例,并自动生成测试用例的代码,简化了业务测试流程,使得非专业人员也能够通过对图标的简单操作来完成测试,从而大大提升了业务测试效率。
45.图3是根据另一示例性实施例示出的一种业务测试方法的流程图,如图3所示,该方法可以包括以下步骤:210、显示可视化编辑界面,上述可视化编辑界面包括多个节点图标。
46.220、响应于用户对上述多个节点图标做出的第一操作,生成上述多个节点图标的整体关系图,上述整体关系图表明上述多个节点图标之间的流转关系,其中,上述第一操作包括拖拽操作和连接操作。
47.示例性地,在用户需要进行业务测试时,计算机可以显示可视化编辑界面,可选地,该可视化编辑界面可以包括可视化的节点图标创建选项以及一些常规的操作选项(如撤销、还原、保存)等。
48.作为一种示例,第一操作可以点击拖拽等操作,可视化编辑界面可以如图4所示,其中,节点图标创建选项可以位于可视化编辑界面的左侧,当用户做出点击节点图标创建选项的操作时,计算机可以响应该操作,在可视化编辑界面中部的区域生成节点图标;了或者用户可以直接从可视化编辑界面的左侧拖拽出节点图标,移动至可视化编辑界面中部的区域来进行编辑。
49.沿用上述示例,请再次参阅图4,用户可以通过点击界面左侧的“节点图标选项”创建出3个节点图标,再通过对节点图标进行拖拽的操作,可以移动各个节点图标的位置;通过对节点图标进行连接操作,可以将各个节点图标用带箭头的连接线(以下可称箭头连线)进行连接,连接后的各个节点图标对应连接线具有相应的流转关系,例如图4中的3个节点图标的流转关系为从左到右依次流转,从而可以得到如图4所示的业务流程图,该业务流程图即为该业务场景的全局拓扑关系图。
50.230、针对上述整体关系图中的每一节点图标,响应于用户的第二操作,为上述节点图标设定与上述第二操作对应的业务接口。
51.示例性地,第二操作可以包括列表下拉、点击等操作,如图4所示,在确定业务流程图后,在可视化编辑界面中,当用户通过第二操作选中任意一个节点图标后,可以在图4界面的右下角显示业务接口选择界面。在该业务接口选择界面中,用户下拉接口列表的操作,可以展示出多个预设的业务接口。在接收到用户在接口列表中的选中操作时,可以响应该操作为该节点图标设定选中的业务接口,此后,在对业务接口设定接口参数后,即可完成对
该节点图标设定好业务接口。例如在图4中,将第二个节点图标设定的业务接口为“student query”。以此类推,通过上述方式可以为业务流程图中的每一节点图标设定业务接口。
52.可以理解的是,该业务接口为应用程序编程接口(application programming interface,api),是一些预先定义的函数。
53.240、针对上述整体关系图中各节点图标之间的流转关系,响应用户的第三操作,为上述流转关系设定与上述第三操作对应的断言条件。
54.示例性地,第三操作可以点击、下拉列表、输入等操作,在可视化编辑界面中,用户可以通过点击两个节点图标之间的箭头连线来进入断言条件设置界面,作为一种示例,断言条件设置界面可以显示包括多种断言条件的断言条件编码列表,用户可以从断言条件编码列表选取出自己需要的断言条件,从而为该箭头连线(也就是该箭头连线对应的流转关系)设定好断言条件。以此类推,通过上述第三操作可以完成对每个流转关系对应的断言条件的设置。
55.可以理解的是,断言是一个包含布尔表达式的语句,设定好的断言条件可以自动控制测试过程中的业务流转过程。
56.250、将设定好业务接口和断言条件的整体关系图作为上述业务流程图。
57.在一些实施方式中,计算机可以通过预设的解析器解析图形化的接口流转关系(即业务流程图),从而得到测试程序。
58.可选地,上述第一操作、第二操作以及第三操作,可以是用户通过外设(如鼠标、键盘)完成的操作,也可以是用户通过对计算机的触控屏进触控而完成的操作,在此不做限定。
59.可以理解的是,在本实施例中步骤230和步骤240的执行顺序可以不做限定,例如步骤240可以在步骤230之前也可以在步骤230之后。
60.可选地,当用户在可视化编辑界面中点击节点图标时,计算机可以在节点图标的附近显示该节点图标对应的附属功能选项,例如(删除、参数设置等等)。
61.260、对上述业务流程图进行解析,得到测试代码,上述测试代码用于对上述多个节点图标对应的业务接口进行调用。
62.270、运行上述测试代码,以对上述当前业务流程进行业务测试。
63.其中,步骤260至步骤270的具体实施方式可以参考步骤120至步骤130,故不在此赘述。
64.可见,在本实施例中,通过显示可视化编辑界面,上述可视化编辑界面包括多个节点图标;响应于用户对上述多个节点图标做出的第一操作,生成上述多个节点图标的整体关系图,上述整体关系图表明上述多个节点图标之间的流转关系,其中,上述第一操作包括拖拽操作和连接操作;针对上述整体关系图中的每一节点图标,响应于用户的第二操作,为上述节点图标设定与上述第二操作对应的业务接口;针对上述整体关系图中各节点图标之间的流转关系,响应用户的第三操作,为上述流转关系设定与上述第三操作对应的断言条件;将设定好业务接口和断言条件的整体关系图作为上述业务流程图。这样能够在可视化的编辑界面中通过拖拽等操作进行业务场景的编排,并根据编排的业务流程自动生成测试用例的代码,使得非专业人员也能够通过对图标的简单操作来完成测试,从而大大提升了业务测试效率。
65.本示例性实施例示出的一种业务测试方法的流程图,该方法可以包括以下步骤:310、显示可视化编辑界面,上述可视化编辑界面包括多个节点图标。
66.320、响应于用户对多个节点图标做出的第一操作,生成上述多个节点图标的业务流程图。上述业务流程图表明上述多个节点图标之间的流转关系,其中,上述第一操作包括拖拽操作和连接操作中的至少一种。
67.其中,步骤310至步骤320的具体实施方式可以参考步骤210至步骤220,故不在此赘述。
68.330、针对上述业务流程图中的每一节点图标,响应于用户的第二操作,为上述节点图标设定与上述第二操作对应的业务接口。
69.在一些实施方式中,上述第二操作包括第一子操作和第二子操作,步骤330的具体实施方式可以包括:331、响应于用户对上述节点图标做出的上述第一子操作,展示接口列表,上述接口列表包括多个业务接口对应的选项。
70.332、响应于用户对上述接口列表做出的上述第二子操作,从上述接口列表中确定与上述第二子操作对应的目标业务接口,并将上述目标业务接口与上述节点图标关联。
71.作为一种示例,例如,当计算机接收到用户在可视化编辑界面中,对任意一个节点图标(如“接口2”)做出的第一子操作(如点击操作)时,可以展示图4中右下角的接口列表,上述接口列表包括多个业务接口对应的选项。
72.当计算机接收到用户在接口列表中做出的第二子操作(如点击操作)时,可以将点击选中的业务接口确定为目标业务接口,如图4中的“studentquery”业务接口,并将“studentquery”业务接口与第二节点图标进行关联,从而完成对节点图标为“接口2”的业务接口的设定。
73.在一些实施方式中,上述第二操作还包括第三子操作,步骤230还可以包括:333、响应于用户的第三子操作,进入上述节点图标对应的业务接口的接口参数设置界面,上述接口参数设置界面用于配置上述业务接口的请求参数和提取参数,上述请求参数包括参数名称、参数类型以及参数值。
74.示例性地,接口参数设置界面可以如图5所示,该接口参数设置界面可以包括用于配置接口的请求参数的“请求参数”选项,当用户点击该选项时,可以切换到设置请求参数的界面,该接口参数设置界面还可以包括用于配置接口的提取参数的“提取参数”选项,当用户点击该选项时,可以切换到设置提取参数的界面。
75.其中,请再次参阅图5,当接口参数设置界面切换到设置请求参数的界面时,用户可以在请求参数设置的界面中输入多个参数名称,以及多个参数名称中每一参数名称对应的参数类型以及参数值等,从而完成对业务接口的请求参数的设定。
76.其中,请求参数设置的界面可以为接口参数设置界面的子界面。
77.在一些实施方式中,上述方法还包括:响应于用户在上述接口参数设置界面做出的第四子操作,确定上述节点图标对应的接口的提取参数,其中,第四子操作包括:在上述接口参数设置界面显示的参数提取编码列表中,选取出参数目标编码的操作,或者
在上述接口参数设置界面显示的多段参数提取编码中,对至少一段的参数提取编码的拖拽操作。
78.沿用上述示例,当用户点击图5中的“提取参数”选项,切换到设置提取参数的界面时,设置提取参数的界面中可以显示两种采提取参数的设置方式,一种为拖拽式,另一种为编码式。
79.作为一种示例,如图6所示,采用拖拽式来设置提取参数时,可以从断言设置界面左侧显示的由接口响应数据解析的树形结构中,拖拽一到多个节点至右边,然后按需选择不同的操作符,从而完成提取参数的设置。
80.作为另一种示例,如图7所示,采用编码式来设置提取参数时,可以从接口参数设置界面显示的参数提取编码列表中,选取出参数目标编码作为提取参数,例如,参数提取编码列表中包括基于正则表达式的提取方式的选项、基于字符串截取的提取方式的选项、基于jsonpath的提取方式的选项、基于xpath的提取方式的选项等参数提取编码选项,用户可以选取出图7中的基于正则表达式的提取方式来作为提取参数的提取方式。
81.在一些实施方式中,在上述响应于用户对上述节点图标做出的上述第一子操作,展示接口列表,上述接口列表包括多个业务接口对应的选项之后,还包括:获取当前节点图标对应的参考节点图标,上述当前节点图标为用户当前正在配置的节点图标,上述参考节点图标的流转关系在上述当前节点图标之前,且上述参考节点图标已经配置好了业务接口;根据上述参考节点图标对应的业务接口,从预设的多个业务场景中确定目标业务场景;根据上述目标业务场景更新上述接口列表的选项排序。
82.在一些实施方式中,在为当前节点图标设定业务接口的过程中,可以获取流转关系在上述当前节点图标之前,且设定好业务接口的节点图标的参考业务接口。根据上述业务接口从预设的多个业务场景中确定目标业务场景。根据上述目标业务场景更新上述接口列表的选项排序。
83.示例性地,以图4为例,例如图4中从左到右的三个节点图标可以看作第一节点图标(即接口1)、第二节点图标(即接口2)和第三节点图标(即接口3),其中,第一节点图标和第二节点图标都已经设定好业务接口,其业务接口的接口参数已经确定。例如,根据第一图标对应的业务接口(如支付业务接口)和第二图标对应的业务接口(如支付业务接口),从预设的多个业务场景中,确定当前业务场景为支付业务场景。如果当前需要给第三节点图标设定业务接口,那么在通过接口列表为第三节点图标选取业务接口时,可以更新上述接口列表的选项排序,将支付业务场景中常用的业务接口选项显示在该接口列表中,以方便用户选择。其中,预设的多个业务场景中每一业务场景预先对应的至少一个业务接口。
84.可选地,根据上述目标业务场景更新上述接口列表的选项排序,可以包括:从预设的多个业务接口中获取与上述目标业务场景对应的常用业务接口;将上述接口列表中从上到下排列的前n个选项,替换为上述常用业务接口对应的选项,其中n为正整数。
85.示例性地,例如上述接口列表中从上到下排列的选项为:接口a、接口b、接口c以及接口d,如果n为3,则可以将接口a、接口b、接口c替换为常用业务接口,接口d的排列位置保持不变。从而方便用户优先选择可能需要的接口。
86.可选地,可以将已经确定的业务接口与预设的业务场景对应的业务接口进行相似度比对,并将相似度大于相似度阈值的业务场景确定为当前业务场景。从而在为后续的节
点图标设定业务接口时,优先推送当前业务场景所关联的业务接口选项,以提升用户对业务流程图的编排效率。
87.在一些实施方式中,上述方法还包括:在为当前节点图标设定业务接口的过程中,获取流转关系在上述当前节点图标之前,且设定好业务接口的节点图标,作为参考节点图标。获取上述参考节点图标对应的业务接口的接口参数,作为参考接口参数。在上述当前节点图标对应的业务接口的接口参数设置界面中,展示上述参考接口参数,以供用户选取。
88.沿用上述示例,例如第一节点图标设定好了业务接口的接口参数为:接口参数a,第二节点图标设定好了业务接口的接口参数为:接口参数b,则可以将接口参数a和接口参数b作为参考接口参数。如果当前需要给第三节点图标设定业务接口,那么可以在第三节点图标对应的业务接口的接口参数设置界面中,展示上述接口参数a和接口参数b,用户可以直接选取参考接口参数,将参考接口参数填充至第三节点图标对应的业务接口的接口参数区域中。从而方便用户设置接口参数,避免重复输入的情况,提升了测试程序的生成效率。
89.340、针对上述业务流程图中各节点图标之间的流转关系,响应用户的第三操作,为上述流转关系设定与上述第三操作对应的断言条件。
90.在一些实施方式中,上述第三操作包括第五子操作,步骤340可以包括:341、响应于用户的第五子操作,进入上述流转关系的断言设置界面;342、响应于用户在上述断言设置界面做出的第六子操作,确定上述流转关系的断言条件,其中,第六子操作包括:343、在上述断言设置界面显示的断言条件编码列表中,选取出断言目标编码的操作,或者344、在上述断言设置界面显示的多段断言条件编码中,对至少一段的断言条件编码的拖拽操作。
91.可选地,断言设置界面中可以显示两种断言条件的设置方式,一种为拖拽式,另一种为编码式。
92.作为一种示例,采用拖拽式来设置断言条件时,可以从断言设置界面左侧显示的由接口响应数据解析的树形结构中,拖拽一到多个节点至右边,然后按需选择不同的操作符,从而完成断言表达式的设置。更为具体的实施方式可以参考图6所示的采用拖拽式来设置提取参数的实施方式,故不在此赘述。
93.作为另一种示例,如图8所示,采用编码式来设置断言条件时,需要设定三项参数,分别为http响应数据、http响应头以及http响应码。在对http响应数据进行设置时,可以从计算机显示断言设置界面显示的断言硬编码类型列表中,选取一到多种编码类型作为断言条件,例如,断言条件编码列表中包括基于正则表达式的提取方式编码、基于字符串截取的提取方式编码、基于jsonpath的提取方式编码、基于xpath的提取方式编码等断言条件编码,可以选取出图8中的基于正则表达式的提取方式编码作为硬编方式的断言条件,以便可以基于正则表达式来硬编码实现断言条件。
94.作为一种示例,如图9所示,在对http响应头进行设置时,可以显示包括参数名称、操作符、参数值的待填充窗口,用户可以通过对上述待填充窗口进行数据填充,从而完成对断言条件的http响应头的设定。
95.作为一种示例,如图10所示,在对http响应码进行设置时,可以显示响应码的待填充窗口,用户可以通过对上述待填充窗口进行数据填充,从而完成对断言条件的http响应头的设定。
96.350、根据上述业务接口和上述断言条件对上述业务流程图进行解析,生成测试程序。
97.360、运行上述测试程序,得到测试结果。
98.示例性地,业务场景通过用户在可视化编辑界面上编排完成之后,在执行过程中,计算机可以通过解析器解析图形化的接口流转关系,并通过调度器从起点业务接口开始依次执行,从而实现对业务场景的测试。
99.示例性地,业务场景测试完成以后,即测试程序执行以后,计算机可以展示测试结果,即如图11所示的执行日志列表,执行列表中可以显示多次测试对应的执行日志。另外,在执行日志列表中还可以查看执行的测试程序对应日志名称、状态执行时间以及查看日志详情等选项。
100.当用户点击查看日志详情的选项时,计算机可以响应该操作,展示执行日志详情界面,作为一种示例,日志详情界面可以如图12和图13所示,日志详情界面可以包括各业务接口的调用情况,具体可以通过时间轴的方式展示该调用情况。其中,图12示出了一种测试结果为正常情况下的执行日志详情,图13示出了一种测试结果为故障情况下的执行日志详情。
101.可以理解的是,在可视化编辑界面中,每个节点图标代表一个业务api接口,而每个接口都包含请求参数以及响应体,响应体包括响应数据(即上述http响应数据)、响应头(即上述http响应头)和响应码(即上述http响应码)。
102.节点图标之间通过箭头连线表示接口之间的流转关系,箭头连线上可以进行断言条件设置。
103.断言可以通过使用参数提取的方式进行设置,响应数据支持使用jsonpath表达式、xpath表达式、正则表达式和字符串截取中的至少一种方式进行提取,其中,jsonpath又支持从以树结构展示的响应json格式数据拖拽式生成表达式并设置断言,响应头则通过下拉列表选取方式设置断言,响应码通过和http标准状态码进行匹配判定业务接口请求执行状态。
104.其中,断言是一个包含布尔表达式的语句,响应体参数提取则可以从上游接口提取诸于接口请求状态和业务执行流转条件信息,从响应体中提取的各种参数的值可以和一个预设的值进行布尔逻辑比较,如果为真表示可以继续向满足条件的下游业务逻辑分支进行流转,直到所有下游业务逻辑分支的断言条件均为假,则测试流程到此终止并给出业务流程终止执行的原因。
105.在实际应用中,以电商支付场景的业务流程为例,通过本实施例的测试程序自动生成方法,可扩展成如图14所示的自动化执行的业务流程,也就是电商支付场景的业务流程的测试用例拆解示意图。
106.可见,在图14中,可以通过断言条件的自动判断和流转,并结合上下游接口之间的请求体入参和响应体出参数据,就可以自动化动态模拟多条线的测试用例执行过程。
107.可选地,为了满足业务场景测试流程自动化执行的过程,前置接口也提供了响应
头基于k-v键值对的方式进行参数提取,响应数据基于jsonpath手填方式和/或可视化拖拽方式生成表达式、xpath表达式、正则表达式和字符串截取的方式进行参数提取,并以参数变量的形式提供给后置接口使用。后置接口请求参数设置时,即可通过下拉选择所有前置接口提供的参数变量,通过参数引用“$(参数名称)”占位符的方式按需引用参数。
108.业务场景通过可视化编辑界面对业务产经编排完成之后,在后续执行过程中,计算机可以通过解析器解析图形化的接口流转关系,并通过调度器从起点业务接口开始依次执行。
109.当上游接口执行完成返回响应体数据之后,调度器根据参数提取表达式从响应体数据中提取参数,并启动断言条件执行提取参数和预设值之间的布尔逻辑判断,从而决定流转的下游业务逻辑分支。
110.可见,本实施例的业务测试方法,针对相关技术中的业务测试过程中业务场景梳理过程复杂,测试用例分析及建立过程工作量庞大的问题,借鉴了工作流引擎的思路,提出了一种通过拖拽式的可视化业务流程编排方式,并结合断言处理流程之间的流转条件,断言条件会自动控制测试过程中的业务流转过程。其中,通过可视化的拖拉拽界面,可以更加直观的分析并查看测试业务场景的建立过程和业务流转关系,真正做到了从业务场景的角度出发进行业务测试用例编排。一个场景囊括了完整的业务测试过程和业务逻辑流转关系,从而大大降低了一条条分析并建立测试用例的工作量和繁琐过程,有效提升了测试效率。
111.图15是根据一示例性实施例示出的一种业务测试装置的框图,如图15所示,该业务测试装置40可以包括:业务流程图构建模块41,用于基于当前业务流程,建立业务流程图,上述业务流程图包括多个节点图标以及上述多个节点图标之间流转关系,每一上述节点图标对应一个业务接口,每一上述流转关系对应一个断言条件。
112.测试代码生成模块42,用于对上述业务流程图进行解析,得到测试代码,上述测试代码用于对上述多个节点图标对应的业务接口进行调用。
113.测试模块43,用于运行上述测试代码,以对上述当前业务流程进行业务测试。
114.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
115.图16是根据一示例性实施例示出的一种电子设备700的框图。如图16所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括i/o接口704(即输入/输出接口),以及通信组件705中的一者或多者。
116.其中,处理器701用于控制该电子设备700的整体操作,以完成上述的电机控制方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器
(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮、显示器(如触控屏)等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
117.在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的电机控制方法。
118.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的电机控制方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的电机控制方法。
119.以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
120.另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
121.此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

技术特征:


1.一种业务测试方法,其特征在于,包括:基于当前业务流程,建立业务流程图,所述业务流程图包括多个节点图标以及所述多个节点图标之间流转关系,每一所述节点图标对应一个业务接口,每一所述流转关系对应一个断言条件;对所述业务流程图进行解析,得到测试代码,所述测试代码用于对所述多个节点图标对应的业务接口进行调用;运行所述测试代码,以对所述当前业务流程进行业务测试。2.根据权利要求1所述的方法,其特征在于,所述基于当前业务流程,建立业务流程图,包括:显示可视化编辑界面,所述可视化编辑界面包括多个节点图标;响应于用户对所述多个节点图标做出的第一操作,生成所述多个节点图标的整体关系图,所述整体关系图表明所述多个节点图标之间的流转关系,其中,所述第一操作包括拖拽操作和连接操作;针对所述整体关系图中的每一节点图标,响应于用户的第二操作,为所述节点图标设定与所述第二操作对应的业务接口;针对所述整体关系图中各节点图标之间的流转关系,响应用户的第三操作,为所述流转关系设定与所述第三操作对应的断言条件;将设定好业务接口和断言条件的整体关系图作为所述业务流程图。3.根据权利要求2所述的方法,其特征在于,所述第二操作包括第一子操作和第二子操作,所述响应于用户的第二操作,为所述节点图标设定与所述第二操作对应的业务接口,包括:响应于用户对所述节点图标做出的所述第一子操作,展示接口列表,所述接口列表包括多个业务接口对应的选项;响应于用户对所述接口列表做出的所述第二子操作,从所述接口列表中确定与所述第二子操作对应的目标业务接口,并将所述目标业务接口与所述节点图标关联。4.根据权利要求3所述的方法,其特征在于,所述第二操作还包括第三子操作,所述响应于用户的第二操作,为所述节点图标设定与所述第二操作对应的业务接口,还包括:响应于用户的第三子操作,进入所述节点图标对应的业务接口的接口参数设置界面;响应于用户在所述接口参数设置界面中的参数设置操作,对所述业务接口的请求参数和提取参数进行配置,其中,所述请求参数包括参数名称、参数类型以及参数值。5.根据权利要求3所述的方法,其特征在于,在所述响应于用户对所述节点图标做出的所述第一子操作,展示接口列表,所述接口列表包括多个业务接口对应的选项之后,还包括:获取当前节点图标对应的参考节点图标,所述当前节点图标为用户当前正在配置的节点图标,所述参考节点图标的流转关系在所述当前节点图标之前,且所述参考节点图标已经配置好了业务接口;根据所述参考节点图标对应的业务接口,从预设的多个业务场景中确定目标业务场景;根据所述目标业务场景更新所述接口列表的选项排序。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标业务场景更新所述接口列表的选项排序,包括:从预设的多个业务接口中获取与所述目标业务场景对应的常用业务接口;将所述接口列表中从上到下排列的前n个选项替换为所述常用业务接口对应的选项,其中n为正整数。7.根据权利要求2至5任一项所述的方法,其特征在于,所述第三操作包括第五子操作和第六子操作,所述响应用户的第三操作,为所述流转关系设定与所述第三操作对应的断言条件,包括:响应于所述第五子操作,进入所述流转关系的断言设置界面;响应于用户在所述断言设置界面做出的所述第六子操作,确定所述流转关系的断言条件,其中,第六子操作包括:在所述断言设置界面显示的断言条件编码列表中,选取出断言目标编码的操作,或者在所述断言设置界面显示的多段断言条件编码中,对至少一段的断言条件编码的拖拽操作。8.一种业务测试装置,其特征在于,包括:业务流程图构建模块,用于基于当前业务流程,建立业务流程图,所述业务流程图包括多个节点图标以及所述多个节点图标之间流转关系,每一所述节点图标对应一个业务接口,每一所述流转关系对应一个断言条件;测试代码生成模块,用于对所述业务流程图进行解析,得到测试代码,所述测试代码用于对所述多个节点图标对应的业务接口进行调用;测试模块,用于运行所述测试代码,以对所述当前业务流程进行业务测试。9.一种电子设备,其特征在于,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至7中任一项所述方法的步骤。10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。

技术总结


本公开涉及一种业务测试方法、装置、电子设备及存储介质,该方法包括:基于当前业务流程,建立业务流程图,所述业务流程图包括多个节点图标以及所述多个节点图标之间流转关系,每一所述节点图标对应一个业务接口,每一所述流转关系对应一个断言条件;对所述业务流程图进行解析,得到测试代码,所述测试代码用于对所述多个节点图标对应的业务接口进行调用;运行所述测试代码,以对所述当前业务流程进行业务测试。本公开可以有效提升对业务流程的测试效率。效率。效率。


技术研发人员:

刘有根 龙义 李云鹏 李飞

受保护的技术使用者:

四川无限智达科技有限公司

技术研发日:

2022.11.15

技术公布日:

2023/1/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-80679-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-26 22:38:54

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论