集成测试方法、装置以及控制器和介质与流程

文档序号:18409542发布日期:2019-08-10 00:51阅读:126来源:国知局
集成测试方法、装置以及控制器和介质与流程

本发明涉及测试技术领域,尤其涉及一种集成测试方法、装置以及控制器和介质。



背景技术:

随着微服务架构的大面积推广,服务和系统数量呈指数式增长,系统间的调用关系变的错综复杂,对产品设计、开发、测试、运维等方面带来了巨大的挑战。集成测试为包括多个系统的测试,以电商应用程序(application,外语缩写:app)下单流程为例:集成测试对应的集成系统包含订单系统、支付系统和仓储系统等数个系统,在测试时需要这几个相关系统的测试人员一起相互协作才能保证在较短的时间内完成这次集成任务,本次集成测试的花费的时间为2天,即最少12人天的工时。每个迭代版本中都会存在这样的集成测试任务,少则一二十个,多至五六十个,由此可知集成测试的任务重,消耗的时间和人力成本高,测试效率低。



技术实现要素:

本发明所要解决的技术问题在于,提供一种集成测试方法、装置以及控制器和介质,释放了集成测试资源,减少了人工介入操作,降低了人力资源成本和时间成本,提高了集成测试效率。

为了解决上述技术问题,根据本发明第一实施例,提供了一种集成测试方法,包括:

获取当前集成测试对应的集成系统中所包含的所有辅助验证系统和被验证系统所对应的接口数据;

根据所述集成测试的业务流程对所述所有辅助验证系统对应的接口数据进行组装,生成集成测试的业务流程脚本;

在数据交互点对所述集成测试的业务流程脚本进行切割,生成脚本执行片段,其中,所述辅助验证系统为所述被验证系统传送测试数据之处为所述数据交互点;

根据所述集成测试的业务流程将所述脚本执行片段和所有被验证系统对应的接口数据进行组装,在预设的需要设置时间间隔的交互点进行隔断,在预设的需要进行验证的交互点设置对应的验证点,从而生成集成自动化脚本执行集成测试。

进一步的,所述获取当前集成测试对应的集成系统中所包含的所有辅助验证系统和被验证系统所对应的接口数据之前,所述方法还包括:

预先获取集成测试所需接口数据并存储至数据库中,所述接口数据包括请求头、请求体、请求地址、断言内容和响应结果需要提取的参数。

进一步的,所述在预设的需要设置时间间隔的交互点进行隔断,包括:

在预设的需要设置时间间隔的交互点加入断点控制组件进行隔断,当执行测试脚本的线程解释并运行到所述断点控制组件时,将线程挂起,当接收到线程唤醒命令后将此挂起的线程重新唤醒并继续执行后续流程。

进一步的,所述在预设的需要设置时间间隔的交互点进行隔断,包括:

在预设的需要设置时间间隔的交互点加入间隔时间控制组件进行隔断,所述间隔时间控制组件用于设定时间间隔,当执行测试脚本运行至所述间隔时间控制组件时,暂停所设定的时间间隔后继续执行后续步骤流程。

进一步的,所述生成集成自动化脚本执行集成测试,包括:

所述被验证系统根据所述集成自动化脚本进行验证操作,单个验证点校验符合业务需求预期后驱动后续的集成自动化脚本执行测试操作,循环执行,直至所有验证点验证完毕并符合需求预期,完成本次集成测试,如果出现单个验证点验证失败,则终止当前集成测试,排查错误原因并修复后重新开始新一轮的集成测试,其中,所述验证点的验证操作包括web前端展示验证、app前端展示验证、数据库数据验证和接口数据返回验证中的一种或多种。

进一步的,所述预设的需要设置时间间隔的交互点包括需要设置时间间隔等待辅助验证系统和被验证系统的接口数据运行完成的交互点,以及需要设置时间间隔等待验证点完成验证的交互点。

进一步的,所述被验证系统的接口包括第一类接口和第二类接口,所述第一类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据无需进行验证,所述第二类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据需要设置对应的验证点验证逻辑处理结果是否符合预期;

所述预设的需要进行验证的交互点为所述第二类接口进行业务逻辑处理对应的交互点。

根据本发明实施例第二实施例,提供了一种集成测试装置,包括:

接口数据获取模块,配置为获取当前集成测试对应的集成系统中所包含的所有辅助验证系统和被验证系统所对应的接口数据;

业务流程组装模块,配置为根据所述集成测试的业务流程对所述所有辅助验证系统对应的接口数据进行组装,生成集成测试的业务流程脚本;

业务流程切割模块,配置为在数据交互点对所述集成测试的业务流程脚本进行切割,生成脚本执行片段,其中,所述辅助验证系统为所述被验证系统传送测试数据之处为所述数据交互点;

