基于插件的分布式测试框架与测试方法技术

技术编号:24330957 阅读:52 留言:0更新日期:2020-05-29 19:35
本发明专利技术提供了一种基于插件的分布式测试框架及测试方法,包括:交互接口,与控制器连接,用于接受请求并将请求发送到控制器和导出测试报告;控制器,提供整个分布式测试框架的管理及调度功能;校验单元,与控制器连接,进行鉴权及执行合法性校验;执行单元,与控制器连接,用于进行测试;反馈单元,分别与控制器和执行单元连接,用于执行单元执行过程中或执行结束后产生反馈;输出单元,与控制器连接,展现测试数据;清理单元,分别与控制器和执行单元连接,用于回收清理工作,基础设施数据库,与控制器连接,用于提供测试数据,存储测试结果。本发明专利技术是一种通用型测试框架,提高了框架的兼容性,适用于大规模分布式集群。

【技术实现步骤摘要】
基于插件的分布式测试框架与测试方法
本专利技术涉及软件测试领域,更具体涉及基于插件的分布式测试框架及测试方法。
技术介绍
随着信息技术行业的发展,人们已经逐渐意识到了软件测试的重要性。传统行业中重开发,轻测试导致了很严重的软件产品质量问题,大量的开发代码无法维护,人们逐渐意识到需要一种提升代码质量或者软件质量保证(SQA)的方法,软件测试随之产生。对于规模越大,复杂度越高的代码,软件测试投入的时间就需要更长,把好测试关能够显著减少软件错误率,减轻后期软件维护成本。经过几十年的发展,软件测试行业已经形成了自己的行业标准,对于测试也有了更多的含义。在现代的软件行业,一个没有完整测试的产品会降低消费者使用其的机率。软件测试方法的细分和理论的深入,使得软件行业也在逐渐发展,可以看到软件测试的发展其实是软件行业进步和成熟的产物。在软件测试中,软件框架的作用是减轻测试人员的负担,能够提供简单、易集成的接口,减轻添加一个测试用例的工作量。现有的测试框架往往提供了大量的测试功能,而且是针对于特定软件而定制的,这种方式的优势是集成度好,很容易做到即开即用,开发量较小,不过也存在相应的劣势,如测试受众少,只针对于特定的场景。测试人员需要接触的项目一般会有很多个,每一个项目都有针对于该软件产品而设计的测试框架,即使测试流程或操作流程大同小异,也会造成不小的负担,现代的往往存在大量的组件子系统,不同产品使用不同的测试框架,很容易造成混乱及维护困难。如果设计一种通用性的测试框架,可能会极大改善这样的现状。同时,现代的运维环境逐渐变大,一个大型的系统往往是分布式,协同工作的,这种方式给现有的测试框架带来了更大的挑战。
技术实现思路
针对现有的大规模集群架构系统,需要一种现代化的测试框架来支持这种大规模集群的测试。不同于传统测试中测试作为交付前的软件质量检测手段,针对大规模集群的测试是伴随该系统生命周期的。大型集群系统经常存在升级、新增功能特性,需要一种在集成环境下能够随时进行测试的工具,即使不存在频繁地更新特性,也应该把定期集群测试作为检测集群功能状况及稳定性地手段之一。因此,本专利技术提出以下技术方案:基于插件的分布式测试框架,包括组件:交互接口,与控制器连接,用于接受请求并将请求发送到控制器和导出测试报告;控制器,提供整个分布式测试框架的管理及调度功能;校验单元,与控制器连接,进行鉴权及执行合法性校验;执行单元,与控制器连接,用于进行测试;反馈单元,分别与控制器和执行单元连接,用于执行单元执行过程中或执行结束后产生反馈;输出单元,与控制器连接,展现测试数据;清理单元,分别与控制器和执行单元连接,用于回收清理工作,基础设施数据库,与控制器连接,用于提供测试数据,存储测试结果。所述组件之间低耦合,通过消息队列的方式通信。所述基础设施数据库为关系型数据库。所述交互接口中用于用户交互的方式包括CLI,RESTfulAPI及webUI。所述组件按测试功能部署在控制节点和执行节点,所述控制节点进行管理和调度,所述执行节点进行测试清理工作。依托于上述框架的一种基于插件的分布式测试方法,包括步骤:S1测试者发起测试请求;S2控制器通过交互接口接收请求,并将请求通过消息队列发送至校验单元;S3校验单元进行鉴权及执行合法性校验;S4控制器将测试请求通过消息队列发送到对应的执行节点;S5执行节点执行测试并将中间状态通过消息队列发送到控制器和反馈单元;S6执行测试完成;S7清理单元清理测试环境;S8输出单元统计所有测试的执行情况,并保存到数据库;S9测试者通过交互接口将测试报告导出。本专利技术设计的基于插件的分布式测试框架是一种用于软件测试的基础性框架,是进行软件测试及相关功能的集成,为大规模集群设计,提高了测试框架在不同系统不同平台之间的兼容性,可以使用插件开发的方式解决测试框架在测试场景上的局限性。本专利技术为分布式集群而设计,采用模块化的设计,将不同功能单元分开并将组件安装在不同节点上,通过控制节点与执行节点之间的协调合作,全自动式的测试框架,定义好测试用例及测试数据后,测试过程完全不需要人为干预,实现高效并行测试,有效提高了测试的效率。不同组件之间使用通用的接口,因而该测试框架也能够支持异构系统。不同节点之间可以通过调度策略达到应用负载均衡,能够保护集群状态,提高资源使用率。另外,这种通用型的测试框架融入到CI/CD流程将会非常简单。附图说明图1为基于插件的分布式测试框架逻辑结构示意图;图2为基于插件的分布式测试框架组件的一种组件部署示意图。具体实施方式为更好地解释本专利技术,下面将结合附图和具体实施案例进行说明。如图1所示的一种基于插件的分布式测试框架,包括组件:交互接口,与控制器连接,用于接受请求并将请求发送到控制器和导出测试报告;控制器,提供整个分布式测试框架的管理及调度功能;校验单元,与控制器连接,进行鉴权及执行合法性校验;执行单元,与控制器连接,用于进行测试;反馈单元,分别与控制器和执行单元连接,用于执行单元执行过程中或执行结束后产生反馈;输出单元,与控制器连接,展现测试数据;清理单元,分别与控制器和执行单元连接,用于回收清理工作,基础设施数据库,与控制器连接,用于提供测试数据,存储测试结果。所述组件之间低耦合,通过消息队列的方式通信,消息队列采用RabbitMQ实现,使用镜像队列的方式来避免单点故障对环境造成影响。所述基础设施数据库为关系型数据库MariaDB,使用GaleraCluster保证数据库服务的高可用性。所述交互接口中用于用户交互的方式包括CLI,RESTfulAPI及webUI,RESTfulAPI作为无状态的服务,使用4层负载均衡的方式,具体实施时,可以使用nginx提供该服务。所述组件按测试功能部署在控制节点和执行节点,,控制节点进行管理和调度,执行节点进行测试清理工作;控制节点一般设置为三副本实现高可用,执行节点对应于一台具体的物理机或者虚机,执行节点的数量根据集群大小确定,设置过小将影响测试效率;控制节点数量一般设置为3,执行节点的数量可以动态设定,图2为其中一例。在测试层面,通过插件的方式来扩展测试功能,采用数据驱动的方式进行测试,测试内容及测试用例一般由测试者自行设计,所述框架的具体使用步骤为:S1测试者发起测试请求;S2控制器通过交互接口接收请求,并将请求通过消息队列发送至校验单元;S3校验单元进行鉴权及执行合法性校验;S4控制器将测试请求通过消息队列发送到对应的执行节点;S5执行节点执行测试并将中间状态通过消息队列发送到控制器和反馈单元;S6执行测试完成;S7清理单元清理测试环境;S8输出单元统计所本文档来自技高网
...

