CN110990262B - 一种基于微服务架构下测试方法及工具集成 - Google Patents
一种基于微服务架构下测试方法及工具集成 Download PDFInfo
- Publication number
- CN110990262B CN110990262B CN201911089229.6A CN201911089229A CN110990262B CN 110990262 B CN110990262 B CN 110990262B CN 201911089229 A CN201911089229 A CN 201911089229A CN 110990262 B CN110990262 B CN 110990262B
- Authority
- CN
- China
- Prior art keywords
- test
- service
- micro
- testing
- contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开的计算机网络技术领域,具体为一种基于微服务架构下测试方法如下:S1:首先进行单元测试;S2:进行集成测试;S3:进行组件测试;S4:进行消费者契约测试;S5:进行端到端测试。放炮仅放一次即可满足设计要求,同时综掘机铲板能够进入钻场,出矸采用综掘机出矸,减轻了工人劳动强度;采用此种方式的钻场,用时较短,效率较高。本发明主要是实现微服务下的测试自动化和高效化,通过每个测试环节的自动触发测试,实现微服务架构下整个流程的自动化测试,通过测试环节的细分化,可以进一步提高测试的效率和准确率。
Description
技术领域
本发明涉及一种基于微服务架构下测试方法及工具集成,具体为计算机网络技术领域。
背景技术
微服务应用测试技术在研发和测试运行中的应用与实现,提高测试便捷性和测试效率。首先要研发基于模拟数据生成器(Mock)的微服务应用测试工具集,实现服务和数据模拟功能,解决单元测试和集成测试中对于外部服务和数据的依赖问题。其次研发微服务应用运行数据收集和分析工具集,收集微服务应用运行中的数据,包括运行日志数据、故障错误数据、数据库数据和服务调用链数据等,为微服务运行提供数据分析和优化依据。最后完成微服务应用测试工具集的试点应用工作,实现对测试工具集的优化与扩展。
现有的微服务测试主要是构建微服务的公共测试环境,随着测试的应用和规模的扩大,已有学者在微服务机构下的单个测试流程中实现优化和监控,提高了测试效率,避免了人工测试与统计的误差和准确率的降低。现有的微服务测试方法着力点在于构建微服务的公共测试环境,以及微服务测试每个环节的优化,并未注重提高微服务测试整体效率的提高,而且自动化程度也不高。为此,需要设计相应的技术方案给予解决。
发明内容
本发明的目的在于提供一种基于微服务应用下的测试方法及工具集成,主要是实现微服务下的测试自动化和高效化,通过每个测试环节的自动触发测试,实现微服务架构下整个流程的自动化测试,通过测试环节的细分化,可以进一步提高测试的效率和准确率。
为实现上述目的,本发明提供如下技术方案:
一种基于微服务架构下测试方法,所述测试方法如下:
S1:首先,进行单元测试,遵循构建->执行->验证—>清理这一流程,使用Jenkins工具来统计流程中单元测试的覆盖率,并将结果以TXT报告显示在任务页面上;
S2:进行集成测试,自动化检查微服务对外的模块与外部服务的通信CriticalPath模块,进一步完善测试覆盖率;
S3:进行组件测试,使用Mountebank模拟出一个虚拟的API,供微服务调用,将模拟的依赖关系放在微服务进程之外,使用真实的网络连接调用为服务的对外API;
S4:进行消费者契约测试,先在消费端写一个对接口发送请求的单元测试,在运行这个单元测试的时候,Pact会将服务提供者自动用一个MockService代替,并自动生成契约文件,在服务供应端做契约验证测试,将供应端服务启动之后,通过Pact插件可以运行一个命令,然后它会自动按照契约生成接口请求并验证接口响应是否满足契约中的预期;
S5:进行端到端测试,流程是testscripts—testrunner—seleniumserver—browser,整个流程的自动化测试需要TeamCity工具来进行全面的自动化测试,每个部分微服务的测试完成之后,再会触发下一步。
作为上述技术方案的具体优化,所述工具集成包括如下:单元测试—MOCK、集成测试—WireMock、组件测试—Mountebank、消费者驱动契约测试—Pact、端到端测试—Protractor+SeleniumServer+Jasmine。
与现有技术相比,本发明的有益效果是:
本方案主要是通过每个测试环节的自动触发测试,实现微服务架构下整个流程的自动化测试,通过测试环节的细分化,可以进一步提高测试的效率和准确率,实现微服务测试的自动话,层次化和可视化。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
实施例:
本发明所述基于微服务架构下测试方法如下:首先进行单元测试,遵循构建->执行->验证—>清理这一流程,使用Jenkins工具来统计流程中单元测试的覆盖率,并将结果以TXT报告显示在任务页面上;接下来,进行集成测试,自动化检查微服务对外的模块与外部服务的通信CriticalPath模块,进一步完善测试覆盖率;然后,进行组件测试,使用Mountebank模拟出一个虚拟的API,供微服务调用,将模拟的依赖关系放在微服务进程之外,使用真实的网络连接调用为服务的对外API;再接着,进行消费者契约测试,先在消费端写一个对接口发送请求的单元测试,在运行这个单元测试的时候,Pact会将服务提供者自动用一个MockService代替,并自动生成契约文件,在服务供应端做契约验证测试,将供应端服务启动之后,通过Pact插件可以运行一个命令,然后它会自动按照契约生成接口请求并验证接口响应是否满足契约中的预期;最后进行端到端测试,流程是testscripts—testrunner—seleniumserver—browser,整个流程的自动化测试需要TeamCity工具来进行全面的自动化测试,每个部分微服务的测试完成之后,再会触发下一步。
本发明所涉及的工具集成包括如下:单元测试—MOCK、集成测试—WireMock、组件测试—Mountebank、消费者驱动契约测试—Pact、端到端测试—Protractor+SeleniumServer+Jasmine。
本方案主要是通过每个测试环节的自动触发测试,实现微服务架构下整个流程的自动化测试,通过测试环节的细分化,可以进一步提高测试的效率和准确率,实现微服务测试的自动话,层次化和可视化。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明;因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.一种基于微服务架构下测试方法,其特征在于:所述测试方法如下:
S1:首先,进行单元测试,遵循构建->执行->验证—>清理这一流程,使用Jenkins工具来统计流程中单元测试的覆盖率,并将结果以TXT报告显示在任务页面上;
S2:进行集成测试,自动化检查微服务对外的模块与外部服务的通信CriticalPath模块,进一步完善测试覆盖率;
S3:进行组件测试,使用Mountebank模拟出一个虚拟的API,供微服务调用,将模拟的依赖关系放在微服务进程之外,使用真实的网络连接调用为服务的对外API;
S4:进行消费者契约测试,先在消费端写一个对接口发送请求的单元测试,在运行这个单元测试的时候,Pact会将服务提供者自动用一个MockService代替,并自动生成契约文件,在服务供应端做契约验证测试,将供应端服务启动之后,通过Pact插件可以运行一个命令,然后它会自动按照契约生成接口请求并验证接口响应是否满足契约中的预期;
S5:进行端到端测试,流程是testscripts—testrunner—seleniumserver—browser,整个流程的自动化测试需要TeamCity工具来进行全面的自动化测试,每个部分微服务的测试完成之后,再会触发下一步。
2.一种执行权利要求1所述的一种基于微服务架构下测试方法的测试工具,其特征在于:所述工具的集成包括如下:单元测试—MOCK、集成测试—WireMock、组件测试—Mountebank、消费者驱动契约测试—Pact、端到端测试—Protractor+SeleniumServer+Jasmine。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911089229.6A CN110990262B (zh) | 2019-11-08 | 2019-11-08 | 一种基于微服务架构下测试方法及工具集成 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911089229.6A CN110990262B (zh) | 2019-11-08 | 2019-11-08 | 一种基于微服务架构下测试方法及工具集成 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990262A CN110990262A (zh) | 2020-04-10 |
CN110990262B true CN110990262B (zh) | 2023-07-25 |
Family
ID=70083816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911089229.6A Active CN110990262B (zh) | 2019-11-08 | 2019-11-08 | 一种基于微服务架构下测试方法及工具集成 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990262B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949532A (zh) * | 2020-08-10 | 2020-11-17 | 上海熙菱信息技术有限公司 | 一种基于契约测试下的风险应对的测试策略 |
CN112463634B (zh) * | 2020-12-11 | 2024-03-29 | 中国人民银行清算总中心 | 微服务架构下的软件测试方法及装置 |
CN112699022A (zh) * | 2020-12-24 | 2021-04-23 | 山东鲁能软件技术有限公司 | 一种实时高效自动化契约测试的方法及系统 |
CN113722229A (zh) * | 2021-09-06 | 2021-11-30 | 挂号网(杭州)科技有限公司 | 软件测试方法、装置、电子设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、系统和计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592402B2 (en) * | 2017-11-20 | 2020-03-17 | International Business Machines Corporation | Automated integration testing with mock microservices |
-
2019
- 2019-11-08 CN CN201911089229.6A patent/CN110990262B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、系统和计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
Web项目接口测试;胡春美;《电子技术与软件工程》;20181105(第20期);全文 * |
服务接口测试自动化工具的研究;卓欣欣等;《计算机研究与发展》;20180215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110990262A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990262B (zh) | 一种基于微服务架构下测试方法及工具集成 | |
CN102141962B (zh) | 一种安全性分布式测试框架系统及其测试方法 | |
CN103823747B (zh) | 自动回归测试的方法 | |
CN105302716B (zh) | 合流开发模式下的测试方法、装置 | |
CN102122265B (zh) | 一种计算机软件测试结果的验证方法及系统 | |
CN109150636B (zh) | 一种全链路信息流的智能变电站辅助对点试验方法及系统 | |
CN106330618A (zh) | 一种基于can/lin/most混合型总线网关路由自动化测试系统及测试方法 | |
CN102768642B (zh) | 一种基于源码分析的linux内核可靠性评测系统及其方法 | |
CN107341101A (zh) | 度量fpga软件静态质量的方法 | |
CN102521700A (zh) | 电网信息化评测快速测试系统 | |
CN105955749A (zh) | 软件项目的持续集成方法和装置 | |
Sugeta et al. | Mutation testing applied to validate SDL specifications | |
CN101888318A (zh) | 一种通信系统性能指标测试的系统和方法 | |
CN102692558A (zh) | 一种电量数据监测分析系统及其实现方法 | |
CN105117345A (zh) | 一种应用程序的接口测试方法及装置 | |
CN105223914A (zh) | 管控机台生产数据的系统及其方法 | |
CN109685558A (zh) | 一种基于bim技术的电力工程造价评价系统 | |
CN104199780A (zh) | 一种pos应用程序测试的方法及系统 | |
CN111597104A (zh) | 一种多协议适配的接口回归测试方法、系统、设备和介质 | |
CN101551774B (zh) | 软件自动测试系统 | |
CN107508725A (zh) | 用于自动化测试的方法,装置及系统 | |
CN112181784A (zh) | 基于字节码注入的代码故障分析方法及系统 | |
CN110543415A (zh) | 一种计算机软件技术开发调试系统 | |
Labiche et al. | Towards the verification and validation of DEVS models | |
CN111431739B (zh) | 面向QualNet的仿真通信网络的动态故障设置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |