一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Linux云平台的后端接口测试方法及系统与流程

2022-04-09 12:13:26 来源:中国专利 TAG:

一种基于linux云平台的后端接口测试方法及系统
技术领域
1.本技术涉及云平台接口测试技术领域,尤其涉及一种基于linux云平台的后端接口测试方法及系统。


背景技术:

2.近些年来,云计算成为信息技术产业发展的战略重点。全球信息技术企业纷纷向云计算转型。云计算带来生活、生产方式和商业模式的根本性变化,成为全社会关注的焦点。openstack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,并且为私有云和公有云提供可扩展的弹性的云计算服务,而基于openstack的云平台也在被广泛的使用在国防、金融等多种领域。
3.由于需求不同,各个厂家的云平台产品会对用户的需求进行封装,通过restful接口调用不同的openstack接口,实现对应功能。普遍而言,云平台集群规模大,涉及的功能模块复杂,场景丰富。因此,验证云平台的功能是否可以正常实现,能否在前期测试时使用更短的时间,发现更多功能方面的问题,提高测试效率,是非常有必要的工作。
4.通常来讲,一般在openstack集群部署完成后,使用rally工具对openstack集群进行后端接口测试。rally是openstack社区推出开源测试工具,可用于对各个组件进行功能和性能测试。通过使用rally组件,用户可完成openstack云计算平台各个组件的功能验证、大规模负载测试(性能测试)、输出测试报告等一系列动作。
5.在现有的云平台使用rally进行后端接口测试相关发明中,“一种对openstack集群进行自动化性能测试的方法”(cn202010660326.2)公开了一种使用rally工具的自动化性能测试的方法,通过初始化,运行性能测试,导出性能报告进行性能测试和分析。该发明主要涉及领域为性能测试,且功能覆盖范围较小,绝大多数接口健壮性未进行测试。
6.在“接口测试方法、装置及服务器”(cn201910671281.6)中,公开了一种使用网络功能虚拟化编排器,在和虚拟机之间进行的自动化测试,主要针对镜像功能,通过修改yml文件,调用openstack接口进行性能测试。该发明主要使用网络功能虚拟化编排器进行测试,主要针对服务器进行测试,并且并不是每个产品都有网络功能虚拟化编排器,适用范围不够广。
7.综上所述,已有的发明实施例中针对linux云平台后端接口的测试方法的设计不够全面、系统。


技术实现要素:

