TestOps
最后来说一下TestOps,到了这里可能大家都会大概明白了,虽然TestDev可以做好自动化测试,但是这个还是和以前Dev做的事情类似,能够确保自己的东西是自动化运行的,并不能有效的将这个测试工作与产品发布以及整个软件生命周期整合起来,更多的时候像是一个独立于体系外的流程。
DevOps给了我们很好的提示,仅仅做好自己的一块事情是不够的,在整个系统中影响的因素有很多,如果不能与Dev及Ops早期整合,测试所做的事情就仍然不能成为流程中的一个关键因素,从而导致质量把控的效果不能发挥。
作为TestOps的关键在于如何将质量控制的内容有效与平台、发布、监控整合,确保开发版本通过有效的自动化验证体系进入发布版本,而发布版本又具备相关监控内容支持测试需要。
这些工作在性能测试中是有部分体现的:
- 上线后的运维数据提供作为负载和性能指标的基础;
- 调优后的数据通过线上的结果进行进一步的验证;
大多数性能测试工程师都会在Dev、Ops、Test之间反复切换,从而做到有效的测试,知其然知其所以然。
所以TestOps或者TestDev都可以说是测试部门与别的部门的一种协调职位,这种职位能够有效的将对应的Ops或者Dev沟通协调起来,传统的测试经理的职位更偏向全或者是管理,而现在的职位更偏向技术,从职位规划上可以这样看待
而现在的职位定义应该是
在某些公司会把TestDev和TestOps称之为非功能测试,而现在是对非功能测试的细化。
TestOps需要会什么和做什么
简单来说测试运维需要会测试会运维,所谓的会测试是指应该具备一个高级测试所需要的所有测试技能而会运维能够掌握发布及平台管理中涉及到的运维知识。
现在各个公司有很多可以实现自动化测试的人员TestDev,也有很多能够熟悉业务设计测试用例的人员,但是这些测试都还是局限于用户需求以及独立测试的情况,作为测试运维需要解决以下几点:
1.快速构建测试环境的自动化平台
能够通过平台快速的完成各个服务器或者客户端版本的切换部署工作,解决测试中涉及到的环境问题。
2.快速构建测试所需测试数据的自动化平台
能够通过平台快速的完成各个系统所需要的各种数据的生成还原工作,解决测试中涉及到的测试数据问题。
3.快速切换测试版本
能够快速的切换发布版本,方便在各个版本之间切换或者同时存在,解决测试中涉及到缺陷定位及版本比较问题。
4.构建从研发到发布的全测试流程及测试规范体系
能够规范DevOps中关于质量流程验证所需要的测试内容及测试方法,通过标准等,解决上线自动发布中对于质量定义的权责。
最后补上一张图,关于DevOps、TestDev、TestOps的关系
TestOps是什么(1)