集成测试模块,配置为根据所述集成测试的业务流程将所述脚本执行片段和所有被验证系统对应的接口数据进行组装,在预设的需要设置时间间隔的交互点进行隔断,在预设的需要进行验证的交互点设置对应的验证点,从而生成集成自动化脚本执行集成测试。

进一步的,所述装置还包括测试数据存储模块,配置为预先获取集成测试所需接口数据并存储至数据库中,所述接口数据包括请求头、请求体、请求地址、断言内容和响应结果需要提取的参数。

进一步的,所述业务流程切割模块包括第一隔断单元,配置为在预设的需要设置时间间隔的交互点加入断点控制组件进行隔断,当执行测试脚本的线程解释并运行到所述断点控制组件时,将线程挂起,当接收到线程唤醒命令后将此挂起的线程重新唤醒并继续执行后续流程。

进一步的,所述业务流程切割模块包括第二隔断单元,配置为在预设的需要设置时间间隔的交互点加入间隔时间控制组件进行隔断,所述间隔时间控制组件用于设定时间间隔,当执行测试脚本运行至所述间隔时间控制组件时,暂停所设定的时间间隔后继续执行后续步骤流程

进一步的,所述集成测试模块具体配置为:

所述被验证系统根据所述集成自动化脚本进行验证操作,单个验证点校验符合业务需求预期后驱动后续的集成自动化脚本执行测试操作,循环执行,直至所有验证点验证完毕并符合需求预期,完成本次集成测试,如果出现单个验证点验证失败,则终止当前集成测试,排查错误原因并修复后重新开始新一轮的集成测试;其中,所述验证点的验证操作包括web前端展示验证、app前端展示验证、数据库数据验证和接口数据返回验证中的一种或多种。

进一步的,所述预设的需要设置时间间隔的交互点包括需要设置时间间隔等待辅助验证系统和被验证系统的接口数据运行完成的交互点,以及需要设置时间间隔等待验证点完成验证的交互点。

进一步的,所述被验证系统的接口包括第一类接口和第二类接口,所述第一类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据无需进行验证,所述第二类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据需要设置对应的验证点验证逻辑处理结果是否符合预期;

所述预设的需要进行验证的交互点为所述第二类接口进行业务逻辑处理对应的交互点。

根据本发明第三实施例,提供一种控制器,其包括存储器与处理器,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现所述方法的步骤。

根据本发明第四实施例,提供一种计算机可读存储介质,用于存储计算机指令,所述指令在由一计算机或处理器执行时实现所述方法的步骤。

本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明一种集成测试方法、装置以及控制器和介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:

本发明通过对集成测试中的所有辅助验证系统的接口数据进行组装,生成集成测试的业务流程脚本,并根据当前集成测试中辅助验证系统和被验证系统交互点的位置对生成集成测试的业务流程脚本进行切割,根据业务需求在对应的交互点设置隔断、验证点,从而生成集成自动化脚本执行集成测试,释放了集成测试资源,减少人工介入操作,降低人力资源成本和时间成本,提高集成测试效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为本发明一实施例提供集成测试方法流程图;

图2为本发明一实施例提供的集成测试装置示意图。

【符号说明】

1:接口数据获取模块2:业务流程组装模块

3:业务流程切割模块4:集成测试模块

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种集成测试方法、装置以及控制器和介质的具体实施方式及其功效,详细说明如后。

集成测试指的是利用自动化手段来辅助集成系统进行测试。所述集成系统包括至少一个辅助验证系统和至少一个被验证系统,所述辅助验证系统是指为集成测试中的被验证系统提供测试数据的系统,用于辅助被验证系统进行验证,默认辅助验证系统提供的测试数据为可信数据,不对此系统的结果进行检查验证。所述被验证系统是指根据所述辅助验证系统提供的数据进行业务逻辑处理,并对逻辑处理结果进行验证的系统,其中,所述辅助验证系统为所述被验证系统传送测试数据的位置为数据交互点。

本发明实施例提供了一种集成测试方法,如图1所示,所述方法包括:

步骤s1、获取当前集成测试对应的集成系统中所包含的所有辅助验证系统和被验证系统所对应的接口数据。

作为一种示例,步骤s1之前,所述方法还包括步骤s0、预先获取集成测试所需接口数据并存储至数据库中,所述接口数据包括请求头、请求体、请求地址、断言内容和响应结果需要提取的参数。通过步骤s0可预先将集成测试任务相关数据存储至数据库中,对于已存在的接口数据,可直接通过电子设备导入数据库中。

所述被验证系统的接口包括第一类接口和第二类接口,所述第一类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据无需进行验证,所述第二类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据需要设置对应的验证点验证逻辑处理结果是否符合预期。

步骤s2、根据所述集成测试的业务流程对所述所有辅助验证系统对应的接口数据进行组装,生成集成测试的业务流程脚本。

