CN109947639B - Esb接口自动化测试方法 - Google Patents
Esb接口自动化测试方法 Download PDFInfo
- Publication number
- CN109947639B CN109947639B CN201910089337.7A CN201910089337A CN109947639B CN 109947639 B CN109947639 B CN 109947639B CN 201910089337 A CN201910089337 A CN 201910089337A CN 109947639 B CN109947639 B CN 109947639B
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- running
- result
- configuration file
- 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
Images
Abstract
一种ESB接口自动化测试方法及存储介质,其中方法包括如下步骤,读取配置文件,所述配置文件包含测试集文件;运行测试集文件获取其中对应接口的测试实例和地址,向接口的地址发送测试实例并将运行结果与预期结果进行比较,若预期结果符合运行结果则判定为通过,不符合预期结果则判定为不通过,计算该接口的测试实例通过数量或通过率。解决在新变动接口后对所有接口进行回归测试的问题。
Description
技术领域
本发明涉及企业信息管理领域,尤其涉及企业系统总线中ESB接口的自动化方法。
背景技术
现有接口测试和回归测试是用传统接口工具SoapUI和Postman等工具进行人工测试。现阶段新增或修改一个ESB接口后,除了对该接口进行常规测试以外,还需要对同级接口服务下的其他接口进行回归测试(如新增用户信息接口的全填、必填、保存、查询等经常使用的功能实例等等),随着企业规模的扩大,ESB接口的数量将会越来越快地增加,接口需求频繁新增或修改,需要投入较多的测试工程师来加班加点完成接口回归工作。
发明内容
为此,需要提供一种新的ESB接口的自动化测试方法,解决在新变动接口后对所有接口进行回归测试的问题。
为实现上述目的,发明人研发了一种ESB接口自动化测试方法,包括如下步骤,读取配置文件,所述配置文件包含测试集文件;
运行测试集文件获取其中对应接口的测试实例和地址,向接口的地址发送测试实例并将运行结果与预期结果进行比较,若预期结果符合运行结果则判定为通过,不符合预期结果则判定为不通过,计算该接口的测试实例通过数量或通过率。
具体地,所述配置文件还包括接口权重值,还包括步骤,运行测试集文件获取其中各对应接口的测试实例和地址,根据各接口的权重值及实例通过数量或通过率调整各接口的最终影响得分。
可选地,还包括步骤,根据接口访问次数及业务系数调整接口权重值。
可选地,还包括步骤,根据接口权重值调整分配给各接口的测试实例数。
一种ESB接口自动化测试存储介质,存储有计算机程序,所述计算机程序在被运行时执行包括如下步骤,读取配置文件,所述配置文件包含测试集文件;
运行测试集文件获取其中对应接口的测试实例和地址,向接口发送测试实例并将运行结果与预期结果进行比较,若预期结果符合运行结果则判定为通过,不符合预期结果则判定为不通过,计算该接口的测试实例通过数量或通过率。
具体地,所述配置文件还包括接口权重值,所述计算机程序在被运行时还执行步骤,运行测试集文件获取其中各对应接口的测试实例和地址,根据各接口的权重值及实例通过数量或通过率调整各接口的最终影响得分。
可选地,所述计算机程序在被运行时还执行步骤,根据接口访问次数及业务系数调整接口权重值。
可选地,所述计算机程序在被运行时还执行步骤,根据接口权重值调整分配给各接口的测试实例数。
区别于现有技术,上述方案通过利用预先储备的测试实例,在需要新改动接口需要做回归测试的时候能够自动化地测试所有的接口,并给出通过实例数或通过率指标结果,可以辅助测试人员判断新改动ESB接口的良适性。
附图说明
图1为本发明具体实施方式所述ESB接口自动化测试方法流程图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
在图1所示的实施例中,展示了一种ESB接口自动化测试方法,包括如下步骤,S100读取配置文件,所述配置文件包含测试集文件;
S102运行测试集文件获取其中对应接口的测试实例和地址,向接口的地址发送测试实例并将运行结果与预期结果进行比较,若预期结果符合运行结果则判定为通过,不符合预期结果则判定为不通过,S104计算该接口的测试实例通过数量或通过率。
在具体的实施例中,配置文件为可以被测试程序运行的文件,其中包含的测试集为预先存储完成的,可以用于测试ESB服务下接口的若干测试文件的集合,测试文件中包括若干的测试实例,在我们的方案中,测试实例为一个功能接口测试的方法和目标,一般包含测试方法、测试工具、测试内容、输入数据、执行步骤、测试脚本及预期结果,如对外接口中用户信息接口,则会存储若干的用户信息,如姓名、手机、身份证等,单个页面中全填、必填、保存、查询等经常使用的功能,可以看做一个测试实例。在预设的测试集中,可以通过人为设定一些正常的测试实例和非正常的测试实例,也就是预期结果,则测试结果是正常的非正常测试实例,显然就不匹配,那么在该实施例中,测试结果与预期结果不符,则测试实例为不通过。另一些情况下,预期结果也可以是返回值等数值、符号形式等多种形式,预期结果也因实际运行的情况不同而不同。最后在测试运行完毕后,能够获得测量的接口的通过测试实例数量及测试实例的通过率等指标,达到了自动化测试ESB总线中接口的技术效果。辅助用户判断新增改接口的良适性。
在其他一些具体的实施例中需要测试的是同一ESB服务下的多个接口,在这里配置文件还包括多个接口的权重值,多个接口也可以对应不同的测试集文件,还包括步骤,运行上述多个测试集文件获取其中各对应接口的测试实例和地址,向接口的地址发送测试实例并将运行结果与预期结果进行比较,若预期结果符合运行结果则判定为通过,不符合预期结果则判定为不通过,根据各接口的权重值及测试实例通过数量或通过率调整各接口的最终影响得分。
多个接口的接口权重值可以通过人工设计,其他一些可选的实施例中,还包括步骤,根据接口访问次数及业务系数调整接口权重值。
a=部分接口权重值
a=SUM(本集下单个接口访问次数\所有配置接口的调用次数)/本实例集接口数*业务系数。
b是全部接口权重值
接口集测试权重值=SUM(本集下单个接口访问次数\所有活跃接口的调用次数)/本实例集接口数*业务系数。
也可以仅根据接口的访问次数调整接口权重值,在这种情况下,不考虑业务系数或将业务系数置为1即可:
a=部分接口权重值
a=SUM(本集下单个接口访问次数\所有配置接口的调用次数)/本实例集接口数。
b是全部接口权重值
接口集测试权重值=SUM(本集下单个接口访问次数\所有活跃接口的调用次数)/本实例集接口数。
在其他一些可选的实施例中,还包括步骤,根据接口权重值调整分配给各接口的测试实例数。在这种情况下,多个接口可以对应同一个测试实例集合,其中的若干个测试实例根据接口的权重值分配给多各接口,每个接口分配到的测试实例数目等于其接口权重值,在最终计算的时候,本方法可以计算整个测试实例集合的通过数量和通过率,一样能够得到回归测试的可参考结果。
在某些具体的实施例中,我们通过5个主要步骤进行接口回归的自动化测试步骤。
步骤1:运行测试集的程序入口;
在步骤1中,打开程序入口代码,代码会去读取【测试集配置文件】,并计算出实例集的权重比,来决定运行哪些测试集(也就是ESB服务,每个服务下有很多的接口)。
注:【测试集配置文件】中配置测试集名称、业务系数、权重值,其中权重值可以设置固定值或使用公式建模生成权重值。
步骤2:运行对应测试集下的接口;
在步骤2中:根据步骤一生成的接口集权重值,运行测试集下的所有接口,每一个接口对应一个接口类,其中接口分成两种类型:wsdl和rest:如果运行的是wsdl对应接口类,就去读取【单个配置文件】拿到wsdl的准确地址并初始化;如果运行的是rest对应接口类,就去读取【单个配置文件】拿到该接口对应的url。
步骤3:拿到初始化的wsdl实例和url地址后,读取测试实例发送请求。
在步骤3中:根据上一步骤拿到wsdl实例和url地址,读取对应接口实例文件生成测试实例,注意实例和接口一样同样存在两种类型:wsdl接口实例和rest接口实例,如果运行的是wsdl接口的实例,系统会自动把实例中的json入参转化为xml的入参(也就是说实例文件中入参必须写json),并使用wsdl实例发送请求,并拿到运行结果,并将运行结果和实例中的预期结果(这里的运行结果是xml类型,因为wsdl本身就是以xml格式进行请求交互的)进行比较,如果实际结果包含预期结果,此实例就运行通过,反之运行失败;如果运行的是rest接口的实例,系统会拿到实例中的json入参(rest接口的入参也是json类型)和配置文件中url拿到自动发送请求,并拿到运行结果(这里的运行结果也是json类型,因为rest请求本身就是以json格式进行请求交互的),如果运行结果与实际结果一致,此实例就运行通过,反之运行失败。
步骤4:把运行结果写入excel和html测试报告中;
在步骤4中:每当运行完成一个接口后,就把该接口的测试结果保存至列表中,当所有结果运行结束后,就把列表内容写入excel文件以及测试报告html中;
步骤5:运行结束后,会将结果文件保存至本地,方便查看;
在步骤5中:当运行结束后,会将本次运行的结果,以(接口名,实例数,通过实例数,失败实例数,通过率)显示在控制台,并生成excel和测试报告保存至本地。
一种ESB接口自动化测试存储介质,存储有计算机程序,所述计算机程序在被运行时执行包括如下步骤,读取配置文件,所述配置文件包含测试集文件;
运行测试集文件获取其中对应接口的测试实例和地址,向接口发送测试实例并将运行结果与预期结果进行比较,若预期结果符合运行结果则判定为通过,不符合预期结果则判定为不通过,计算该接口的测试实例通过数量或通过率。
具体地,所述配置文件还包括接口权重值,所述计算机程序在被运行时还执行步骤,运行测试集文件获取其中各对应接口的测试实例和地址,根据各接口的权重值及实例通过数量或通过率调整各接口的最终影响得分。
可选地,所述计算机程序在被运行时还执行步骤,根据接口访问次数及业务系数调整接口权重值。
可选地,所述计算机程序在被运行时还执行步骤,根据接口权重值调整分配给各接口的测试实例数。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (2)
1.一种ESB接口自动化测试方法,其特征在于,包括如下步骤,读取配置文件,所述配置文件包含测试集文件、接口权重值;
运行测试集文件获取其中对应接口的测试实例和地址,向接口的地址发送测试实例并将运行结果与预期结果进行比较,若预期结果符合运行结果则判定为通过,不符合预期结果则判定为不通过,计算该接口的测试实例通过数量或通过率,根据各接口的权重值及实例通过数量或通过率调整各接口的最终影响得分;
还包括步骤,根据接口访问次数及业务系数调整接口权重值;
还包括接口回归的自动化测试步骤:
运行测试集的程序入口,打开程序入口代码,代码会去读取测试集配置文件,所述测试集配置文件包括配置测试集名称、业务系数、权重值,其中权重值设置为固定值或使用公式建模生成的接口权重值;
根据生成的接口权重值,运行测试集下的所有接口,每一个接口对应一个接口类,如果运行的是wsdl对应接口类,就去读取对应的配置文件拿到wsdl的地址并初始化;如果运行的是rest对应接口类,就去读取对应的配置文件拿到该接口对应的url;
根据拿到的wsdl的地址和url地址,读取对应接口实例文件生成测试实例,如果运行的是wsdl接口的实例,系统会自动把实例中的json入参转化为xml的入参,并使用wsdl实例发送请求,并拿到运行结果,并将运行结果和实例中的预期结果进行比较,如果实际结果包含预期结果,此实例就运行通过,反之运行失败;如果运行的是rest接口的实例,系统会拿到实例中的json入参和配置文件中的url地址自动发送请求,并拿到运行结果,如果运行结果与实际结果一致,此实例就运行通过,反之运行失败。
2.根据权利要求1所述的ESB接口自动化测试方法,其特征在于,还包括步骤,根据接口权重值调整分配给各接口的测试实例数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910089337.7A CN109947639B (zh) | 2019-01-30 | 2019-01-30 | Esb接口自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910089337.7A CN109947639B (zh) | 2019-01-30 | 2019-01-30 | Esb接口自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947639A CN109947639A (zh) | 2019-06-28 |
CN109947639B true CN109947639B (zh) | 2022-07-26 |
Family
ID=67007928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910089337.7A Active CN109947639B (zh) | 2019-01-30 | 2019-01-30 | Esb接口自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947639B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324540B (zh) * | 2020-03-02 | 2023-08-04 | 北京同邦卓益科技有限公司 | 一种接口测试方法及装置 |
CN111382075B (zh) * | 2020-03-10 | 2023-09-26 | 北京同邦卓益科技有限公司 | 一种自动化测试的数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867501A (zh) * | 2010-05-25 | 2010-10-20 | 北京宜富泰网络测试实验室有限公司 | Snmp接口信息模型一致性自动化测试方法及系统 |
CN105099811A (zh) * | 2015-06-03 | 2015-11-25 | 北京金山安全软件有限公司 | 一种接口测试方法和装置 |
CN105528288A (zh) * | 2015-12-01 | 2016-04-27 | 深圳市迪菲特科技股份有限公司 | 一种软件测试方法以及装置 |
CN106886494A (zh) * | 2017-03-07 | 2017-06-23 | 深圳国泰安教育技术股份有限公司 | 一种接口自动化测试方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010117623A2 (en) * | 2009-03-31 | 2010-10-14 | Coach Wei | System and method for access management and security protection for network accessible computer services |
-
2019
- 2019-01-30 CN CN201910089337.7A patent/CN109947639B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867501A (zh) * | 2010-05-25 | 2010-10-20 | 北京宜富泰网络测试实验室有限公司 | Snmp接口信息模型一致性自动化测试方法及系统 |
CN105099811A (zh) * | 2015-06-03 | 2015-11-25 | 北京金山安全软件有限公司 | 一种接口测试方法和装置 |
CN105528288A (zh) * | 2015-12-01 | 2016-04-27 | 深圳市迪菲特科技股份有限公司 | 一种软件测试方法以及装置 |
CN106886494A (zh) * | 2017-03-07 | 2017-06-23 | 深圳国泰安教育技术股份有限公司 | 一种接口自动化测试方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109947639A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665171B (zh) | 自动回归测试方法及装置 | |
EP2095236B1 (en) | Method, system and computer program for testing software applications based on multiple data sources | |
CN109474578A (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN109947639B (zh) | Esb接口自动化测试方法 | |
CN112445197B (zh) | 一种控制器版本信息校验的方法、处理器及整车测试系统 | |
CN110688358B (zh) | 一种日志收集方法、装置、设备及可读存储介质 | |
CN111240955A (zh) | Http接口自动化测试方法及装置、存储介质、电子设备 | |
CN103186463B (zh) | 确定软件的测试范围的方法和系统 | |
US20080306752A1 (en) | Method and system for automatic testing in a business scenario environment | |
CN111857103B (zh) | 一种车辆诊断方法、装置、设备及存储介质 | |
CN103019927B (zh) | 一种性能测试方法和系统 | |
CN116016270A (zh) | 一种交换机测试管理方法、装置、电子设备和存储介质 | |
CN112966965A (zh) | 进出口大数据的分析和决策方法、装置、设备及存储介质 | |
CN113094419A (zh) | 数据分析的系统、方法、客户端及存储介质 | |
KR20220073151A (ko) | 고장형태 영향분석 기반 고장 분석의 고장 모드 추천 시스템 | |
KR101737575B1 (ko) | 자동 생성된 sql 구문 기반의 데이터 검증 방법 및 장치 | |
CN113343659B (zh) | 分析报告生成方法、装置、设备及存储介质 | |
CN116521143B (zh) | 一种故障诊断did读写服务处理方法及装置 | |
CN117573461A (zh) | 一种用于电力信息系统的信创适配性能验证的方法及系统 | |
CN117130811A (zh) | 车辆诊断描述文件的生成方法、装置、电子设备和介质 | |
CN116680280A (zh) | 数据校验方法及相关装置 | |
CN117539762A (zh) | 一种测试用例推荐方法、装置、设备和存储介质 | |
CN116402563A (zh) | 一种智能开票方法、装置和开票装置 | |
CN117453572A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |