发现收藏不好用。。还是转吧。。

https://www.cnblogs.com/fnng/p/8232410.html

DevOps/TestOps概念

2018-01-07 22:02 by 虫师, 11 阅读, 0 评论, 收藏编辑

天下大势分久必合合久必分,早期的软件开发只有软件工程师一人完成,为了提高效率逐渐实行分工模式:开发、测试、运维。不同角色担任不同的任务。分工越来越细之后带来了问题也越来越突出,那就是各角色之间的沟通成本越来越高。而全栈工程师、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)自动化能力,提升测试效率。学习运维技术,能够独立部署和维护测试环境。

[转帖]DevOps/TestOps概念的更多相关文章

  1. DevOps/TestOps概念

    天下大势分久必合合久必分,早期的软件开发只有软件工程师一人完成,为了提高效率逐渐实行分工模式:开发.测试.运维.不同角色担任不同的任务.分工越来越细之后带来了问题也越来越突出,那就是各角色之间的沟通成 ...

  2. DevOps的概念

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

  3. [转帖]devops 容器管理平台 rancher 简介

    https://testerhome.com/topics/10828 chenhengjie123 for PPmoney · 2017年11月13日 · 最后由 c19950809 回复于 201 ...

  4. [转帖]spring基本概念精炼

    spring基本概念精炼 https://www.jianshu.com/p/3c30279d58cd jdk8.0 以及 spring5.0 之后已经使用java的注解方式 不需要使用xml配置文件 ...

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

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

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

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

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

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

  8. 【转帖】DevOps和SRE的区别

    DevOps和SRE的区别 https://zhuanlan.zhihu.com/p/87598465 DevOps 和 SRE 最近有一位朋友和我聊职业发展方向问题,聊了不少 DevOps 和 SR ...

  9. 新的征程TestOps

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

随机推荐

  1. HDU - 5078 水题

    题意:最大困难=距离 / 相邻时间 #include<cstring> #include<cstdio> #include<cmath> #define ll do ...

  2. Java逻辑运算

    逻辑运算是在关系运算基础之上的运算,能处理更加复杂的问题 逻辑运算的结果是 true 或 false 一.逻辑运算的种类: 在java的逻辑运算符中,有这么四类&&(短路与).& ...

  3. Redis漏洞,远程攻击

    文章转自http://blog.csdn.net/whs_321/article/details/51734602 http://blog.knownsec.com/2015/11/analysis- ...

  4. JavaScript高级程序设计学习(四)之引用类型(续)

    一.Date类型 其实引用类型和相关的操作方法,远远不止昨天的所说的那些,还有一部分今天继续补充. 在java中日期Date,它所属的包有sql包,也有util包.我个人比较喜欢用util包的.理由, ...

  5. PAT A1141 PAT Ranking of Institutions (25 分)——排序,结构体初始化

    After each PAT, the PAT Center will announce the ranking of institutions based on their students' pe ...

  6. Skyline中的GDAL

    安装Skyline的TerraExplorer Pro软件后,我们很容易在其安装目录中找到这样一些文件: gdal.dll.gdal_csharp.dll.ogr_csharp.dll.osr_csh ...

  7. Java中没有引用传递只有值传递(在函数中)

    ◆传参的问题 引用类型(在函数调用中)的传参问题,是一个相当扯的问题.有些书上说是传值,有些书上说是传引用.搞得Java程序员都快成神经分裂了.所以,我们最后来谈一下“引用类型参数传递”的问题. 如下 ...

  8. 内核里面writel(readl)是如何实现的

    writel和readl,这两个个函数实现在操作系统层,有内存保护的情况下,往一个寄存器或者内存地址写一个数据.先说一下writel:   在arch/alpha/kernel/io.c中有 void ...

  9. 转 edtools

     1.下载工具包:edtools.rar ,解压后放到磁盘的何意一个目录,如D:\edTools. 2.打开ED,打开“工具”-“配置用户工具”,在弹出的对象框中,在“组和工具项目”下拉框中选择一个工 ...

  10. .Net架构篇:思考如何设计一款实用的分布式监控系统?

    前言 无论从最早期的unix操作系统,还是曾经大行其道的单体式应用,还是现在日益流行的微服务架构,始终都离不开监控的身影.如windows的任务管理器,linux的top命令,都可以看作是监控的面板. ...