需要说明的是,自动化测试中包括多个接口数据,将多个接口数据按照业务流程组合在一起的过程,即为本发明实施例中所述的“组装”。

步骤s3、在数据交互点对所述集成测试的业务流程脚本进行切割,生成脚本执行片段,其中,所述辅助验证系统为所述被验证系统传送测试数据之处为所述数据交互点。

步骤s4、根据所述集成测试的业务流程将所述脚本执行片段和所有被验证系统对应的接口数据进行组装,在预设的需要设置时间间隔的交互点进行隔断,在预设的需要进行验证的交互点设置对应的验证点,从而生成集成自动化脚本执行集成测试。

作为一种示例,步骤s4中,在预设的需要设置时间间隔的交互点进行隔断,具体包括:

在预设的需要设置时间间隔的交互点加入断点控制组件进行隔断,当执行测试脚本的线程解释并运行到所述断点控制组件时,将线程挂起,当接收到线程唤醒命令后将此挂起的线程重新唤醒并继续执行后续流程。加入断点控制组件可模拟集成测试各系统之间的协调操作。

作为一种示例,步骤s4中,在预设的需要设置时间间隔的交互点进行隔断,包括:

在预设的需要设置时间间隔的交互点加入间隔时间控制组件进行隔断,所述间隔时间控制组件用于设定时间间隔,当执行测试脚本运行至所述间隔时间控制组件时,暂停所设定的时间间隔后继续执行后续步骤流程。加入间隔时间控制组件可模拟测试系统之间的间隔时间,从而有效协调集成测试过程。

作为一种示例,步骤s4中,所述生成集成自动化脚本执行集成测试,包括:

所述被验证系统根据所述集成自动化脚本进行验证操作,单个验证点校验符合业务需求预期后后驱动后续的集成自动化脚本执行测试操作,循环至行,直至所有验证点验证完毕并符合需求预期,完成本次集成测试,如果出现单个验证点验证失败,则终止当前集成测试,排查错误原因并修复后重新开始新一轮的集成测试。所述验证点的验证操作包括web前端展示验证、app前端展示验证、数据库数据验证和接口数据返回验证中的一种或多种。

作为示例,所述预设的需要设置时间间隔的交互点包括需要设置时间间隔等待辅助验证系统和被验证系统的接口数据运行完成的交互点,以及需要设置时间间隔等待验证点完成验证的交互点。

所述预设的需要进行验证的交互点为所述第二类接口进行业务逻辑处理对应的交互点。

由此可知,交互点处可能只进行了隔断或者加入验证点,也可能进行了隔断也加入了验证点,或者是既没有进行隔断也没有加入验证点,根据具体业务需求而定。

以下通过一具体实施例对上述方法进行进一步说明:

假设当前集成测试对应的集成系统包括订单系统、支付系统、仓储系统,其中,订单系统为被验证系统,支付系统和仓储系统为辅助验证系统,订单系统包括添加购物车接口,订单创建接口,订单查询接口;支付系统包括创建支付流水号接口和订单支付接口;仓储系统包括库存查询接口和创建物流单号接口。

本实施例的集成测试过程具体包括以下步骤:

步骤s101、获取订单系统、支付系统、仓储系统所对应的接口数据,订单系统包括添加购物车接口,订单创建接口,订单查询接口,支付系统包括创建支付流水号接口和订单支付两个接口,仓储系统包括库存查询接口和创建物流单号接口,其中,订单系统为被验证系统,添加购物车接口和订单创建接口为第一类接口,订单查询接口为第二类接口;

步骤s102、根据所述集成测试的业务流程对支付系统和仓储系统所对应的接口数据进行组装,生成集成测试的业务流程脚本:库存查询→创建支付流水号→订单支付→创建物流单号。

步骤s103、在数据交互点对所述集成测试的业务流程脚本:库存查询→创建支付流水号→订单支付→创建物流单号进行切割,生成脚本执行片段:库存查询片段、创建支付流水号片段、订单支付片段和创建物流单号片段。

步骤s103、获取订单系统的接口,包括添加购物车,订单创建,订单查询三个接口。

步骤s104、根据当前集成测试的业务流程将所述脚本执行片段和所有被验证系统对应的接口进行组装,根据业务需求,在需要设置时间间隔的交互点进行隔断,在需要进行验证的交互点设置对应的验证点,得到集成自动化脚本:

添加购物→库存查询→订单创建→订单查询→第一断点控制组件→第一验证点(用于验证订单状态是不是为未支付且无支付流水号)→创建支付流水号→第二断点控制组件→订单查询→第二验证点(用于验证订单状态是否为未支付且有支付流水号)→订单支付→订单查询→第三断点控制组件→第三验证点(用于验证订单状态是不是为已支付)→创建物流单号→第一间隔时间控制组件(等待3s)→订单查询→第四验证点(用于验证订单状态是不是为未发货,有物流单号)。

