天下大势分久必合合久必分,早期的软件开发只有软件工程师一人完成,为了提高效率逐渐实行分工模式:开发、测试、运维。不同角色担任不同的任务。分工越来越细之后带来了问题也越来越突出,那就是各角色之间的沟通成本越来越高。而全栈工程师、DevOps/TestOps相关职位和概念的提出,本质就是把不同的工作集中在一个人身上,或者让一个人涉及到更多方面的工作,从而来降低这种沟通成本。

要想了解TestOps,必须要先了解DevOps。

DevOps 介绍

wikipedia解释:DevOps是一种软件工程文化和实践,旨在统一软件开发(Dev)和软件运维(Ops)。DevOps运动的主要特点是在软件构建的所有步骤中极力提倡自动化和监控,从集成、测试、发布到部署和基础设施管理。DevOps的目标是缩短开发周期,增加部署频率,更可靠的发布,与业务目标紧密结合。

Dev、QA、Ops的交汇处我们认为就是DevOps。实际上,DevOps就是把产品开发过程中各角色交汇处的活给干了,让各部门都专注于干他们自己的活儿。

DevOps与持续集成

DevOps是一个完整的面向IT运维的工作流,以IT自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。

DevOps 技术栈与工具链

只讲理论是非常空洞的,我们必须通过技术和工具将DevOps落地。这里整理了主流的工具,其中包括版本控制&协作开发工具、自动化构建和测试工具、持续集成&交付工具、部署工具、维护工具、监控,警告&分析工具等等,这里补充了一些国内的服务,可以让你更好的执行实施 DevOps 工作流。

  • 版本控制&协作开发: GitHub、GitLab、BitBucket、SubVersion、Coding、Gitee

  • 自动化构建和测试: Apache Ant、Maven、Selenium、UnitTest、JUnit、JMeter、Gradle、PHPUnit

  • 持续集成&交付: Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go

  • 容器平台: Docker、Rocket、Ubuntu(LXC)、第三方厂商如(AWS/阿里云)

  • 配置管理: Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible

  • 微服务平台: OpenShift、Cloud Foundry、Kubernetes、Mesosphere

  • 服务开通: Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat

  • 日志管理: Logstash、CollectD、StatsD、ElasticSearch、Logstash

  • 监控,警告&分析: Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana

除了这种技术和工具外,在项目中制定出符合DevOps的工作流程是关键,但是,这个东西没有固定模板的,不同的项目、不同的团队和公司文化流程和可能有所不同,只要符合DevOps的理念和思想,你们需要走出一条自己的路。

TestOps 介绍

TestOps主要目的是推动整个研发体系与发布体系更多在质量方面。可以这样理解DevOps是从研发推动配合运维和测试,而TestOps是从测试角度推动研发和运维。所以TestOps才是真正把测试落地到整个研发体系的关键岗位。

关于TestOps定义:测试运维,测试角度推动研发、运维、持续测试到持续集成。

新的趋势图:

测试与开发交叉的工作,通过测试驱动开发(TestDev)来进行。

测试与运维交叉的工作,通过TestOps来完成。

开发与运维交叉的工作,通过DevOps来完成。

三个角色交叉的部分工作,由god来做吧!哈哈。

TestOps技能

“TestOps”团队的本质是专注于提供所需的基础设施和平台所有级别的测试,从功能测试到集成测试,再到低级单元和API测试。

Dev能力:Java、Python、PHP、Shell

Ops能力:Jenkins、Docker、Maven、Ansible、Git、Linux

Test能力:测试用例、测试方法、缺陷生命周期、单元测试、接口测试、Selenium

TestOps未来的价值

团队价值:推动先进的团队协作方式,持续交付生命周期的把控,持续集成高质量要求。

个人价值:DevOps和TestOps技能,自动化测试推动持续交付,主导开发流程的生命周期。

DevOps能推动整个测试和运维团队统一整个研发流程,帮助团队更敏捷的提交产品。他能解决流程问题,但无法发现开发过程中的测试的缺陷。只有更专业TestOps的站在专业的测试角度推动开发和运维一起进行。TestOps和DevOps形成一个完整的持续集成和持续交付体系,才是真正提升整个团队的效率。

总结

最后,抛开这些概念,我觉得测试人员提升自己的综合能力才是关键:培养自己的编程能力,更早的介入项目测试(单元、接口),提高自己的(接口/UI)自动化能力,提升测试效率。学习运维技术,能够独立部署和维护测试环境。

