CN110334001A - 一种批量自动生成回声测试的方法和装置 - Google Patents
一种批量自动生成回声测试的方法和装置 Download PDFInfo
- Publication number
- CN110334001A CN110334001A CN201910386384.8A CN201910386384A CN110334001A CN 110334001 A CN110334001 A CN 110334001A CN 201910386384 A CN201910386384 A CN 201910386384A CN 110334001 A CN110334001 A CN 110334001A
- Authority
- CN
- China
- Prior art keywords
- test
- echo
- interface
- echo test
- name
- 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.)
- Withdrawn
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、运行回声测试程序检测项目内需要进行测试的接口是否可用。本发明还公开了一种批量自动生成回声测试的装置,包括模板生成单元、检测单元、测试单元。本发明公开的方法可以对dubbo服务可用状态进行批量检测,减少重复操作,省时省力,效率高。
Description
技术领域
本发明涉及回声处理技术领域,尤其涉及一种批量自动生成回声测试的方法和装置。
背景技术
目前当开发人员需要检测dubbo服务可用状态时,普遍使用直接调用接口或去dubbo服务管理平台上手动查询的方式:
如其中一种方式,直接调用接口;相关技术中直接调用接口查询dubbo服务的可用状态一般采用下列方式:步骤1、准备测试需要的Spring配置文件;步骤2、根据需要测试的接口的接口信息和Spring配置文件,人工编写回声测试程序;步骤3、运行回声测试程序来检测该接口是否可用;步骤4、如果要对项目中的多个接口进行回声测试,则需要先从项目中搜集好这些接口的接口信息,并重复步骤2和步骤3,直至所有接口测试完毕。
如其中一种方式,去dubbo服务管理平台上手动查询技术,相关技术中的dubbo服务管理平台,如果要对项目中的多个接口进行回声测试,则需要先从项目中搜集好这些接口的接口信息(例如接口名称),然后逐一输入到“服务名”搜索栏中,逐一获得服务可用状态。
如一种基于dubbo的分布式业务处理系统及方法,该系统包括:公共代码模块,用于定义dubbo服务模块的入参、出参和接口形态;对外接口模块,用于在接收到前端的业务请求时,按照入参、出参和接口形态调用dubbo服务模块;dubbo服务模块,用于根据对外接口模块的调用,调用数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端。(CN107181806A的专利文件参考,括号内容建议后期删除)
可见,当遇到需大量检测服务可用状态的情形时,如项目迁移这种需要检测项目下所有服务可用状态时,无论使用哪种方式,查询时都会带来大量的重复动作。
发明内容
针对上述现有技术的不足,本发明的目的是提供一种批量自动生成回声测试的方法和装置,解决现有方式在需批量查询dubbo接口可用状态时,重复动作较多,耗费时间,效率低下的问题。
为了解决上述技术问题,根据本发明的一个方面,提供了一种批量自动生成回声测试的方法,包括以下步骤:包括以下步骤:
S1、将回声测试需要的配置文件和测试代码配置成相应的代码模板;
S2、检测项目内需要进行回声测试的接口信息;
S3、根据接口信息和代码模板批量生成回声测试程序;
S4、运行回声测试程序检测项目内需要进行测试的接口是否可用。
进一步的,步骤S1的具体实现方法为:将单个回声测试所需的配置文件和测试代码配置成相应的代码模板,将dubbo服务强制转换为EchoService接口并调用$echo(Objectmessage)方法,将其中的服务名、类名、包名、接口名这些可变信息以变量形式配置。
进一步的,还包括创建从jar包中读取dubbo服务信息的静态方法,所述从jar包中读取dubbo服务信息的静态方法的实现方式为从jar包中获取文件路径,将文件路径格式化成为xx.xx.xx的包名格式,将其中需要测试的包下接口路径提取出,以字符串的形式储存进一个队列当中,循环处理队列中的字符串,将字符串映射为一个储存了服务名、类名、包名、接口名这些变量的新对象,并将新对象储存进一个新队列当中。
进一步的,将新队列中的服务名、类名、包名、接口名这些变量进行提取并导入代码模板中,使用模板工具分别将回声测试的dubbo服务配置和测试代码文件生成至指定位置。
进一步的,所述模板工具为freemaker。
进一步的,所述指定位置为C盘、D盘或E盘。
根据本发明的另一个方面,提供了一种批量自动生成回声测试的装置,包括:
模板生成单元,用于将回声测试需要的配置文件和测试代码进行配置;
检测单元,用于检测项目内需要进行回声测试的接口信息;
测试单元,用于根据接口信息和代码模板批量生成回声测试程序,运行回声测试程序检测项目内需要进行测试的接口是否可用。
本发明的有益效果体现在:
1、本发明可快速、批量生成dubbo服务回声测试所需的代码,相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等一系列操作,使开发人员从大量的重复查询动作中解放出来,提高工作效率。
2、由于所有dubbo接口都实现了EchoService接口,我们可以对需要进行检验的接口做统一处理,批量使接口调用EchoService中的$echo(Object message)方法去检验dubbo服务可用性来减少重复操作。可以对dubbo服务可用状态进行批量检测,减少重复操作,省时省力,效率高。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施例1的一种批量自动生成回声测试的方法的流程图
图2为本发明实施例2的一种批量自动生成回声测试的方法的流程图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
实施例1,如图1所示,提供了一种批量自动生成回声测试的方法,包括以下步骤:
S1、将回声测试需要的配置文件和测试代码配置成相应的代码模板;
S2、检测项目内需要进行回声测试的接口信息;
S3、根据所述接口信息和所述代码模板批量生成回声测试程序;
S4、运行所述回声测试程序检测项目内需要进行回声测试的接口是否可用。
本发明可快速、批量生成回声测试程序(dubbo服务回声测试所需的代码),相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等一系列操作,使开发人员从大量的重复查询动作中解放出来,提高工作效率。
回声测试用于检测服务是否可用,回声测试按照正常请求流程执行,能够测试整个调用是否通畅,可用于监控。所有服务自动实现EchoService接口,只需将任意服务引用强制转型为EchoService,即可使用。
实施例2,如图1所示,一种批量自动生成回声测试的方法,包括以下步骤:
S1、将回声测试需要的配置文件和测试代码配置成相应的代码模板;具体的,将单个回声测试所需的配置文件和测试代码配置成相应的代码模板,将dubbo服务强制转换为EchoService接口并调用$echo(Object message)方法,将其中的服务名、类名、包名、接口名这些可变信息以变量形式配置;
S2、检测项目内需要进行回声测试的接口信息;包括创建从jar包中读取dubbo服务信息的静态方法,所述从jar包中读取dubbo服务信息的静态方法的实现方式为从jar包中获取文件路径,将文件路径格式化成为xx.xx.xx的包名格式,提取其中需要测试的包下接口路径,以字符串的形式储存进一个队列当中,循环处理队列中的字符串,将字符串映射为一个储存了服务名、类名、包名、接口名这些变量的新对象,并将新对象储存进一个新队列当中;
S3、根据接口信息和代码模板批量生成回声测试程序;将新队列中的服务名、类名、包名、接口名这些变量进行提取并导入代码模板中,使用模板工具freemaker分别将回声测试的dubbo服务配置和测试代码文件生成至指定位置,所述指定位置为C盘、D盘、E盘。需要说明的是:FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。FreeMarker是一个Java类库,是一款程序员。模板编写为FreeMarker Template Language(FTL)。它是简单的专用的语言,不是像PHP那样成熟的编程语言。要准备数据在真实编程语言中来显示,比如数据库查询和业务运算,之后模板显示已经准备好的数据。
S4、运行回声测试程序检测项目内需要进行测试的接口是否可用。
本实施例2的批量自动生成回声测试的方法,可快速、批量生成dubbo服务回声测试所需的代码,相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等一系列操作,使开发人员从大量的重复查询动作中解放出来,提高工作效率。而且由于所有dubbo接口都实现了EchoService接口,可以对需要进行检验的接口做统一处理,批量使接口调用EchoService中的$echo(Object message)方法去检验dubbo服务可用性来减少重复操作。可以对dubbo服务可用状态进行批量检测,减少重复操作,省时省力,效率高。
实施例3,提供了一种批量自动生成回声测试的装置,本实施例的装置包括模板生成单元、检测单元和测试单元。
模板生成单元用于将回声测试需要的配置文件和测试代码进行配置,将单个回声测试所需的配置文件和测试代码配置成相应的代码模板,将dubbo服务强制转换为EchoService接口并调用$echo(Object message)方法,将其中的服务名、类名、包名、接口名这些可变信息以变量形式配置。
检测单元用于检测项目内需要进行回声测试的接口信息,检测单元从jar包中读取dubbo服务信息的静态方法,检测单元从jar包中获取文件路径,将文件路径格式化成为xx.xx.xx的包名格式,提取其中需要测试的包下接口路径,以字符串的形式储存进一个队列当中,循环处理队列中的字符串,将字符串映射为一个储存了服务名、类名、包名、接口名这些变量的新对象,并将新对象储存进一个新队列当中。
测试单元用于根据接口信息和代码模板批量生成回声测试程序,测试单元将新队列中的服务名、类名、包名、接口名这些变量进行提取并导入代码模板中,使用模板工具freemaker分别将回声测试的dubbo服务配置和测试代码文件生成至指定位置,所述指定位置为C盘、D盘、E盘,并且测试单元运行回声测试程序检测项目内需要进行测试的接口是否可用。
本发明可快速、批量生成dubbo服务回声测试所需的代码,相比传统方式节省时间,可完成自动读取项目接口数据,自动生成服务配置文件,自动生成测试代码等
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (9)
1.一种批量自动生成回声测试的方法,其特征在于,包括以下步骤:
S1、将回声测试需要的配置文件和测试代码配置成相应的代码模板;
S2、检测项目内需要进行回声测试的接口信息;
S3、根据所述接口信息和所述代码模板批量生成回声测试程序;
S4、运行所述回声测试程序,检测项目内需要进行回声测试的接口是否可用。
2.根据权利要求1所述的一种批量自动生成回声测试的方法,其特征在于,步骤S1的具体实现方法包括:
将单个回声测试所需的配置文件和测试代码配置成相应的代码模板,将dubbo服务强制转换为EchoService接口并调用$echo(Object message)方法,将可变信息以变量形式配置。
3.根据权利要求2所述的一种批量自动生成回声测试的方法,其特征在于,所述可变信息至少包括以下之一:服务名、类名、包名、接口名。
4.根据权利要求3所述的一种批量自动生成回声测试的方法,其特征在于,步骤S2的具体实现方法包括:创建从jar包中读取dubbo服务信息的静态方法。
5.根据权利要求4所述的一种批量自动生成回声测试的方法,其特征在于,所述从jar包中读取dubbo服务信息的静态方法的实现方式为:
从jar包中获取文件路径,将文件路径格式化成为xx.xx.xx的包名格式;
提取其中需要测试的包下接口路径,以字符串的形式储存进一个队列当中;
循环处理队列中的字符串,将字符串映射为一个至少储存有服务名、类名、包名、接口名变量的新对象,并将新对象储存进一个新队列当中。
6.根据权利要求5所述的一种批量自动生成回声测试的方法,其特征在于,步骤S3的具体实现方法包括:
将新队列中的服务名、类名、包名、接口名变量进行提取并导入代码模板中,使用模板工具分别将回声测试的dubbo服务配置和测试代码文件生成至指定位置。
7.根据权利要求6所述的一种批量自动生成回声测试的方法,其特征在于,所述模板工具为freemaker。
8.根据权利要求7所述的一种批量自动生成回声测试的方法,其特征在于,所述指定位置至少包括以下之一:C盘、D盘、E盘。
9.一种批量自动生成回声测试的装置,其特征在于,包括
模板生成单元,用于将回声测试需要的配置文件和测试代码进行配置;
检测单元,用于检测项目内需要进行回声测试的接口信息;
测试单元,用于根据接口信息和代码模板批量生成回声测试程序,运行回声测试程序检测项目内需要进行测试的接口是否可用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386384.8A CN110334001A (zh) | 2019-05-09 | 2019-05-09 | 一种批量自动生成回声测试的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386384.8A CN110334001A (zh) | 2019-05-09 | 2019-05-09 | 一种批量自动生成回声测试的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110334001A true CN110334001A (zh) | 2019-10-15 |
Family
ID=68140008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910386384.8A Withdrawn CN110334001A (zh) | 2019-05-09 | 2019-05-09 | 一种批量自动生成回声测试的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334001A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770005A (zh) * | 2020-07-01 | 2020-10-13 | 中国银行股份有限公司 | Dubbo服务框架的分布式系统可用性检测方法及装置 |
CN113495826A (zh) * | 2020-03-19 | 2021-10-12 | 浙江大搜车软件技术有限公司 | 一种单元测试代码的生成方法、单元测试方法和装置 |
CN115086407A (zh) * | 2022-06-15 | 2022-09-20 | 中国银行股份有限公司 | 微服务实例的巡检方法及装置 |
-
2019
- 2019-05-09 CN CN201910386384.8A patent/CN110334001A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495826A (zh) * | 2020-03-19 | 2021-10-12 | 浙江大搜车软件技术有限公司 | 一种单元测试代码的生成方法、单元测试方法和装置 |
CN111770005A (zh) * | 2020-07-01 | 2020-10-13 | 中国银行股份有限公司 | Dubbo服务框架的分布式系统可用性检测方法及装置 |
CN111770005B (zh) * | 2020-07-01 | 2022-01-04 | 中国银行股份有限公司 | Dubbo服务框架的分布式系统可用性检测方法及装置 |
CN115086407A (zh) * | 2022-06-15 | 2022-09-20 | 中国银行股份有限公司 | 微服务实例的巡检方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106325969B (zh) | 需求变更的逆向追踪系统 | |
CN104778124A (zh) | 一种软件应用自动化测试方法 | |
CN108847994A (zh) | 基于数据分析的告警定位方法、装置、设备以及存储介质 | |
CN110334001A (zh) | 一种批量自动生成回声测试的方法和装置 | |
CN108984155B (zh) | 数据处理流程设定方法和装置 | |
CN107844424A (zh) | 基于模型的测试系统及方法 | |
CN106293891B (zh) | 多维投资指标监督方法 | |
CN108804322A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN108388515A (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
CN106254145A (zh) | 网络请求跟踪处理方法和装置 | |
CN108021509B (zh) | 基于程序行为网络聚合的测试用例动态排序方法 | |
CN109978495A (zh) | 一种核电站调试试验报告编制方法和系统 | |
CN114036183A (zh) | 一种数据etl处理方法、装置、设备及介质 | |
CN112433701A (zh) | 工业软件开发项目实施流程、内容及代码生成方法及装置 | |
CN102135939B (zh) | 一种测试用例执行调度装置及方法 | |
CN113947468A (zh) | 一种数据管理方法及平台 | |
CN114385437A (zh) | 数据质量分析系统及方法 | |
CN106383734A (zh) | 一种从代码中提取详细设计的方法 | |
CN109062816A (zh) | 一种软件测试的方法、装置及设备 | |
CN113094039A (zh) | 一种基于数据库表的代码自动生成系统 | |
CN106598843B (zh) | 一种基于程序分析的软件日志行为自动识别方法 | |
CN106372359B (zh) | 一种设备虚拟样机系统 | |
CN107704362A (zh) | 一种基于Ambari监控大数据组件的方法及装置 | |
CN111190587A (zh) | 一种基于jdbc自动生成工程化前端代码的方法及系统 | |
CN104992379A (zh) | 一种电力行业大数据动态文本交换格式管理方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191015 |
|
WW01 | Invention patent application withdrawn after publication |