本发明专利技术提供一种实现自定义端到端测试用例编写的方法,属于云计算技术领域,本发明专利技术包括:a)规划Gitlab进行端到端测试用例版本管理;b)规划Sonobuoy生成端到端测试插件;c)规划Sonobuoy执行端到端测试;d)规划Golang包管理不同组件的测试用例;e)规划Docker构建端到端测试镜像。提高了测试工程师的工作效率,还有利于测试工程师更好的了解被测试项目及提高自身技术水平。高自身技术水平。高自身技术水平。
【技术实现步骤摘要】
一种实现自定义端到端测试用例编写的方法
[0001]本专利技术涉及云计算
,尤其涉及一种实现自定义端到端测试用例编写的方法。
技术介绍
[0002]近年来,云计算及相关各种技术蓬勃发展,云计算领域日新月异。得力于云计算平台的安全,可靠及高效性,越来越多的政府、企业以及其他的各种机构选择将自己的应用部署到云平台上。随着云计算技术的蓬勃发展,云计算相关软件的验证及测试在云计算软件的开发及部署过程中对软件的可靠性及安全性起到了越来越重要的作用。由于云计算软件复杂度高,并且多为分布式架构,其测试的难度相对于其他软件也较高。尤其是云计算领域的端到端测试,传统测试所采取的方法仍为手动测试,自动化水平比较低,耗费时间长,并且无法实现复用。
[0003]云计算平台是一个分布式系统,并且需要在各种环境中与其他系统一起工作,端到端测试在这种分布式系统中起着重要的作用。在这种情况下,需要对其进行全方面的检查,以确保不同平台和环境之间的精确交互。端到端测试是指测试时将应用程序与其依赖系统一起进行测试,确保程序的前后端或上下游能顺畅交互,从而保证业务上实现闭环,确保满足客户的使用需求。
[0004]Gitlab是一个开源的Git仓库管理软件,与Git结合使用能够实现软件项目的版本管理。
[0005]Kubernetes是一个开源的,用于管理云平台中多个主机上的容器的应用。Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。
[0006]Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上。容器时完全使用沙箱机制的,相互之间不会有任何接口。
[0007]Sonobuoy是一种Kubernetes集群诊断工具。通过以可访问和非破坏性的方式运行一系列配置测试,Sonobuoy可以更容易地了解Kubernetes集群的状态。
[0008]go test命令是一个按照一定的约定和组织来测试代码的程序。在包目录内,所有以_test.go为后缀名的源文件在执行go build时不会被构建成包的一部分,它们是go test测试的一部分。go test命令会遍历所有的*_test.go文件中符合命名规则的函数,生成一个临时的main包用于调用相应的测试函数,接着构建并运行、报告测试结果,最后清理测试中生成的临时文件。
技术实现思路
[0009]为了解决以上技术问题,本专利技术提供了一种实现自定义端到端测试用例编写的方法,能够简化测试人员的操作,通过代码方式实现端到端测试的自动化和复用,节省时间和
人力成本,提高工作效率。
[0010]本专利技术的技术方案是:
[0011]一种实现自定义端到端测试用例编写的方法,
[0012]包括:
[0013]a)规划Gitlab进行端到端测试用例版本管理
[0014]b)规划Sonobuoy生成端到端测试插件
[0015]c)规划Sonobuoy执行端到端测试
[0016]d)规划Golang包管理不同组件的测试用例
[0017]e)规划Docker构建端到端测试镜像。
[0018]进一步的,
[0019]a)用户在项目下新建对应测试组件的文件夹,然后在文件夹下新建*.go文件并在其中编写测试用例,编写完成后提交代码到gitlab仓库;
[0020]b)使用go test编译端到端测试项目生成测试的二进制文件;
[0021]c)使用docker将上一步生成的测试的二进制文件制作成镜像,并将需要的组件打包进去;
[0022]d)创建Sonobuoy插件,运行上一步创建出来的镜像。测试人员编写的端到端测试用例会被执行,执行结果按相应格式输出。
[0023]进一步的,
[0024]Gitlab配置
[0025]c)创建一个代码仓库作为端到端测试的项目仓库
[0026]d)按照测试需要编写端到端测试用例,并提交代码到镜像仓库。
[0027]Docker配置
[0028]d)编写Dockerfile
[0029]e)将二进制测试文件,配置文件及相应组件打包到镜像中
[0030]f)制作镜像并打相应标签,并且可以根据需要选择是否需要推送到镜像仓库
[0031]Sonobuoy配置
[0032]a)使用sonobuoy gen plugin命令生成插件定义文件;
[0033]b)使用插件定义文件和docker镜像运行端到端测试;
[0034]c)生成测试结果并保存到本地。
[0035]进一步的,
[0036]端到端测试项目使用Go语言编写;各文件夹及文件作用如下:
[0037]1)go.mod和go.sum文件为记录项目依赖组件所需文件;
[0038]2)e2e_test.go和e2e.go为端到端测试主文件;
[0039]3)api文件夹用于存放需要测试组件的api;
[0040]4)components文件夹用于放置不同组件的测试用例;
[0041]5)utils用于存放执行测试用例所需工具;
[0042]6)vendor下存放端到端测试项目依赖。
[0043]测试用例模板的主要函数的功能如下:
[0044]1)Describe:将一个及以上的测试用例归类,描述一种行为或者一个方法;
[0045]2)Context:增加条件语句,尽可能全地覆盖各种条件;
[0046]3)It:包含的代码为一个测试用例。
[0047]Sonobuoy各命令作用如下:
[0048]1)sonobuoy gen plugin用于生成拉起端到端测试插件的yaml文件;
[0049]‑‑
name为插件名,
‑‑
image为执行插件的镜像;
[0050]2)sonobuoy run用于执行插件以进行端到端测试;
‑
p为插件名
[0051]‑‑
image
‑
pull
‑
policy为镜像拉取策略。
[0052]本专利技术的有益效果是
[0053]本专利技术实现了一种kubernetes上自定义端到端测试用例编写的方法,为端到端测试提供了一整套解决方案。端到端测试由以往的手动测试变为了现在的自动化测试,实现了测试的复用,不仅提高了测试工程师的工作效率,还有利于测试工程师更好的了解被测试项目及提高自身技术水平。
附图说明
[0054]图1是本专利技术的工作流程示意图;
[0055]图2是文件结构示意图。
具体实施方式
[0056]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种实现自定义端到端测试用例编写的方法,其特征在于,包括:a)规划Gitlab进行端到端测试用例版本管理b)规划Sonobuoy生成端到端测试插件c)规划Sonobuoy执行端到端测试d)规划Golang包管理不同组件的测试用例e)规划Docker构建端到端测试镜像。2.根据权利要求1所述的方法,其特征在于,a)用户在项目下新建对应测试组件的文件夹,然后在文件夹下新建*.go文件并在其中编写测试用例,编写完成后提交代码到gitlab仓库;b)使用go test编译端到端测试项目生成测试的二进制文件;c)使用docker将上一步生成的测试的二进制文件制作成镜像,并将需要的组件打包进去;d)创建Sonobuoy插件,运行上一步创建出来的镜像。测试人员编写的端到端测试用例会被执行,执行结果按相应格式输出。3.根据权利要求2所述的方法,其特征在于,Gitlab配置a)创建一个代码仓库作为端到端测试的项目仓库b)按照测试需要编写端到端测试用例,并提交代码到镜像仓库。4.根据权利要求2所述的方法,其特征在于,Docker配置a)编写Dockerfileb)将二进制测试文件,配置文件及相应组件打包到镜像中c)制作镜像并打相应标签,并且可以根据需要选择是否需要推送到镜像仓库。5.根据权利要求2所述的方法,其特征在于,Sonobuoy配置a)使用sonobuoy gen plugin命令生成插件定义文件;b)使用插件定义文件和dock...
【专利技术属性】
技术研发人员:高广泽,石光银,蔡卫卫,高传集,孙思清,张晖,江燕,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。