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

微服务的测试方法、装置、电子设备及计算机存储介质与流程

2021-12-04 01:54:00 来源:中国专利 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.可选的,所述测试分析模块,具体用于:基于所述测试需求对所述服务应用进行测试分析,确定单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重;基于所述单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重,生成测试规格。
30.可选的,所述测试用例生成模块,具体用于:根据所述测试需求,确定单元测试数据、集成测试数据、契约测试数据、端到端测试数据和性能测试数据;根据测试规格依次对所述单元测试数据、所述集成测试数据、所述契约测试数据、所述端到端测试数据和所述性能测试数据进行编写,得到与所述新版本的服务应用对应的测试用例,其中,所述测试用例包括单元测试用例、集成测试用例、契约测试用例、端到端测试用例、及性能测试用例。
31.可选的,所述测试模型,具体用于:基于所述测试用例构建的测试模型对所述服务应用进行单元测试,得到第一测试结果;基于所述测试用例构建的测试模型对所述服务应用进行集成测试,得到第二测试结果;基于所述测试用例构建的测试模型对所述服务应用进行契约测试,得到第三测试结果;基于所述测试用例构建的测试模型对所述服务应用进行端到端测试,得到第四测试结果;基于所述测试用例构建的测试模型对所述服务应用进行性能测试,得到第五测试结果;将所述第一测试结果、第二测试结果、第三测试结果、第四测试结果和第五测试结果打包,生成测试报告。
32.本发明实施例第三方面示出了一种电子设备,所述电子设备用于运行程序,其中,所述程序运行时执行如本发明实施例第一方面示出的微服务的测试方法。
33.本发明实施例第四方面示出了一种计算机存储介质,所述存储介质包括存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行如本发明实施例第一方面示出的微服务的测试方法。
34.基于上述本发明实施例提供的一种微服务的测试方法、装置、电子设备及计算机存储介质,该方法包括:在检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求;基于测试需求对服务应用进行测试分析,确定测试规格;根据测试规格和测试需求编写与新版本的服务应用对应的测试用例;基于测试用例构建的测试模型对服务应用进行测试,并生成测试报告。在本发明实施例中,基于测试需求对服务应用进行测试分析,确定测试规格,以确定测试侧重点;根据测试需求和测试需求编写的测试用例构建的测试模型对服务应用进行测试,从而确定测试报告,不仅能够减少测试时间,且能够确定测试侧重点。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.图1为本发明实施例示出的一种微服务的测试方法的流程示意图;
37.图2为本发明实施例示出的一种倒金鱼形状的测试模型;
38.图3为本发明实施例示出的一种微服务的测试装置的结构示意图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
41.本发明提供的一种微服务的测试方法、装置、电子设备及计算机存储介质可用于金融领域或其他领域,例如,可用于金融领域中的交易应用场景。其他领域为除金融领域之外的任意领域,例如,数据处理领域。上述仅为示例,并不对本发明提供的一种微服务的测试方法、装置、电子设备及计算机存储介质的应用领域进行限定。
42.在本发明实施例中,当检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求;基于测试需求,对服务应用进行测试分析,确定测试规格,以确定测试侧重点;根据测试规格和测试需求编写与新版本的服务应用对应的测试用例;根据测试需求和测试需求编写的测试用例构建的测试模型对服务应用进行测试,从而确定测试报告,不仅能够减少测试时间,且能够确定测试侧重点。
43.参见图1,为本发明实施例示出的一种微服务的测试方法的流程示意图,该方法包括:
44.s101:在检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求。
45.在具体实现步骤s101的过程中,当确定微服务中的服务应用存在版本发布后,获取对应的测试需求。
46.需要说明的是,测试需求是指服务应用中能被一个或多个测试用例验证的条目或事件。例如,功能、事务、特性、质量属性或者结构化元素。
47.s102:基于所述测试需求对所述服务应用进行测试分析,确定测试规格。
48.在具体实现步骤s102的过程中,通过测试需求分析服务应用,从而明确测试规格。
49.需要说明的是,测试规格是指测量项目的不同比重进行制定的规定。
50.测试包括不同功能的测试,比如单元测试、集成测试、契约测试、端到端测试、性能测试等等。
51.在本发明实施例中,测试格式能够确定服务应用的测试侧重点。
52.进一步,需要说明的是,测试规格还包括测试环境、测量方法、测试的时间间隔等详细规定。
53.s103:根据测试规格和所述测试需求编写与所述新版本的服务应用对应的测试用例。
54.需要说明的是,测试用例包括单元测试用例、集成测试用例、契约测试用例、端到端测试用例、及性能测试用例。
55.可选的,在执行完上述步骤s103示出的编写测试用例完成后,将测试用例转换成与测试用例对应的脚本,具体的,将单元测试用例转换成与单元测试用例对应的脚本、将集成测试用例转换成与集成测试用例对应的脚本、将契约测试用例转换成与契约测试用例对应的脚本、将端到端测试用例转换成与端到端测试用例对应的脚本、及将能测试用例转换成与性能测试用例对应的脚本。
56.s104:基于所述测试用例构建的测试模型对所述服务应用进行测试,并生成测试报告。
57.在具体实现步骤s104的过程中,利用测试用例构建的测试模型对服务应用进行测试,得到测试结果,并生成对应的测试报告。
58.在本发明实施例中,利用测试用例构建测试模型,可如图2所示。
59.图2为倒金鱼形状的测试模型,可用于自下而上的依次对服务应用进行单元测试、集成测试、契约测试、端到端测试、和性能测试。
60.如图所示,可以确定该测试模型的测试测重点为集成测试、契约测试、和性能测试。
61.需要说明的是,测试测重点是根据应用服务的测试规格确定的,也就是说,不同服务应用所对应的测试模型的形状不一定相同。
62.在本发明实施例中,当检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求;基于测试需求,对服务应用进行测试分析,确定测试规格,以确定测试侧重点;根据测试规格和测试需求编写与新版本的服务应用对应的测试用例;根据测试需求和测试需求编写的测试用例构建的测试模型对服务应用进行测试,从而确定测试报告,不仅能够
减少测试时间,且能够确定测试侧重点。
63.可选的,基于上述步骤s101示出的基于所述测试需求,对所述服务应用进行测试分析,确定测试规格的过程,包括以下步骤:
64.s11:基于所述测试需求对所述服务应用进行测试分析,确定单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重。
65.在具体实现步骤s11的过程中,通过测试需求分析服务应用,从而明确单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重。
66.s12:基于所述单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重,生成测试规格。
67.在具体实现步骤s12的过程中,将上述得到的单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重进行整合,确定测试规格。
68.在本发明实施例中,当检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求;基于测试需求对所述服务应用进行测试分析,确定单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重;基于单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重,生成测试规格,以确定测试侧重点;以便于后续根据测试规格和测试需求编写与新版本的服务应用对应的测试用例;根据测试需求和测试需求编写的测试用例构建的测试模型对服务应用进行测试,从而确定测试报告,不仅能够减少测试时间,且能够确定测试侧重点。
69.可选的,基于上述步骤s102示出的根据测试规格和所述测试需求编写与所述新版本的服务应用对应的测试用例,包括以下步骤:
70.s21:根据所述测试需求,确定单元测试数据、集成测试数据、契约测试数据、端到端测试数据和性能测试数据。
71.在具体实现步骤s21的过程中,基于测试需求规划单元测试、集成测试、契约测试、端到端测试、性能测试的测试资源,从而确定单元测试数据、集成测试数据、契约测试数据、端到端测试数据和性能测试数据。
72.s22:根据测试规格依次对所述单元测试数据、所述集成测试数据、所述契约测试数据、所述端到端测试数据和所述性能测试数据进行编写,得到与所述新版本的服务应用对应的测试用例。
73.在步骤s22中,所述测试用例包括单元测试用例、集成测试用例、契约测试用例、端到端测试用例、及性能测试用例。
74.在具体实现步骤s22的过程中,根据测试规格,首先编写与所述单元测试数据对应的单元测试用例;接着编写与集成测试数据对应的集成测试用例;再编写与契约测试数据对应的契约测试用例;然后编写与端到端测试数据对应的端到端测试用例,最后编写与性能测试数据对应的性能测试用例。
75.可选的,在执行完上述步骤s102示出的编写测试用例完成后,将测试用例转换成与测试用例对应的脚本,具体的,将单元测试用例转换成与单元测试用例对应的脚本、将集成测试用例转换成与集成测试用例对应的脚本、将契约测试用例转换成与契约测试用例对应的脚本、将端到端测试用例转换成与端到端测试用例对应的脚本、及将能测试用例转换成与性能测试用例对应的脚本。
76.在本发明实施例中,当检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求;基于测试需求,对服务应用进行测试分析,确定测试规格,以确定测试侧重点;根据所述测试需求,确定单元测试数据、集成测试数据、契约测试数据、端到端测试数据和性能测试数据。根据测试规格依次对所述单元测试数据、所述集成测试数据、所述契约测试数据、所述端到端测试数据和所述性能测试数据进行编写,得到与所述新版本的服务应用对应的测试用例;以便于后续根据测试需求和测试需求编写的测试用例构建的测试模型对服务应用进行测试,从而确定测试报告,不仅能够减少测试时间,且能够确定测试侧重点。
77.可选的,基于上述步骤s103示出的基于所述测试用例构建的测试模型对所述服务应用进行测试,并生成测试报告的内容,包括以下步骤:
78.s31:基于所述测试用例构建的测试模型对所述服务应用进行单元测试,得到第一测试结果。
79.在具体实现步骤s31的过程中,基于单元测试用例,使用测试模型中的单元测试框架junit或其他单元测试工具对每个微服务内部的方法、类、函数等进行自动化测试,确定对应的第一测试结果。
80.s32:基于所述测试用例构建的测试模型对所述服务应用进行集成测试,得到第二测试结果。
81.在具体实现步骤s32的过程中,基于集成测试用例,使用测试模型中的可扩展地关键字驱动的测试自动化框架robot framework 对象request或其他集成测试工具对子系统内微服务之间、子系统和其他子系统微服务之间、微服务和数据库之间的交互进行自动化测试,得到第二测试结果。
82.s33:基于所述测试用例构建的测试模型对所述服务应用进行契约测试,得到第三测试结果。
83.在具体实现步骤s33的过程中,基于契约测试用例,使用测试模型中的pact或其他契约测试工具验证测试顺序是否按照服务消费者期望的方式进行交互进行自动化测试,确定第三测试结果。
84.s34:基于所述测试用例构建的测试模型对所述服务应用进行端到端测试,得到第四测试结果。
85.在具体实现步骤s34的过程中,基于端到端测试用例,利用测试模型中的可扩展地关键字驱动的测试自动化框架robot framework 应用程序测试工具selenium或其他端到端测试工具进行微服务系统全流程自动化测试,得到第四测试结果。
86.s35:基于所述测试用例构建的测试模型对所述服务应用进行性能测试,得到第五测试结果。
87.在具体实现步骤s35的过程中,基于性能测试用例,利用测试模型中的压力测试工具jmeter或其他性能测试工具进行接口性能自动化测试,得到第五测试结果。
88.s36:将所述第一测试结果、第二测试结果、第三测试结果、第四测试结果和第五测试结果打包,生成测试报告。
89.在本发明实施例中,通过图2示出的测试模型从下向上依次触发上述步骤s31至步骤s35示出的单元测试、集成测试、契约测试、端到端测试、和性能测试。
90.在具体实现步骤s36的过程中,将上述第一测试结果、第二测试结果、第三测试结
果、第四测试结果和第五测试结果进行打包,以生成测试报告。
91.在本发明实施例中,当检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求;基于测试需求,对服务应用进行测试分析,确定测试规格,以确定测试侧重点;根据测试规格和测试需求编写与新版本的服务应用对应的测试用例;根据测试需求和测试需求编写的测试用例构建的测试模型对服务应用进行测试,从而确定测试报告,不仅能够减少测试时间,且能够确定测试侧重点。
92.基于上述本发明实施例示出的微服务的测试方法,本发实施例还对应示出了一种微服务的测试装置,如图3所示,为本发明实施例示出的一种微服务的测试装置的结构示意图,该装置包括:
93.获取模块301,用于在检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求。
94.测试分析模块302,用于基于所述测试需求对所述服务应用进行测试分析,确定测试规格。
95.测试用例生成模块303,用于根据测试规格和所述测试需求编写与所述新版本的服务应用对应的测试用例。
96.测试模型304,用于基于所述测试用例构建的测试模型对所述服务应用进行测试,并生成测试报告。
97.需要说明的是,上述本发明实施例公开的微服务的测试装置中的各个单元具体的原理和执行过程,与上述本发明实施的微服务的测试方法相同,可参见上述本发明实施例公开的微服务的测试方法中相应的部分,这里不再进行赘述。
98.在本发明实施例中,当检测到微服务中的服务应用存在新版本时,获取用户输入的测试需求;基于测试需求,对服务应用进行测试分析,确定测试规格,以确定测试侧重点;根据测试规格和测试需求编写与新版本的服务应用对应的测试用例;根据测试需求和测试需求编写的测试用例构建的测试模型对服务应用进行测试,从而确定测试报告,不仅能够减少测试时间,且能够确定测试侧重点。
99.可选的,基于上述本发明实施例示出的微服务的测试装置。
100.所述测试分析模块302,具体用于:基于所述测试需求对所述服务应用进行测试分析,确定单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重;基于所述单元测试、集成测试、契约测试、端到端测试、性能测试的测试比重,生成测试规格。
101.所述测试用例生成模块303,具体用于:根据所述测试需求,确定单元测试数据、集成测试数据、契约测试数据、端到端测试数据和性能测试数据;根据测试规格依次对所述单元测试数据、所述集成测试数据、所述契约测试数据、所述端到端测试数据和所述性能测试数据进行编写,得到与所述新版本的服务应用对应的测试用例,其中,所述测试用例包括单元测试用例、集成测试用例、契约测试用例、端到端测试用例、及性能测试用例。
102.所述测试模型304,具体用于:基于所述测试用例构建的测试模型对所述服务应用进行单元测试,得到第一测试结果;基于所述测试用例构建的测试模型对所述服务应用进行集成测试,得到第二测试结果;基于所述测试用例构建的测试模型对所述服务应用进行契约测试,得到第三测试结果;基于所述测试用例构建的测试模型对所述服务应用进行端到端测试,得到第四测试结果;基于所述测试用例构建的测试模型对所述服务应用进行性
能测试,得到第五测试结果;将所述第一测试结果、第二测试结果、第三测试结果、第四测试结果和第五测试结果打包,生成测试报告。
103.本发明实施例还公开了一种电子设备,该电子设备用于运行数据库存储过程,其中,所述运行数据库存储过程时执行上述图1公开的微服务的测试方法。
104.本发明实施例还公开了一种计算机存储介质,所述存储介质包括存储数据库存储过程,其中,在所述数据库存储过程运行时控制所述存储介质所在设备执行上述图2和图3公开的微服务的测试方法。
105.在本公开的上下文中,计算机存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
106.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
107.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
108.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

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

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

相关文献