根据上述自动化脚本执行集成测试,第一验证点校验符合业务需求预期后驱动后续的集成自动化脚本执行测试操作,如此循环执行,直至第一验证点验-第四验证点均验证完毕并符合需求预期,完成本次集成测试,如果中途出现单个验证点验证失败,则终止当前集成测试,排查错误原因并修复后重新开始新一轮的集成测试。

本发明实施例还提供了一种集成测试装置,如图2所示,包括接口数据获取模块1、业务流程组装模块2、业务流程切割模块3和集成测试模块4,其中,接口数据获取模块1配置为获取当前集成测试对应的集成系统中所包含的所有辅助验证系统和被验证系统所对应的接口数据;业务流程组装模块2配置为根据所述集成测试的业务流程对所述所有辅助验证系统对应的接口数据进行组装,生成集成测试的业务流程脚本;业务流程切割模块3配置为在数据交互点对所述集成测试的业务流程脚本进行切割,生成脚本执行片段,其中,所述辅助验证系统为所述被验证系统传送测试数据之处为所述数据交互点;集成测试模块4配置为根据所述集成测试的业务流程将所述脚本执行片段和所有被验证系统对应的接口数据进行组装,在预设的需要设置时间间隔的交互点进行隔断,在预设的需要进行验证的交互点设置对应的验证点,从而生成集成自动化脚本执行集成测试。

作为一种示例,所述装置还包括测试数据存储模块,配置为预先获取集成测试所需接口数据并存储至数据库中,所述接口数据包括请求头、请求体、请求地址、断言内容和响应结果需要提取的参数。通过测试数据存储模块可预先将集成测试任务相关数据存储至数据库中,对于已存在的接口数据,可直接通过电子设备导入数据库中。

作为一种示例,所述业务流程切割模块3包括第一隔断单元,配置为在预设的需要设置时间间隔的交互点加入断点控制组件进行隔断,当执行测试脚本的线程解释并运行到所述断点控制组件时,将线程挂起,当接收到线程唤醒命令后将此挂起的线程重新唤醒并继续执行后续流程,加入断点控制组件可模拟集成测试各系统之间的协调操作。

所述业务流程切割模块3包括第二隔断单元,配置为在预设的需要设置时间间隔的交互点加入间隔时间控制组件进行隔断,所述间隔时间控制组件用于设定时间间隔,当执行测试脚本运行至所述间隔时间控制组件时,暂停所设定的时间间隔后继续执行后续步骤流程,加入间隔时间控制组件可模拟测试系统之间的间隔时间,从而有效协调集成测试过程。

作为一种示例,所述集成测试模块4具体配置为:所述被验证系统根据所述集成自动化脚本进行验证操作,单个验证点校验符合业务需求预期后驱动后续的集成自动化脚本执行测试操作,循环执行,直至所有验证点验证完毕并符合需求预期,完成本次集成测试,如果出现单个验证点验证失败,则终止当前集成测试,排查错误原因并修复后重新开始新一轮的集成测试;其中,所述验证点的验证操作包括web前端展示验证、app前端展示验证、数据库数据验证和接口数据返回验证中的一种或多种。

作为一种示例,所述预设的需要设置时间间隔的交互点包括需要设置时间间隔等待辅助验证系统和被验证系统的接口数据运行完成的交互点,以及需要设置时间间隔等待验证点完成验证的交互点。

所述被验证系统的接口包括第一类接口和第二类接口,所述第一类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据无需进行验证,所述第二类接口接收所述辅助验证系统提供的数据进行业务逻辑处理后的数据需要设置对应的验证点验证逻辑处理结果是否符合预期;所述预设的需要进行验证的交互点为所述第二类接口进行业务逻辑处理对应的交互点,由此可知,交互点处可能只进行了隔断或者加入验证点,也可能进行了隔断也加入了验证点,或者是既没有进行隔断也没有加入验证点,根据具体业务需求而定。

本发明实施例还提供一种控制器,其包括存储器与处理器,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现所述集成测试方法的步骤。

本发明实施例还提供一种计算机可读存储介质,用于存储计算机指令,所述指令在由一计算机或处理器执行时实现所述集成测试方法的步骤。

本发明实施例通过对集成测试中的所有辅助验证系统的接口数据进行组装,生成集成测试的业务流程脚本,并根据当前集成测试中辅助验证系统和被验证系统交互点的位置对生成集成测试的业务流程脚本进行切割,根据业务需求在对应的交互点设置隔断、验证点,从而生成集成自动化脚本执行集成测试,释放了集成测试资源,减少人工介入操作,降低人力资源成本和时间成本,提高集成测试效率。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1