站在DevOps肩膀上的TestOps(二)
一十一
发表于 2018-03-14 16:40:22
摘要:
TestOps模型旨在将整个团队的注意力集中在质量上,因此TestOps确实需要无缝且可靠。 一个简单的例子是任何测试框架必须足够可靠,以至于很少有停机或连接问题。 无论何时,如果评估失败,或者延迟发布版本的反馈,都会对系统的有用性产生不好的印象。 这使TestOps团队的心态变得至关重要。
TestOps工具
对于TestOps团队来说,最重要的活动就是准确提供产品团队测试和接收反馈所需的工具。 对于敏捷产品团队和微服务的出现,出现了对新型测试基础架构的需求,而不是传统模型,其中测试环境取决于整个应用程序堆栈的可用性。
最重要的是,新组建的TestOps团队需要规划一个工作流程。
对于DevOps,构建系统是所有团队创建发布工件并执行较低级别测试的核心应用程序。 在功能测试工作流程方面,考虑到这些测试的长期运行并且通常很脆弱,从而阻碍了在失败测试中完成构建是一个问题,考虑到这一点,功能测试作为构建系统的后期过程被启动,并且因此 要求TestOps构建一个基础架构,不仅要从DevOps系统中提示它,而且要尽可能与其集成,以便为团队提供透明的工作流程。
图2 - 新测试和部署工作流程,同步DevOps和TestOps工具

