快速构建测试环境的方法、设备及计算机可读介质技术

技术编号:28473300 阅读:27 留言:0更新日期:2021-05-15 21:41
本申请提供了一种快速构建测试环境的方案,该方案先获取测试环境需要的资源、资源的属性信息和资源之间的关联关系,然后将将每一种资源定义为一个Java类,将资源的的属性信息定义为对应Java类的成员变量,并根据资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系,在获取使用领域特定语言的环境构建代码后,根据环境构建代码调用资源对应的Java类构建测试环境。由于预先获取了资源之间的关系并在Java类中进行了声明,因此使用了DSL语法构建测试环境时,代码量少,可以快速直观的获知测试环境的整体结构,即使资源种类、数量较多时也不易出错,并且由于使用了DSL语法可以使用IDE工具的自动补全功能,构建过程更加方便快捷。程更加方便快捷。程更加方便快捷。

【技术实现步骤摘要】
快速构建测试环境的方法、设备及计算机可读介质


[0001]本申请涉及信息
,尤其涉及一种快速构建测试环境的方法、设备及计算机可读介质。

技术介绍

[0002]在软件测试中,如果想要测试一个API(Application Programming Interface,应用程序编程接口),需要提前构建API依赖的测试环境。以创建虚拟机API举例,需要提前准备虚拟机镜像、集群、集群物理机、集群网络、集群存储,测试账号等等,并且添加虚拟机镜像又依赖于镜像仓库。
[0003]目前用于构建上述测试环境的常用方案主要有两种,分别是硬编码实现方案和通过XML(Extensible Markup Language,可扩展标记语言)/JSON(JavaScript Object Notation,JS对象简谱)配置文件实现方案。
[0004]对于第一种方案,硬编码实现。编写代码一步一步创建测试环境,以构建创建虚拟机API接口测试环境举例:
[0005]第一步:调用添加镜像仓库API接口,添加一个镜像仓库
[0006]第二步:调用添加虚拟机镜像API接口,创建一个虚拟机镜像
[0007]第三步:调用创建集群API接口,创建一个集群
[0008]第四步:调用添加物理机API接口,向集群添加物理机
[0009]第五步:调用创建集群网络API接口,设置集群网络配置
[0010]第六步:调用添加集群存储API接口,设置集群存储配置
[0011]第七步:创建一个普通账号。<br/>[0012]使用硬编码方案构建测试环境,具有以下缺点:
[0013]1.代码行数多,工作量大,耗时长。
[0014]2.构建复杂的测试环境时容易出错,例如需要创建多个集群,每个集群添加不同的物理机,不同的集群网络,不同的集群存储。
[0015]3.环境整体结构信息不够直观,不利于后期维护修改。
[0016]对于第二种方案,通过XML/JSON配置文件实现。测试工程师在配置文件里列出环境信息,测试系统解析配置文件内容,调用相关API完成环境构建。使用XML/JSON配置文件方案构建测试环境时,虽然代码数量相较于第一种方案较少,环境整体结构信息也相对直观,但是也带来了以下的几个问题:
[0017]1.环境配置文件和测试代码分离,不在一个源码文件里,不利于维护。
[0018]2.配置文件容易出现拼写错误,配置错误。IDE(Integrated Development Environment,集成开发环境)等开发工具并不能针对XML/JSON做出代码自动补全,不支持参数基础类型检验,语法检验。
[0019]3.不够智能便捷,测试工程师编写配置文件时不能使用到IDE的自动补全功能。

技术实现思路