【技术保护点】
1.基于插件的分布式测试框架,其特征在于,包括组件:/n交互接口,与控制器连接,用于接受请求并将请求发送到控制器和导出测试报告;/n控制器,提供整个分布式测试框架的管理及调度功能;/n校验单元,与控制器连接,进行鉴权及执行合法性校验;/n执行单元,与控制器连接,用于进行测试;/n反馈单元,分别与控制器和执行单元连接,用于执行单元执行过程中或执行结束后产生反馈;/n输出单元,与控制器连接,展现测试数据;/n清理单元,分别与控制器和执行单元连接,用于回收清理工作,/n基础设施数据库,与控制器连接,用于提供测试数据,存储测试结果。/n

【技术特征摘要】
1.基于插件的分布式测试框架,其特征在于,包括组件:
交互接口,与控制器连接,用于接受请求并将请求发送到控制器和导出测试报告;
控制器,提供整个分布式测试框架的管理及调度功能;
校验单元,与控制器连接,进行鉴权及执行合法性校验;
执行单元,与控制器连接,用于进行测试;
反馈单元,分别与控制器和执行单元连接,用于执行单元执行过程中或执行结束后产生反馈;
输出单元,与控制器连接,展现测试数据;
清理单元,分别与控制器和执行单元连接,用于回收清理工作,
基础设施数据库,与控制器连接,用于提供测试数据,存储测试结果。


2.根据权利要求1所述的基于插件的分布式测试框架,其特征在于,所述组件之间低耦合,通过消息队列的方式通信。


3.根据权利要求1所述的基于插件的分布式测试框架,其特征在于,所述基础设施数据库为关系型数据库。


4.根据权利要求1所述的基于插件的分布式测试框架...

【专利技术属性】
技术研发人员:陈玉林蔡卫卫谢涛涛申嘉童
申请(专利权)人:山东汇贸电子口岸有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1