要充分认识到这一无缝工作流程的价值,团队必须指定他们想要测试的内容以及何时进行测试 一个规范必须存在,TestOps可以以编程方式理解消除由人为干涉来配置测试所引起的延迟,其中包含如下详细信息:
定义运行测试的时间 - 每次提交,或者每当指定的标识符(在这种情况下,Github标签/版本存在)及其子集
给定的版本/模块/功能的测试边界
测试计划中都包含哪些技术
需要什么测试运行器命令
这些测试将使用哪种服务模板 - 基本上需要执行这些测试的资源和环境,例如服务器,Docker镜像等等
然后TestOps可以将这些要求转化为在构建完成后立即开始测试,测试可以在没有人为干预的情况下开始,此时QA的任务是审查测试结果。
大多数团队的功能都不足以孤立地工作,很多都依赖于外部服务。能够确保对测试和任何消费者的变更的信心是一个挑战,特别是当这些消费者通常不在同一位置或代码库时。 TestOps应该提供一种机制来配置其他模块测试可以在后期构建中使用,以确保一致性,并在没有人工干预的情况下彻底根除下游消费者的任何中断变化。 该配置最好放置在与其他测试配置相同的位置,即前面部分中提到的测试规范。 这个规范是消除风险的另一个项目,因为产品团队在大多数情况下应该最清楚他们所做的更改与哪些应用程序/平台交互的部分。
TestOps文化
在DevOps和TestOps之间基础设施的两个方面,剩下的部分是文化上的变化,以确保所有产品团队都能看到这个系统的好处,他们都投资于追求质量。最终的理想之处是能够在没有质量保证干预的情况下发布软件,因为整个团队都在测试覆盖率和质量方面投入了大量资金,DevOps / TestOps工具允许对发布状态作出快速准确的反馈。
评估
由于测试和发布工具的变化,我们已经摆脱了不规则的发布时间表,我们平均每周发布两次。 我们现在每周都会连续四次发布产品。
将构建自动部署到测试环境会减少从构建完成到测试的平均时间,从构建完成和测试开始到平均延迟为零,平均延迟1天,测试从构建完成后立即开始。 这使得测试版本平均提前1天准备发布。
测试和发布管理工具的这些优势和其他效率提升,我们减少了交付到生产的平均时间,从平均一周到一个工作日
Docker容器立即可用于运行测试,测试问题可以实现即时反馈
自开始这项工作以来,我们成本降低了20%
找到TestOps适合测试场景,而不会妨碍开发工作流程。 通过TestOps保障交付质量,确保团队有权随意发布,同时保持我们产品的质量水平 客户期望。
![]() |
TestOps中文社区公众号 |
| 微信 : wonter | |
| QQ群 : 632418478 |
站在DevOps肩膀上的TestOps(二)的更多相关文章
- 站在DevOps肩膀上的TestOps(一)
一十一 发表于 2018-03-14 15:50:03 TestOps 摘要: DevOps团队的职责是“无摩擦发展”. 这是对“速度需求”驱动的发展理念的一种渴望,以及有意识地去除从概念到客户的 ...
- 站在BERT肩膀上的NLP新秀们(PART I)
站在BERT肩膀上的NLP新秀们(PART I)
- 站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma
这周Jerry在SAP上海研究院参加了一个为期4天的Kubernetes培训,度过了忙碌而又充实的4天.Jason,Benny和Peng三位大神的培训干货满满,借此机会,Jerry和过去的两位老领导P ...
- android开发利器--站在巨人肩膀上前行
本文主要介绍有助于android开发的三方平台和站点. 一:开发阶段 1:SVN(一个开放源码的版本号控制系统) 团队开发没有server,代码管理就没那么方便了,推荐taocode阿里开源站点,方便 ...
- react-native之站在巨人的肩膀上
react-native之站在巨人的肩膀上 前方高能,大量图片,不过你一定会很爽.如果爽到了,请告诉我
- 站在巨人的肩膀上,C++开源库大全
程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard Library:是一系列 ...
- 站在巨人的肩膀上看Servlet——原来如此(更适合初学者认识Servlet)
前言: 有段时间没更新博客了,这段时间因为要准备考试,考完试后又忙了一阵别的事,一直没能静下心来写博客.大学考试真是越来越恶心了,各种心酸,那酸爽,够味.不过还好,马上就要大三了,听大三学长学姐说大三 ...
- Android系统研究资料收集---站在前人的肩膀上
Android系统研究资料收集---站在前人的肩膀上 针对Android系统研究任务,收集高价值资料在本页更新 AuthBlog:秋城https://www.cnblogs.com/houser032 ...
- 站在巨人的肩膀上---重新自定义 android- ExpandableListView 收缩类,实现列表的可收缩扩展
距离上次更新博客,时隔略长,诸事繁琐,赶在去广州答辩之前,分享下安卓 android 中的一个 列表收缩 类---ExpandableListView 先上效果图: 如果想直接看实现此页面的代码请下滑 ...
随机推荐
- UniGUI的布局使用说明
(unigui的页面布局还是很强大的,基本什么的排版都能搞好.前面部分为原文章翻译,翻译不一定很准确,就能看吧,后面有使用说明,有什么不明白的欢迎加我QQ(910300653)一起交流学习) 一.布局 ...
- windows 批处理语言学习
程序员应该根植于心的一个理念是:重复的工作交给代码.windows上的批处理脚本就是这种理念的体现. 批处理bat能做的事很多,自动配置vs工程中的代码依赖环境,调用其它程序处理数据.自动编译代码等等 ...
- C# Autofac集成之Framework WebAPI
Web API 2集成需要Autofac.WebApi2 NuGet包. Web API集成需要Autofac.WebApi NuGet包. Web API集成为控制器,模型绑定器和操作过滤器提供了依 ...
- 迁移桌面程序到MS Store(5)——.NET Standard
接下来的几篇,我想讨论下迁移桌面程序到MS Store,可以采用的比较常见.通用性比较强的实施步骤和分层架构. 通常商业项目一般都是不断的迭代,不太可能突然停止更新现有的桌面版本,然后花很长时间从头来 ...
- spring boot开发笔记——mybatis
概述 mybatis框架的优点,就不用多说了,今天这边干货主要讲mybatis的逆向工程,以及springboot的集成技巧,和分页的使用 因为在日常的开发中,当碰到特殊需求之类会手动写一下s ...
- 如何在 SCSS 使用 JavaScript 变量/scss全局变量
Update2019/3/6:发现一个更好的方法,预处理器加载一个全局设置文件 官方github给出了详细的配置. 在 SCSS 中使用变量很方便,创建一个 variables.scss 文件,里面声 ...
- Liferay7 BPM门户开发之12:acitiviti和liferay用户权限体系集成
写到第12章才出现Liferay的内容,希望可以厚积薄发. 我们的目标是不使用不维护Activiti的用户组织架构,只维护Liferay的体系,这样的好处是非常明显的,即不用做组织架构的同步工作. 原 ...
- [转]KMP算法理解及java实现
这大概是我看的最好懂的KMP算法讲解了,不过我还只弄懂了大概思想,算法实现我到时候用java实现一遍 出处:知乎 https://www.zhihu.com/question/21923021/ans ...
- canvas与webgl坐标转换
1 canvas的坐标系 坐标原点在左上角,横轴向右为X轴正方向,竖直向下为Y轴正方向 2 webgl的坐标系 坐标原点在绘图区域的中心点,横向右为X轴正方向,竖直向上为Y轴正方向,横纵坐标区域范围为 ...
- VSCode配置Git随记
VSCode配置Git随记 2018年05月29日 10:14:24 Dominic- 阅读数:4096 vscode中对git进行了集成,很多操作只需点击就能操作,无需写一些git指令. 不过这 ...
