CN116010239B - 一种基于流水线的自动化测试方法 - Google Patents
一种基于流水线的自动化测试方法 Download PDFInfo
- Publication number
- CN116010239B CN116010239B CN202211313502.0A CN202211313502A CN116010239B CN 116010239 B CN116010239 B CN 116010239B CN 202211313502 A CN202211313502 A CN 202211313502A CN 116010239 B CN116010239 B CN 116010239B
- Authority
- CN
- China
- Prior art keywords
- test
- instance
- service
- node
- automatic
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 132
- 239000000725 suspension Substances 0.000 claims abstract description 10
- 230000010354 integration Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 5
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于流水线的自动化测试方法,包括以下步骤:步骤一、对应业务流上每个待检查节点,开发自动化测试实例;步骤二、定时或触发任务启动执行自动化测试实例服务器进行测试;步骤三、根据业务流方向依次执行自动化实例;步骤四、收集所有自动化实例执行结果,根据成功,失败和中止三种状态来判断是否再次触发执行;本发明可以有效避免每个自动化测试实例依赖大量预置数据问题,利用流水线上的各个测试实例相互配合协同,驱动业务流上下衔接,利用业务流经节点产生的业务数据,就可以直接作为下个测试实例的预置数据进行测试,无需为下一个自动化实例开发大量的自动化脚本文件产生预置数据,大幅度降低自动化测试实例开发成本。
Description
技术领域
本发明涉及软件测试领域,特别是涉及一种基于流水线的自动化测试方法。
背景技术
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
在现有的互联网软件测试过程中,每个测试实例都需要依赖大量的预置数据才能完成测试任务,这些预置数据错综复杂,需要人工编写自动化脚本文件来产生预置数据,该脚本还需要不断调试,消耗了大量的时间和人力。
发明内容
针对上述技术存在的不足之处,对自动化测试实例进行改进,通过一种基于流水线的自动化测试方法,利用流水线上的各个测试实例相互配合协同,驱动业务流上下衔接,利用业务流经节点产生的业务数据,就可以直接作为下个测试实例的预置数据进行测试,无需为下一个自动化实例开发大量的自动化脚本文件产生预置数据,来完成测试任务;以解决现有技术中每个测试实例都需要依赖大量的预置数据才能完成测试任务,这些预置数据错综复杂,需要人工编写自动化脚本文件来产生预置数据,该脚本还需要不断调试,消耗了大量的时间和人力的问题。
为了实现上述目标,本发明提供一种基于流水线的自动化测试方法,所述方法包括:
步骤一、对应业务流上每个待检查节点,开发自动化测试实例;
步骤二、定时或触发任务启动执行自动化测试实例服务器进行测试;
步骤三、根据业务流方向依次执行自动化实例;
步骤四、收集所有自动化实例执行结果,根据成功,失败和中止三种状态来判断是否再次触发执行;
进一步具体步骤包括:
步骤100:根据业务流节点先后时序,开发对应节点的自动化实例;
步骤101:在业务流节点上,先获取当前节点上的业务数据,该业务数据包括并不限于个人身份信息,账户信息,营业信息,地址信息,业务编码信息等;
步骤102:如果未获取到当前业务节点上的任何数据,当前自动化测试实例自动返回测试中止状态,结束当前自动化实例测试;
步骤103:如果获取到当前业务节点上的业务数据,业务数据信息是否符合各自特征,如果不符合,则结束当前自动化实例测试,返回测试中止状态;
步骤104:根据步骤103,获取符合正常的业务数据进行测试;
步骤105:根据步骤104测试完成后,自动化测试实例获取当前业务流下一个节点位置,获取业务数据
步骤106:自动化实例根据获取的当前节点业务数据对比预期结果,判断是否符合,如果不符合预期结果,即标记测试失败状态,结束当前自动化实例测试;
步骤107:如果符合预期结果,即标记测试成功状态,结束当前自动化实例测试;
步骤108:配置测试服务器所需执行的资源环境,安装python执行环境及所需的库文件;
步骤109:在Jenkins(持续集成平台)上配置测试服务器节点,在测试服务器上启动链接Jenkins服务;
步骤110:在Jenkins上新建自动化项目,配置定时任务启动自动化测试实例执行任务;
步骤111:根据业务流节点先后时序,编排对应节点的自动化实例,使测试实例相互衔接,依序执行;
步骤112:收集所有自动化实例执行结果统计,获取测试成功实例数;失败实例数和中止实例数;
步骤113:判断是否存在失败实例数,如果存在则判断是否存在中止实例数,如果存在中止实例数,则跳转步骤一;如果不存在中止状态的自动化测试实例,则跳转步骤115;
步骤114:如果同时存在失败实例数和中止实例数,则统计展示测试结果,发送测试报告,程序结束本次自动化测试流程。
步骤115:统计判断所有测试实例都已经执行完毕,则统计展示测试结果,发送测试报告,程序结束本次自动化测试流程。
本发明的有益效果是:展示了基于流水线的自动化测试方法,各测试实例相互衔接,触及所有业务节点,各业务节点的测试实例不需要事先预置数据,直接获取各节点上的业务数据进行测试,并在业务下一节点进行预期验证,从而达成整体业务流的测试任务。相比于开发普通自动化实例,本发明方法大幅度降低自动化测试实例的开发成本,可以有效提升自动化测试实例的扩展性。
附图说明
图1为本发明的实施示例关系图
图2为本发明测试实例流程图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于流水线的自动化测试方法,其特征在于包含以下步骤:
步骤一、对应业务流上每个待检查节点,开发自动化实例;
步骤二、定时或触发任务启动执行自动化测试实例服务器进行测试;
步骤三、根据业务流方向依次执行自动化实例;
步骤四、收集所有自动化实例执行结果,根据成功,失败和中止三种状态来判断是否再次触发执行;
在本实施例中,步骤一具体包括:
步骤100:根据业务流节点先后时序,开发对应节点的自动化实例;
步骤101:在业务流节点上,先获取当前节点上的业务数据,该业务数据包括并不限于个人身份信息,账户信息,营业信息,地址信息,业务编码信息等;
步骤102:如果未获取到当前业务节点上的任何数据,当前自动化测试实例自动返回测试中止状态,结束当前自动化实例测试;
步骤103:如果获取到当前业务节点上的业务数据,业务数据信息是否符合各自特征,如果不符合,则结束当前自动化实例测试,返回测试中止状态;
步骤104:根据步骤103,获取符合正常的业务数据进行测试;
步骤105:根据步骤104测试完成后,自动化测试实例获取当前业务流下一个节点位置,获取业务数据
步骤106:自动化实例根据获取的当前节点业务数据对比预期结果,判断是否符合,如果不符合预期结果,即标记测试失败状态,结束当前自动化实例测试;
步骤107:如果符合预期结果,即标记测试成功状态,结束当前自动化实例测试;
步骤一部分关键代码说明如下:
在本实施例中,步骤二具体包括:
步骤108:配置测试服务器所需执行的资源环境,安装python执行环境及所需的库文件;
步骤109:在Jenkins(持续集成平台)上配置测试服务器节点,在测试服务器上启动链接Jenkins服务;
步骤110:在Jenkins上新建自动化项目,配置定时任务启动自动化测试实例执行任务;
在本实施例中,步骤三具体包括:
步骤111:根据业务流节点先后时序,编排对应节点的自动化实例,使测试实例相互衔接,依序执行;
依据图一的业务流次序编排测试实例为:
A->C->F->J->M;A->D->F->J->M;A->D->G->J->M;A->D->G->K->M;A->D->H->K->M;
A->D->H->L->M;A->D->H->L->N。
B->E->H->K->M;B->E->H->L->M;B->E->H->L->N;B->E->I->K->M;B->E->I->L->M;
B->E->I->L->N。
在本实施例中,步骤四具体包括:
步骤112:收集所有自动化实例执行结果统计,获取测试成功实例数;失败实例数和中止实例数;
步骤113:判断是否存在失败实例数,如果存在则判断是否存在中止实例数,如果存在中止实例数,则跳转步骤一;如果不存在中止状态的自动化测试实例,则跳转步骤115;
步骤114:如果同时存在失败实例数和中止实例数,则统计展示测试结果,发送测试报告,程序结束本次自动化测试流程。
步骤115:统计判断所有测试实例都已经执行完毕,则统计展示测试结果,发送测试报告,程序结束本次自动化测试流程。
步骤四部分关键代码说明如下:
本申请的优势在于,本发明展示的基于流水线的自动化测试方法,各测试实例相互衔接,触及所有业务节点,各业务节点的测试实例不需要事先预置数据,直接获取各节点上的业务数据进行测试,并在业务下一节点进行预期验证,从而达成整体业务流的测试任务。本发明通过对比以往普通自动化测试,不需要对每个测试实例开发测试脚本来产生预置数据,来满足当前自动化实例的测试需求,极大的提高自动化实例开发效率,同时可以有效提升自动化测试实例的扩展性,大幅度降低自动化测试实例的开发成本。
以上所述仅作为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改,等同替换,改进等,均包含在本发明的保护范围内。
Claims (3)
1.一种基于流水线的自动化测试方法,其特征在于包含以下步骤:
步骤一、对应业务流上每个待检查节点,开发自动化测试实例;
步骤二、定时或触发任务启动执行自动化测试实例服务器进行测试;
步骤三、根据业务流方向依次执行自动化实例;
步骤四、收集所有自动化实例执行结果,根据成功,失败和中止三种状态来判断是否再次触发执行;
步骤一具体包括:
步骤100:根据业务流节点先后时序,开发对应节点的自动化实例;
步骤101:在业务流节点上,先获取当前节点上的业务数据,该业务数据包括并不限于个人身份信息,账户信息,营业信息,地址信息,业务编码信息;
步骤102:如果未获取到当前业务节点上的任何数据,当前自动化测试实例自动返回测试中止状态,结束当前自动化实例测试;
步骤103:如果获取到当前业务节点上的业务数据,业务数据信息是否符合各自特征,如果不符合,则结束当前自动化实例测试,返回测试中止状态;
步骤104:根据步骤103,获取符合正常的业务数据进行测试;
步骤105:根据步骤104测试完成后,自动化测试实例获取当前业务流下一个节点位置,获取业务数据;
步骤106:自动化实例根据获取的当前节点业务数据对比预期结果,判断是否符合,如果不符合预期结果,即标记测试失败状态,结束当前自动化实例测试;
步骤107:如果符合预期结果,即标记测试成功状态,结束当前自动化实例测试;
步骤二具体包括:
步骤108:配置测试服务器所需执行的资源环境,安装python执行环境及所需的库文件;
步骤109:在Jenkins持续集成平台上配置测试服务器节点,在测试服务器上启动链接Jenkins服务;
步骤110:在Jenkins上新建自动化项目,配置定时任务启动自动化测试实例执行任务。
2.如权利要求1所述的基于流水线的自动化测试方法,步骤三具体包括:
步骤111:根据业务流节点先后时序,编排对应节点的自动化实例,使测试实例相互衔接,依序执行。
3.如权利要求1所述的基于流水线的自动化测试方法,步骤四具体包括:
步骤112:收集所有自动化实例执行结果统计,获取测试成功实例数;失败实例数和中止实例数;
步骤113:判断是否存在失败实例数,如果存在则判断是否存在中止实例数,如果存在中止实例数,则跳转步骤一;如果不存在中止状态的自动化测试实例,则跳转步骤115;
步骤114:如果同时存在失败实例数和中止实例数,则统计展示测试结果,发送测试报告,程序结束本次自动化测试流程;
步骤115:统计判断所有测试实例都已经执行完毕,则统计展示测试结果,发送测试报告,程序结束本次自动化测试流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313502.0A CN116010239B (zh) | 2022-10-25 | 2022-10-25 | 一种基于流水线的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211313502.0A CN116010239B (zh) | 2022-10-25 | 2022-10-25 | 一种基于流水线的自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116010239A CN116010239A (zh) | 2023-04-25 |
CN116010239B true CN116010239B (zh) | 2023-12-08 |
Family
ID=86034229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211313502.0A Active CN116010239B (zh) | 2022-10-25 | 2022-10-25 | 一种基于流水线的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010239B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530231A (zh) * | 2013-10-12 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于业务流程控制的应用程序测试方法及系统 |
CN107861870A (zh) * | 2017-11-02 | 2018-03-30 | 平安科技(深圳)有限公司 | 接口测试及测试数据生成方法、装置、终端和存储介质 |
CN109726105A (zh) * | 2018-05-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 测试数据构造方法、装置、设备及存储介质 |
CN109783381A (zh) * | 2019-01-07 | 2019-05-21 | 中国银行股份有限公司 | 一种测试数据生成方法、装置及系统 |
CN110008118A (zh) * | 2019-03-13 | 2019-07-12 | 深圳壹账通智能科技有限公司 | 页面数据测试方法、装置、计算机设备和存储介质 |
CN110263551A (zh) * | 2019-06-27 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种测试方法及装置 |
CN110334008A (zh) * | 2019-05-28 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种数据自动化处理方法、装置、电子设备及存储介质 |
CN112001707A (zh) * | 2020-09-02 | 2020-11-27 | 平安养老保险股份有限公司 | 基于业务数据的业务工作流生成方法及系统 |
CN113297061A (zh) * | 2020-05-29 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 测试用例生成方法、装置、系统、离线服务器及存储介质 |
-
2022
- 2022-10-25 CN CN202211313502.0A patent/CN116010239B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530231A (zh) * | 2013-10-12 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于业务流程控制的应用程序测试方法及系统 |
CN107861870A (zh) * | 2017-11-02 | 2018-03-30 | 平安科技(深圳)有限公司 | 接口测试及测试数据生成方法、装置、终端和存储介质 |
CN109726105A (zh) * | 2018-05-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 测试数据构造方法、装置、设备及存储介质 |
CN109783381A (zh) * | 2019-01-07 | 2019-05-21 | 中国银行股份有限公司 | 一种测试数据生成方法、装置及系统 |
CN110008118A (zh) * | 2019-03-13 | 2019-07-12 | 深圳壹账通智能科技有限公司 | 页面数据测试方法、装置、计算机设备和存储介质 |
CN110334008A (zh) * | 2019-05-28 | 2019-10-15 | 平安普惠企业管理有限公司 | 一种数据自动化处理方法、装置、电子设备及存储介质 |
CN110263551A (zh) * | 2019-06-27 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种测试方法及装置 |
CN113297061A (zh) * | 2020-05-29 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 测试用例生成方法、装置、系统、离线服务器及存储介质 |
CN112001707A (zh) * | 2020-09-02 | 2020-11-27 | 平安养老保险股份有限公司 | 基于业务数据的业务工作流生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
《应用测试岛的组批卫星流水线测试模式设计》;刘鹤 等;《航天器工程》;第99-106页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116010239A (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008123B (zh) | 一种自动部署测试软件的方法以及相应的装置 | |
CN112241360B (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN106991046B (zh) | 应用测试方法及装置 | |
Weigert et al. | Practical experiences in using model-driven engineering to develop trustworthy computing systems | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
US11573780B2 (en) | Automated generation of status chains for software updates | |
CN108804315B (zh) | 应用于动态开发的测试方法、装置、电子设备及存储介质 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN110543429B (zh) | 测试用例调试方法、装置及存储介质 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN110198222B (zh) | 一种配电自动化终端即插即用测试方法及测试主站 | |
CN116010239B (zh) | 一种基于流水线的自动化测试方法 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN116774987A (zh) | 一种基于web多终端的软件开发控制方法及系统 | |
CN116743809A (zh) | 物联网设备的数据模拟方法、存储介质和测试平台 | |
CN108804309B (zh) | 一种合同管理系统自动化测试方法及测试工具 | |
CN107797926B (zh) | 一种实现linux应用测试自动化的系统及方法 | |
CN105302731A (zh) | 网站架构升级测试系统和方法 | |
CN115774881A (zh) | 代码审计方法、装置、设备及介质 | |
CN108536587A (zh) | 一种基于Appium的自动化测试方法及系统 | |
CN115473832B (zh) | 车联网端云通信测试方法、装置、服务器、客户端及系统 | |
CN112612710B (zh) | 一种自动测试方法和系统 | |
CN112597030B (zh) | 一种任务发布方法及装置、执行方法及装置、系统 | |
CN116932413B (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 |