参考:
https://www.cnblogs.com/what-/p/7780261.html

DevOps/TestOps概念的更多相关文章

  1. [转帖]DevOps/TestOps概念

    发现收藏不好用..还是转吧.. https://www.cnblogs.com/fnng/p/8232410.html DevOps/TestOps概念 2018-01-07 22:02 by 虫师, ...

  2. DevOps的概念

    DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.它的出现是 ...

  3. 站在DevOps肩膀上的TestOps(一)

    一十一 发表于 2018-03-14 15:50:03 TestOps   摘要: DevOps团队的职责是“无摩擦发展”. 这是对“速度需求”驱动的发展理念的一种渴望,以及有意识地去除从概念到客户的 ...

  4. 站在DevOps肩膀上的TestOps(二)

    一十一 发表于 2018-03-14 16:40:22 TestOps   摘要: TestOps模型旨在将整个团队的注意力集中在质量上,因此TestOps确实需要无缝且可靠. 一个简单的例子是任何测 ...

  5. 一篇文全面了解DevOps:从概念、关键问题、兴起到实现需求

    一篇文全面了解DevOps:从概念.关键问题.兴起到实现需求 转自:一篇文全面了解DevOps:从概念.关键问题.兴起到实现需求 2018-06-06 目前在国外,互联网巨头如Google.Faceb ...

  6. 新的征程TestOps

    TestOps 概念是什么时候提出来的没有去考察,知道TestOps测试运维是在DevOps这个概念下抽象的结果. DevOps,现在几乎每家公司都在谈DevOps,都已经实施,在实施,或者在准备实施 ...

  7. DevOps对于企业IT的价值

    其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...

  8. 给 DevOps 初学者的入门指南

    当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...

  9. DevOps的修炼之路!

    作为一名产品经理,首先要知道产品对于所属公司来说意味着什么,要探寻这个问题,我们又得知道和公司息息相关的是什么,在我的理解来看,与公司状况相关的因素有以下这些: 市场份额 平均订单金额 盈利能力 资产 ...

随机推荐

  1. Subquery returns more than 1 row

    Subquery returns more than 1 row表示子查询返回了多行数据 例如: select * from table1 where table1.colums=(select co ...

  2. Mecanim动画系统

    序言:Mecanim动画系统是Unity4.0之后退出的新版动画系统,非常适合人类动画系统.本文是作为自己的学习来讲解的, 可能会有些啰嗦,但尽量把自己的坑都为大家列出来,让大家理解透彻. 一.文件的 ...

  3. Web、WCF和WS通过Nginx共享80端口

    团队中的一个Web项目面对的用户网络环境多是在严格的防火墙安全条件下,通常只开放一些标准的端口如80,21等. 上线初期,因忽略了这个问题,除了Web应用是以80端口提供访问外,WCF和WS是以其他端 ...

  4. 编码中的setCharacterEncoding 理解<转自-fancychendong>

    1.pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码. 2.contentType="text/html;charset=UTF ...

  5. 关于系统首页绘制问题(ext布局+c#后台加入数据)经html输出流输出响应client

    关于系统首页绘制问题,业务需求 TODO 绘制系统首页(Main.aspx) 採用的技术:functioncharts+jquery+ext布局+c#+html 解说篇:1,服务端aspx,2,服务端 ...

  6. telematics product and company in China

    持续更新中. 总的来看后装OBD市场日渐繁荣,可是应用深度不够:前装infotainment受限于产量和商业模式,举步维艰. 车联网作为汽车信息化的起点,会有泡沫,也会在大数据和物联网的浪潮中逐步积淀 ...

  7. Java Annotation认知(包括框架图、详细介绍、示例说明)(转)

    本文转自:http://www.cnblogs.com/skywang12345/p/3344137.html 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annota ...

  8. Elasticsearch聚合——aggregation

    聚合提供了分组并统计数据的能力.理解聚合的最简单的方式是将其粗略地等同为SQL的GROUP BY和SQL聚合函数.在Elasticsearch中,你可以在一个响应中同时返回命中的数据和聚合结果.你可以 ...

  9. IntelliJ Idea 2017 注册码 免费激活方法

    1. 到网站 http://idea.lanyus.com/ 获取注册码. 2.弹窗中选择最后一个页面license server,填入下面一种链接即可: http://idea.iteblog.co ...

  10. springboot 项目maven 打包错误

    Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:repackage ...