[0020]本申请的一个目的是提供一种快速构建测试环境的方法、设备及计算机可读介质,用以解决现有技术中的问题。
[0021]为实现上述目的,本申请提供了一种快速构建测试环境的方法,该方法包括:
[0022]获取测试环境需要的资源、所述资源的属性信息和所述资源之间的关联关系;
[0023]将每一种资源定义为一个Java类,将所述资源的的属性信息定义为对应Java类的成员变量;
[0024]根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系;
[0025]获取使用领域特定语言的环境构建代码;
[0026]根据所述环境构建代码调用所述资源对应的Java类构建测试环境。
[0027]进一步地,所述关联关系包括包含关系和使用关系。
[0028]进一步地,所述关联关系为包含关系;
[0029]根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系,包括:
[0030]在上层资源的Java类中定义下层资源的Java类的引用,并在上层资源的Java类中加入对下层资源的Java类的添加函数,其中,所述上层资源包含下层资源。
[0031]进一步地,所述关联关系为使用关系;
[0032]根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系,包括:
[0033]在使用方资源的Java类中定义被使用方资源的Java类的引用,并在使用方资源的Java类中加入用于声明与被使用方资源的Java类之间的使用关系的资源关联函数。
[0034]进一步地,使用Groovy闭包语法实现用于构建测试环境的领域特定语言。
[0035]进一步地,所述关联关系为树状结构关系。
[0036]进一步地,获取使用领域特定语言的环境构建代码,包括:
[0037]通过集成开发环境工具的自动补全功能获取使用领域特定语言的环境构建代码。
[0038]基于本申请的另一方面,还提供了一种快速构建测试环境的设备,该设备包括:
[0039]资源获取模块,用于获取测试环境需要的资源、所述资源的属性信息和所述资源之间的关联关系;
[0040]资源定义模块,用于将每一种资源定义为一个Java类,将所述资源的的属性信息定义为对应Java类的成员变量,以及根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系;
[0041]代码获取模块,用于获取使用领域特定语言的环境构建代码;
[0042]环境构建模块,用于根据所述环境构建代码调用所述资源对应的Java类构建测试环境。
[0043]本申请实施例还提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述快速构建测试环境的方法。
[0044]此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,
所述计算机程序指令可被处理器执行以实现所述快速构建测试环境的方法。
[0045]与现有技术相比,本申请提供了一种快速构建测试环境的方案,该方案先获取测试环境需要的资源、所述资源的属性信息和所述资源之间的关联关系,然后将将每一种资源定义为一个Java类,将所述资源的的属性信息定义为对应Java类的成员变量,并根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系,在获取使用领域特定语言的环境构建代码后,根据所述环境构建代码调用所述资源对应的Java类构建测试环境。由于预先获取了资源之间的关系并在Java类中进行了声明,因此使用了DSL(Domain Specific Language,领域特定语言)语法构建测试环境时,代码量少,可以快速直观的获知测试环境的整体结构,即使资源种类、数量较多时也不易出错,并且由于使用了DSL语法可以使用IDE工具的自动补全功能,构建过程更加方便快捷。
附图说明
[0046]通过阅读参照以下附图所作的对非限制性实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快速构建测试环境的方法,其特征在于,该方法包括:获取测试环境需要的资源、所述资源的属性信息和所述资源之间的关联关系;将每一种资源定义为一个Java类,将所述资源的的属性信息定义为对应Java类的成员变量;根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系;获取使用领域特定语言的环境构建代码;根据所述环境构建代码调用所述资源对应的Java类构建测试环境。2.根据权利要求1所述的方法,其特征在于,所述关联关系包括包含关系和使用关系。3.根据权利要求2所述的方法,其特征在于,所述关联关系为包含关系;根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系,包括:在上层资源的Java类中定义下层资源的Java类的引用,并在上层资源的Java类中加入对下层资源的Java类的添加函数,其中,所述上层资源包含下层资源。4.根据权利要求2所述的方法,其特征在于,所述关联关系为使用关系;根据所述资源之间的关联关系,在对应的Java类中声明与其它Java类之间的关联关系,包括:在使用方资源的Java类中定义被使用方资源的Java类的引用,并在使用方资源的Java类中加入用于声明与被使用方资源的Java类之间的使用关系的资源关联函数。5.根据权利...

【专利技术属性】
技术研发人员:李耀宁张鑫
申请(专利权)人:上海云轴信息科技有限公司
类型:发明
国别省市:

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

1