DevOps微课 | 云测试案例

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文DevOps微课 | 云测试案例

DevOps微课系列旨在帮助用户学习DevOps实践。今天和大家介绍云测试案例。

本文适合的读者:

1、实现资源循环利用的实践者

2、实现不同规格产品安全测试方案的实践者

3、虚拟环境可视化编排、一键部署和释放环境的实践者

4、研发提效的管理者,DevOps爱好者

本方案适用于测试环境资源不足,测试不充分的项目。各项目可以结合自身特点对模板作适当的修改,即可实现本项目资源的循环合理利用。在特性移交和系统测试执行方面,各个团队也可根据自身特点,采纳使用。


===================

【实践收益】

通过实践可以解决以下几个问题:

1. 有效解决项目资源不足导致测试用例执行不充分的现状。

2. 在环境一键部署和删除、开发调试验证方面都有很不错的优势。

3. 规划的特性移交方面,可以避免以前比较繁琐的流程。

4. 规划的测试执行方面,可以解决目前测试结果不透明的现状。


【项目痛点】

对应商用产品项目支持多种规格,包括2核6G、4核16G、8核16G、14核20G等。面对环境资源有限、纷繁复杂的需求和应用场景,如何快速交付价值并保证不同规格的产品质量,便成为项目急需解决的问题。

DevOps微课 | 云测试案例

       1 项目现状分析

【解决思路】

1、将云测试平台用于项目的实际测试执行和测试管理工作中,实现环境资源的重复利用,从而实现不同规格的全方面测试

2、依托DevOps工具链,将云CI和云测试有效结合,深化“自动化测试/CI建设”实践,实现不同规格产品的自动化测试。


【云测试平台】

云测试平台功能概览:

DevOps微课 | 云测试案例

图2 云测试平台功能概览

云测试平台可实现:

  • 虚拟化环境一键动态部署,提供PAAS/IAAS应用测试环境一键自动部署和销毁;

  • 测试任务创建和执行;

  • 测试结果展现和分析;


【业务流程】

如下图:

DevOps微课 | 云测试案例

 图3 业务流程

流程说明:

1. 自动化用例编写完成并合入gerrit仓库;

2. 云测试平台提前创建好不同规格对应不同测试用例的测试任务;

3. 云测试平台提前创建好不同规格测试环境对应的测试模板;

4. 云CI上创建job,实现:代码更新->不同规格版本编译->A规格环境自动创建->A规格自动化用例执行->A规格环境销毁->B规格环境创建->B规格自动化用例执行->B规格环境销毁......->不同规格产品发布到制品库。


【实践】

1. 云测试平台模板创建:依次点击:环境管理->EAAS环境(新)->模板选项卡

2. 云测试平台不同规格任务创建:依次点击:任务管理->我的任务

3. 云CI拉通云测试实现多规格用例测试


【具体步骤】

环境模板创建

在云测试平台中建立不同规格的环境模板。

DevOps微课 | 云测试案例

 图4  2C 6G规格模板

DevOps微课 | 云测试案例

   图5  14C 16G规格模板

模板的详细配置参考具体举例中“模板创建”。


测试环境初始化任务创建

在云测试平台->任务管理->我的任务中,创建“测试环境初始化”任务。

DevOps微课 | 云测试案例

 图6  2C 6G环境初始化任务

DevOps微课 | 云测试案例

 图7 14C 16G测试环境初始化任务

测试环境初始化任务详细配置参考上述具体举例中“云测试平台不同规格任务创建”。


测试任务创建

DevOps微课 | 云测试案例

 图8 2C 6G测试任务

 

DevOps微课 | 云测试案例

                      9  14C 16G测试任务

测试任务具体配置参考上述举例中“云测试平台不同规格任务创建”。


CI上创建job

同时会发送邮件给团队成员;最后所有job执行完毕后,会释放所有环境占用的资源,白天开发会利用这部分资源进行开发验证调试,实现环境的循环利用。


开发验证调试

云测试平台上保留开发人员创建的模板(模板不占用资源),环境一键恢复是很简单的事情。比如下图为云测试平台上开发人员创建的模板:

DevOps微课 | 云测试案例

图10  模板


只需点击下图页面的“创建环境”按钮:

DevOps微课 | 云测试案例

DevOps微课 | 云测试案例

图11  创建环境

然后点击开始创建环境即可实现环境的一键恢复。如果资源有限,环境用完即删,实现资源循环利用。


规划实践(特性移交)

目前特性移交还未在团队正式使用,但已经提出该实践建议,现大概介绍下。目前规划依托云测试进行特性移交,摆脱过去的繁琐的“发邮件并收集测试报告并反馈遗留问题”的方式。依托于云测试进行特性移交主要包括以下几个步骤:

1. 开发人员功能开发完毕,测试人员编写好相关用例入库。

2. 云平台上创建与特性相关的测试任务。建议一个特性一个任务,包括手动和自动的用例。移交时,若存在用例失败情况,并已经提jira单跟踪,开发人员及时对失败的用例进行失败分类。

3. 并创建一个全量用例的测试任务,特性移交前,执行全量用例,确定是否有特性受待移交特性的影响。

4. 待特性移交时,QA或开发人员将云测试平台上相关任务的名称和id通过邮件告知系统测试人员。系统测试人员可通过云测试平台查看指定时间内,待移交特性相关用例的运行情况。如有失败用例,可通过失败分类查看失败原因,确定特性是否移交成功。

特性移交大致流程见下图:

DevOps微课 | 云测试案例

图12  特性移交


规划实践(系统测试)

目前系统测试阶段主要为手动执行的用例,可通过云测试平台反馈测试结果,开发人员和管理人员可实时看到测试进度,达到了使用云测试平台对手工和自动化测试用例进行统一的管理、执行、分析。


DevOps微课 | 云测试案例