编辑推荐: |
本文来自于jianshu,本文介绍了DevOps的研发过程、主要职责并且讲解了为了达到我们想要的DevOps,测试应该怎么做好测试管理、数据管理的相关内容。 |
|
通过对DevOps进行一段时间的学习,对自己负责的测试模块有了一点点自己的小想法。通过对整个研发流程的重新认识和理解,思考测试在整个研发流程中扮演的角色,应该做的主要工作,以及涉及到的影响因素进行思考。最后思考对测试管理、数据管理主要做的具体工作是什么,通过怎样的方式,来保证研发质量。
对于测试主要工作,在当前CI/CD下应该怎么有效的进行,在后面将进行持续的学习和思考。
一、研发体系的理解
整个研发体系是按照DevOps的方式进行,service mesh
能够提高研发的效率,让研发关注业务本身,解决微服务带来的服务上下游关系、路由、监控、动态配置……,一系列研发功能时需要考虑的问题。
二、测试职责
通过分享知道对于DevOps的研发过程,应该在持续交付的过程中,做好测试管理、数据管理。
为了保证测试管理和数据管理更好的执行,涉及到配置管理、构建与持续集成、部署与发布管理、环境管理、度量与反馈。
1.主要职责
对于这些过程中具体的细化工作如下:
测试管理:
测试分层策略:分层方法、分层策略、测试时机
代码质量管理:质量规约、检查方式、反馈处理
自动化测试:自动化设计、自动化开发、自动化执行、自动化分析
数据管理:
测试数据管理:数据来源、数据覆盖、数据独立性
数据变更管理:变更过程、兼容回滚、数据监控
2.相关职责
为了使主要职责更好的进行,需要相关联的几项事务进行配合和支撑
1. 配置管理
a) 版本控制:版本控制系统、分支管理、制品管理、单一可信数据源
b) 变更管理:变更过程、变更追溯、变更回滚
2. 构建与持续集成
a) 构建实践:构建方式、构建环境、构建计划、构建职责
b) 持续集成:集成服务、集成频率、集成方式、反馈周期
3. 部署与发布管理a) 部署与发布模式:部署方式、部署过程、部署策略、部署质量b)
持续部署流水线:协作模式、流水线过程、过程可视化
4. 环境管理
a) 环境类型、环境构建、环境依赖与配置管理
5. 度量与反馈
a) 度量指标:度量指标定义、度量指标类型、度量数据管理、度量指标更新
b) 度量驱动改进:内容和生成方式、数据是小型、覆盖范围、反馈改进
3.信息来源
1) 牛晓玲&景韵-转型的灯塔(DevOps 标准工作组)


2) 王鹏-每天万次触发的持续交付工具链实践(美团)

从整个流程中可以看出,测试在这个流程中,主要的工作是完成Smoke&DVT
Tests、Function Tests、Integration Tests。
3) John Willis - Divine and Felonious
Nature of Cyber Security - China November 2018

在明确了测试的主要职责后,为了达到我们想要的DevOps,测试应该怎么做好测试管理、数据管理呢?
三、 测试管理
1. 主要职责
对于测试,按照产物的生成过程,可以划分为单元测试、接口测试、集成测试、性能测试、异常测试。
2. 信息来源
1) 石雪峰-流水线3.0打造DevOps落地工具链

2) 王鹏-每天万次触发的持续交付工具链实践(美团)

3) 腾讯财付通

3. 当前最主要的问题
进行接口测试
当前主要的工作,进行接口测试能力建设(用例管理、自动化执行平台)
测试是要从UI向下移动,至于是更多的精力在接口、还是单元测试,可根据后台工程的实际情况进行选择,也没有特定的统一观点。
对于接口测试应该怎么做,在针对微服务,找对应微服务进行测试的方法介绍,包括换搭建、测试用例编写、自动化平台的用例的管理,详细研究。
4. 信息来源
1) 牛晓玲&景韵-转型的灯塔(DevOps 标准工作组)

2) 茹炳晟-打造高效“Test as a Service”架构

3) 乔梁-持续交付2.0——腾讯高级管理顾问


四、 数据管理
测试数据的基础是在测试环境上搭建起来的,与测试环境的管理密切相关。对于测试环境的管理,当前普遍的是k8s,具体实现方式尝试中。
先说说测试环境想要的状态,对于实现方式,与后台的架构、发布流程密切相关。
以下容来自《茹炳晟-打造高效“Test as a Service”架构》的分享
1. 测试环境


2. 测试数据



3. 最终目标

|