原创作者: 九宸@到家 DeepTesting
测试过程中,一套合理的环境管理流程是发布过程中很重要的一环。如何在测试过程中让环境为你服务而不是在环境维护过程投入过多人力,其实还是挺重要的一个工作。
在现在互联网模式下,微服务化架构盛行,毫不夸张的说,好的环境管理流程是事半功倍的。
环境管理的分类
一般的互联网公司环境分为三套:
- 测试环境 提供各应用的统一集成测试环境,其中关键核心底层组件例如DB、Cache、MQ为一套统一提供服务。
- 预发环境 提供预发布测试的统一集成环境,预发布理论上和线上使用相同的数据库,避免因为数据源原因不足导致的测试漏测和发布失败。
- 线上环境 真实应用的线上部署环境
环境管理角色之坑
以上三种环境基本上都是互联网公司的必备的开发测试流程中很重要的三套环境。其实这里面有几个坑点需要特别注意
- 坑点一:测试环境是开发维护、预发和线上是运维维护
1,测试环境是开发维护,所以测试人员在环境过程中一点没有参与过程,对环境部署和系统架构一点无参与,直接导致测试无法参与到问题排查过程;
2,开发维护测试环境部署过程都会比较随意,因此系统复杂之后,部署过程非常耗费时间。
- 坑点二:测试环境是测试维护、预发和线上是运维维护
1,测试环境的部署方案和线上不一致,导致测试环境在发布过程中,有可能出现因为环境依赖而导致的问题无法在测试环境复现;
2,测试环境的部署都是测试进行,测试在过程中成为瓶颈;
- 坑点三:运维统一维护三套环境
1,开发和测试都对环境过程不介入,导致环境导致的问题调查成本高
2,同坑点一,测试角色介入度太浅
按照上面来说,看起来开发、测试、运维三个角色好像都不合适对测试环境进行管理,那怎么是一个合适的方案呢?
我认为合适的方案要有如下要素:
1,测试维护

测试环境管理在软件发布中至关重要,合理的流程能提升效率。文章探讨了环境管理的分类,强调了测试、预发、线上环境的区别,并指出开发、测试、运维各自维护环境的坑点。提出理想的解决方案应包括标准化的管理工具、一致性的部署模板和自动化部署。随着环境复杂度增加,出现了基于Docker的标准化部署方案,但带来了新的挑战。后续将深入讨论环境管理的更多问题。
最低0.47元/天 解锁文章
268

被折叠的 条评论
为什么被折叠?



