设为首页 收藏本站
查看: 802|回复: 0

[经验分享] DevOps/TestOps概念

[复制链接]

尚未签到

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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-828211-1-1.html 上篇帖子: C / C ++ 项目中的 DevOps 挑战 下篇帖子: devops发展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表