8.为解决上述现有技术所存在的问题,本发明提出了一种基于linux云平台的后端接口测试方法及系统,将云平台的组件功能进行全面测试,更系统的对云平台组件间的接口的性能健壮性进行测试;充分体现云平台接口性能,便于对云平台的性能和稳定进行分析以及优化。
9.本发明一方面提出一种基于linux云平台的后端接口测试方法,包括:
步骤s1,在linux云平台中集成测试工具;步骤s2,设计能够遍历linux云平台组件的功能接口的功能流程,根据所述功能流程设计测试脚本;步骤s3,执行所述测试脚本;步骤s4,获取所述测试脚本的执行数据,对所述执行数据进行整理分析。
10.可选地,所述测试工具为rally工具。
11.可选地,所述linux云平台组件包括计算组件、存储组件、网络组件、镜像组件和认证组件中的一种或多种的组合。
12.可选地,所述计算组件的功能流程包括:云主机的基本操作、云主机启动类型的验证、云主机的创建和删除、主机集合的创建和删除、云主机配置的创建和删除、云主机资源信息的显示和更新。
13.可选地,所述存储组件的功能流程包括:云硬盘的创建和删除、云硬盘的挂载和卸载、云硬盘基本操作、云硬盘快照的创建和删除、云硬盘信息的查看和更新、云硬盘类型的创建和删除。
14.可选地,所述网络组件的功能流程包括:浮动ip的创建和删除、网络的创建和删除、端口的创建和删除、路由的创建和删除、安全组的创建和删除、安全组规则的创建和删除、子网的创建和删除、浮动ip的创建、路由器进行网络绑定和解绑、路由器子网的添加和解绑、网络资源信息的查看和更新。
15.可选地,所述认证组件的功能流程包括:用户/角色的添加和删除、token信息的生成发送、创建并获取角色列表、更新用户、获取服务信息、创建和删除服务、用户密码更新。
16.可选地,所述镜像组件的功能流程包括:镜像的创建和删除、镜像的上传和下载、镜像信息的获取和更新。
17.可选地,所述测试脚本为task脚本。
18.本发明另一方面提出一种基于linux云平台的后端接口测试系统,包括:集成单元,用于在linux云平台中集成测试工具;流程设计单元,用于设计能够遍历linux云平台组件的功能接口的功能流程;脚本设计单元,用于根据所述功能流程设计测试脚本;测试单元,用于执行所述测试脚本;数据分析单元,用于获取所述测试脚本的执行数据,对所述执行数据进行整理分析。
19.本发明的技术方案的有益效果:本发明将云平台常用组件的各个接口实现一整套较为全面的流程测试。单个组件根据功能流程进行整个组件的功能接口的遍历。本测试方法后续可根据云平台需要的流程内容进行更新增加。因此,本发明的技术方案具有以下优点:优化时间成本,无需一一测试每个接口;流程全面,能覆盖到常用组件的大部分接口;易扩展性,能根据测试要求随时变化测试内容。
附图说明
20.为了更清楚地表达说明本发明实施例的技术方案,下面将对实施例描述所需要使
用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例中的后端接口测试方法的流程图;图2为本发明实施例中的计算组件的功能流程的设计框图;图3为本发明实施例中的存储组件的功能流程的设计框图;图4为本发明实施例中的网络组件的功能流程的设计框图;图5为本发明实施例中的认证组件的功能流程的设计框图;图6为本发明实施例中的镜像组件的功能流程的设计框图。
具体实施方式
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
24.现有技术中,基于rally工具自带测试文件对openstack云平台接口测试流程的不全面,该测试文件仅对云平台模块中单个接口进行测试,在测试工作中任务流程过长,覆盖范围较单一,时间成本较高。因此,需要设计一套流程较为全面的接口测试方法,将云平台的组件功能进行全面测试,更系统的对云平台组件间的接口的性能健壮性进行测试;使用此方法能直观的显示云平台常用流程的接口任务完成情况、api平均响应时间等;充分体现云平台接口性能,便于对云平台的性能和稳定进行分析以及优化。
25.本实施例的基于linux云平台的后端接口测试方法是在docker容器化的openstack云平台产品进行的实现和测试,所以在以下的介绍中均已该环境的基础为准,以下说明中均以云平台代替openstack云平台。
26.参照图1,图1展示了本方法实施的过程图,其过程如下:步骤s1,在部署云平台时集成rally工具。
27.本次实现和测试的环境中已将rally工具的安装部署写入云平台的部署工具kolla-ansible中,将rally工具的配置信息编写成一个yaml文件,部署工具通过该文件自动在云平台环境中集成一个rally容器。rally工具的api组件通过容器网络进行连接,访问各组件的api接口与各组件进行通讯,实现接口测试。
28.步骤s2,设计测试任务场景,编写task脚本。
29.编写task脚本之前,需先对云平台各组件的主要功能、流程间进行分析和梳理,形成梳理点,通过梳理点进行task测试文件的编写。task脚本即rally工具中的测试文件,task测试文件可分两种格式:json和yaml,两种文件的结构基本类似,本发明中以yaml文件进行设计。文件开始需要设置task执行的次数、成功率阈值和参数的默认值,该数值可在实际的测试环境中根据需求进行更改和设置。然后根据流程内容将需要的参数、类型、调用的
插件写入测试文件中。完成设计后通过单任务的运行的方式判断信息输入是否正确,所有单任务测试通过则完成该组件测试文件的编写。
30.参见图2至图6,下面对云平台组件常用功能流程设计方案进行说明:步骤s21,nova组件(云平台计算组件),为云平台提供计算资源的管理,云主机生命周期的管理。通过对该组件的任务流程进行分析,将组件接口流程进行简单的汇总归纳,如:云主机的基本操作、云主机启动类型的验证、云主机的创建和删除、主机集合的创建和删除、云主机配置的创建和删除、云主机资源信息的显示和更新。
31.步骤s22,cinder组件(云平台存储组件),该组件为云平台提供存储服务,为云平台提供数据的存储和安全。通过对该组件的任务流程进行分析,将组件接口流程进行简单的汇总归纳,如:云硬盘的创建和删除、云硬盘的挂载和卸载、云硬盘基本操作、云硬盘快照的创建和删除、云硬盘信息的查看和更新、云硬盘类型的创建和删除。
32.步骤s23,neutral组件(云平台的网络组件),该组件为云平台提供网络服务,维护云平台的数据交流。通过对该组件的任务流程进行分析,将组件接口流程进行简单的汇总归纳,如:浮动ip的创建和删除、网络的创建和删除、端口的创建和删除、路由的创建和删除、安全组的创建和删除、安全组规则的创建和删除、子网的创建和删除、浮动ip的创建、路由器进行网络绑定和解绑、路由器子网的添加和解绑、网络资源信息的查看和更新。
33.步骤s24,keystone组件(云平台的认证组件),该组件为云平台提供认证管理服务,提供所有组件的认证信息令牌管理、创建和修改,使用mysql数据库存储认证信息,云平台各组件的交流都需要通过该组件的认证,是云平台的重要组件;通过对该组件的任务流程进行分析,将组件接口流程进行简单的汇总归纳,如:用户/角色的添加和删除、token信息的生成发送、创建并获取角色列表、更新用户、获取服务信息、创建和删除服务、用户密码更新。
34.步骤s25,glance组件(云平台镜像组件),为云平台提供镜像管理服务。通过对该组件的任务流程进行分析,将组件接口流程进行简单的汇总归纳,如:镜像的创建和删除、镜像的上传和下载、镜像信息的获取和更新。
35.步骤s3,初始化task环境,执行task脚本,查看task执行情况。
36.在进行rally工具的测试时,需要存在已部署的云平台环境,并通过云平台的环境认证之后rally才可正常运行。完成云平台环境认证之后,则需要为rally的task执行进行环境的初始化,即创建deployment,为rally的执行引擎进行配置和就绪。当准备工作完成后需要导入task执行测试文件,rally通过执行测试文件,调用相应的引擎完成接口的测试。
37.task执行环境初始化后可以使用task的执行命令进行接口测试的运行,rally通过task测试文件中的参数调用taskcommands中的方法实现api的调用,从而达到接口测试的目的。在task的执行过程中,可实时的使用命令查看task的执行状态,当状态列表显示为finished时,表示任务完成。任务完成后测试结果会保存在rally数据库中,可通过命令查看任务执行的结果。任务结果中能看到任务是否执行成功、任务执行的api响应总时间、api响应最大/最小时间、api平均响应时间、任务完成的次数和成功率。
38.步骤s4,导出并收集task执行数据,对执行数据进行整理分析。
39.对完成的task的数据可以通过查看任务的uuid,然后通过uuid将测试的数据从
rally数据库中导出,可通过html文件、xml文件、josn文件的方式进行导出,html文件、xml文件能通过浏览器进行打开,并能以图形化的方式直观显示结果数据。
40.上述测试方法中,rally工具将task运行后,rally工具将读取task设定的插件和参数,插件被调用后,会将参数和方法通过rally api发送给相应组件的api接口来完成相应的任务,并返回api响应的结果。基于该工具的方法,本发明将云平台常用组件的各个接口实现一整套较为全面的流程测试。其中包括认证组件、网络组件、存储组件、镜像组件、计算组件,单个组件根据功能流程进行整个组件的功能接口的遍历。本测试方法不仅限于上述流程测试,后续可根据云平台需要的流程内容进行更新增加。
41.本发明实施例还提出一种基于linux云平台的后端接口测试系统,包括:集成单元,用于在linux云平台中集成测试工具;流程设计单元,用于设计能够遍历linux云平台组件的功能接口的功能流程;脚本设计单元,用于根据所述功能流程设计测试脚本;测试单元,用于执行所述测试脚本;数据分析单元,用于获取所述测试脚本的执行数据,对所述执行数据进行整理分析。
42.本实施例的测试系统的工作原理和上述测试方法的流程相同,在此不做赘述。
43.本实施例的linux云平台的后端接口测试方法设计云平台功能模块所需后端接口测试场景,包括共五个模块的功能操作测试(接口健壮性)和性能测试;在部署的云平台启动rally容器,使用restful接口调用云平台openstack接口,编写yaml进行测试;执行脚本后分析数据,判断功能和性能是否达标,覆盖了多个模块,包含了计算组件、存储组件、网络组件、认证组件、镜像组件的不同操作,覆盖了云主机创建、删除、编辑网络等配置;云硬盘创建、挂载、卸载、删除;镜像的上传、下载、使用;网络的创建、删除、使用;云平台的认证操作等。结合以上元素设计了测试场景,并编写对应模块task脚本,将云平台的组件功能进行全面测试,更系统的对云平台组件间的接口的性能健壮性进行测试;task脚本中覆盖了接口的功能测试,可以获取到响应时间,并且可以在脚本中设置执行次数,所以不仅可以测试功能正确性,响应时间性能,还可以根据执行的通过率判断接口的健壮性,使用此方法能直观的显示云平台常用流程的接口任务完成情况、api平均响应时间等;充分体现云平台接口性能,便于对云平台的性能和稳定进行分析以及优化。
44.应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并不是要限于所述的特定顺序或层次。
45.在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,相反,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
46.本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现
所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
47.为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献