读完需要

12

分钟

速读仅需 4 分钟

大家可能关注到双态 IT 联盟前一阵发布了一个测试敏捷化成熟度评估模型,不断有小伙伴问到我关于这个成熟度评估的问题,我发现大家很自然地把这个跟敏捷测试成熟度画上了等号,不过这不是 Thoughtworks 开发的,我也不是很清楚。为此,我特地进行了一番调研,希望我这篇文章的解读能解答大伙大部分的疑问。

我们先尝试从字面意思来理解一下,对于以下两个术语大家都比较熟悉:

数据匿名化 => 匿名数据:通过匿名化技术对数据进行处理,使得数据变成匿名的,也就是得到匿名的数据

存储虚拟化 => 虚拟存储:通过虚拟化技术对存储进行处理,使得存储变成虚拟的,也就是得到虚拟的存储

这两个例子,相信大家都能理解没有问题。关于测试敏捷化,类似地,从字面意思可以这样理解:

测试敏捷化:通过敏捷化的方式(可能包括技术、流程、实践等)对测试进行处理,使得测试变成敏捷的,得到了“敏捷的测试”

那么,“敏捷的测试”是否等同于“敏捷测试”呢?从字面意思来看,似乎是等同的。但事实如何,需要对两者有深入的理解才可以下定论。

01 相关概念

1. 敏态与稳态

为了更好地解释,有必要先介绍什么是敏态与稳态。

在数字化转型时代,企业一方面需要适应数字化时代快速变化的市场需求,另一方面需要保持关键业务的安全可靠和稳定性,传统的 IT 需要同时适应这两种业务形态,面临很大的挑战。为了应对这种挑战,Gartner 公司提出双模 IT(Bimodal IT) ( https://www.gartner.com/en/information-technology/glossary/bimodal )的理念:

  • 模式 1:专注于可预测性,针对更可预测和更易于理解的领域进行了优化

  • 模式 2:探索性的,尝试解决新问题并针对不确定领域进行优化

图片来源:https://twitter.com/gartner_inc/status/710557261018632192 ( https://twitter.com/gartner_inc/status/710557261018632192 )

传统企业数字化转型的常规做法是可预见性的业务使用传统瀑布式开发,称之为稳态;探索性的业务使用敏捷开发,称之为敏态。Thoughtworks 洞见安辉的文章《敏捷转型中的敏态与稳态》对此有比较详细的介绍。

当然,稳态和敏态的这种做法在业界也存在争议。Thoughtworks 数字化专家肖然在文章《数字化时代的科技双模,双模 IT 成为过去式》中指出:

  • Gartner 的双模 IT 并非对应于瀑布和敏捷两种开发模式,整个 IT 组织走向敏捷是数字化时代的必然。

  • 双模 IT 的提法确实已经不再适合于现代数字化业务的打造,问题不在“双模”,而在于将 IT 作为整个科技转型的出发点。

  • 数字化转型的核心是需要科技真正融入业务,成为业务发展的核心动力;需要从客户视角去洞察需求,用科技的手段创造未来,单方面聚焦传统意义上的业务或者技术都是南辕北辙的。

尽管如此,传统企业转型过程中,基本都会长期经历敏态和稳态共存的阶段,对转型有着积极的意义。从长远来看,最终还是需要转型到组织级的敏捷,实现真正的全流程端到端敏捷。

2. 敏捷测试

关于敏捷测试,引用 Wikipedia 的两段话:

Agile testing is a software testing practice that follows the principles of agile software development. Agile testing involves all members of a cross-functional agile team, with special expertise contributed by testers, to ensure delivering the business value desired by the customer at frequent intervals, working at a sustainable pace. (敏捷测试是一种遵循敏捷软件开发原则的软件测试实践。敏捷测试涉及跨职能敏捷团队的所有成员,由测试人员贡献特殊专业知识,以确保以可持续的速度频繁地交付客户所需的业务价值。)

Agile development recognizes that testing is not a separate phase, but an integral part of software development, along with coding. Agile teams use a "whole-team" approach to "baking quality in" to the software product.(敏捷开发认识到测试不是一个单独的阶段,而是软件开发的一个组成部分,与编码一起。敏捷团队使用“整个团队”的方法来将质量“烘焙”到软件产品中。)

从 Wikipedia 的定义可以看到:

  • 敏捷测试不是针对测试人员,而是整个敏捷团队的所有人员;

  • 敏捷测试不是指测试这个独立的环节/阶段,而是跟编码一起同属于软件开发的一部分;

  • 敏捷测试不是通过测试验证去保障质量,而是强调质量内建。

同时,Thoughtworks 的资深 QA 们基于多年敏捷团队开发实践经验提炼出的《敏捷测试宣言》,非常清晰的表述了敏捷测试的价值观:

敏捷测试是基于敏捷价值观“快速高效地交付更大的价值”这个目标,所开展的所有质量相关活动,是从团队的角度去思考如何实现这个目标,而不再是以测试这个活动/角色的角度出发,不能简单地理解为“敏捷的测试”或“敏捷地测试”。

关于敏捷测试的更多详细内容,欢迎参考刘冉老师的《Thoughtworks 的敏捷测试》文章和我的《敏捷测试》系列 文章。

3. 测试敏捷化

测试敏捷化这个概念来自于双态 IT 联盟发布的《测试敏捷化白皮书》 ( https://doc.mbalib.com/view/974214a58e7fa0beb06d19b1a72a2047.html )(以下简称“白皮书”),这里直接引用该白皮书中的内容来解释测试敏捷化。

(以下粉色背景斜体部分引用段落全部来自白皮书原文)

测试敏捷化是指在与软件生命周期所有交付品质相关的活动中,通过对组织、文化、流程、技术等要素进行优化与改进,使得测试能够贯穿于研发全过程并与上下游团队高效协作;能够在业务与技术水平上持续提升,达到自我驱动、灵活赋能、快速交付、高效稳定的最终目标。

测试敏捷化这个概念第一次在业界提出,强调测试应作为一个赋能主体,具备全局眼光,通盘思考通过测试敏捷化赋能的方式为快速迭代、持续交付过程提供支撑。

测试敏捷化提出本质是跳出被动测试思维,更加关注测试真正的价值。测试不仅是完成被分配的测试任务,而更应该看到测试可以作为独立主体为研发一体化赋能,以此实践和推动 IT 组织的敏捷化。

测试敏捷化,即未来测试应考虑如何独立地建自身能力,以赋能为手段对外部输出,提供安全、稳定的质量和效率服务。

从前面引用的内容来看,测试敏捷化是将测试作为独立主体,从测试的角度出发来考虑优化和改进。

基于白皮书的内容,双态 IT 联盟发布了相应的成熟度评估模型,这个成熟度评估也是基于测试的几个维度进行的:

图片来源:https://mp.weixin.qq.com/s/__-3Ix1TEoNBOzlXRDxC9A

到此,我们可以比较清晰地看到测试敏捷化是围绕测试在解决问题,考虑的更多是测试价值的体现。

02 测试敏捷化 VS 敏捷测试

了解了概念,再来从背景、目标、主体、关注点和适用范围这几个维度集中对比一下测试敏捷化与敏捷测试:

从上表我们不难看出测试敏捷化与敏捷测试具备较大差异:

1. 背景与目标

敏捷测试是产生于敏捷软件开发模式,在这种新型开发模式下需要考虑如何满足质量保障的需求,自然而然产生了敏捷测试。敏捷测试是遵循敏捷价值观的,其目标也是跟敏捷开发一致,那就是快速高效地交付更大的价值。

测试敏捷化则是在数字化转型过程中敏稳两态共存的情形下,传统 IT 稳态模式的测试团队面临转型挑战,旨在帮助测试团队实现转型。因此,测试敏捷化的目标主要是为了体现测试的价值,提升测试团队的敏捷能力。

2. 主体与关注点

为了实现目标,敏捷测试以全功能的敏捷开发团队为主体,关注软件开发全生命周期的质量相关活动。敏捷测试不再是以测试这个检验环节/活动为主,不会强调某个独立角色,而是要求团队整体为质量负责,实现测试左移、持续测试和测试右移,快速获取反馈,从而真正实现软件产品的质量内建。

而测试敏捷化是以测试作为独立主体,以测试的角度出发考虑优化改进,主要关注点包括测试需求、测试计划、测试设计、测试执行等测试过程,以及环境、数据、技术、工具等测试的支撑。

3. 适用范围

如上面数字化转型示意图所示:

敏捷测试产生于敏捷开发模式,必然适用于纯敏态的开发团队。同时,敏捷测试的一些方法和实践,也可以被稳态团队所借鉴并适当采用。

测试敏捷化由于背景、目标、主体和关注点都不同于敏捷测试,是不宜用于敏态开发环境的,只适用于稳态环境。

03 测试转型的正确方向

数字化转型的确给传统测试团队带来很大的挑战,一方面要配合敏态团队实现测试开发融合,另一方面还要面临稳态测试如何优化改进的问题。

测试敏捷化虽然在一定程度上帮助转型中的稳态测试团队,但是不能从根本上帮助转型的实现。另外,前面提到敏稳双态共存模式不过是转型中的一个过渡阶段,是否要为这种过渡时期的稳态模式投入较多精力,请深思而前行。

测试要实现转型以适应敏捷开发模式,不能只是测试人员的转型、也不能只是测试工作方式的转型,只有改变文化理念和认知方式、调整组织架构和沟通方式、优化流程和策略、采用有利于快速反馈的工具与实践,按照由内而外的“道”->“法”->“术”->“器”方向实现彻底的转型,才有可能实现真正的敏捷测试。这个内容我在文章《数字化转型背景下的测试转型》 里有非常详细的介绍,请移步阅读。

04 写在最后

敏捷测试不是“敏捷的测试”,也不是“敏捷地测试”,而测试敏捷化是“敏捷地测试”,两者不等同。

测试敏捷化的背景、目标、主体和关注点都不同于敏捷测试,是不宜用于敏捷开发模式的,只适用于传统企业的稳态模式,也不能帮助稳态团队实现敏捷转型。而敏态、稳态共存本身就是数字化转型的过渡阶段的产物,因此在稳态测试团队采用也需要谨慎前行。

传统测试的真正敏捷转型需要遵循“道”->“法”->“术”->“器”方向、实现由内而外的转变才能实现。

测试敏捷化 vs 敏捷测试相关推荐

  1. 敏捷开发过程中的测试

    Choerodon的测试管理主要为用户提供敏捷化的持续测试工具,包括测试用例管理.测试计划.测试分析等,可以有效地提高软件测试的效率和质量,提高测试的灵活性和可视化水平,最终减少测试时间,让用户将主要 ...

  2. 规模化敏捷发展三部曲:敏捷领导力、运转敏捷和整体敏捷

    多数公司领导如今对敏捷创新团队都有所了解.敏捷创新团队规模较小.具有创业性质,和客户关系密切,能快速应对多变的商业环境. 若应用得当,敏捷团队相较于传统部门,具备以下优势:生产率更高.士气更高.产品交 ...

  3. itest work(爱测试) 开源一站式接口测试敏捷测试管理平台 9.0.5 GA 发布

    (一)itest work 简介 itest work (爱测试)  一站式工作站让测试变得简单.敏捷,"好用.好看,好敏捷" ,是itest wrok 追求的目标.itest w ...

  4. 专访|HPE测试中心总监徐盛:测试新思维-DevOps,持续测试,更敏捷,更快速

    2016年7月22日,「HPE&msup软件技术开放日」将在上海浦东新区,张江高科技园区纳贤路799号科荣大厦小楼2楼举办,msup携手HPE揭秘全球测试中心背后的12条技术实践. 徐盛:HP ...

  5. 高效的敏捷测试第十一课 敏捷测试分析、策略和方法

    第26讲:基于上下文驱动思维的测试分析 从这一讲开始,我们就进入了第 5 部分内容的学习:敏捷测试分析与计划.在这一部分你将学到:测试需求分析.测试风险的识别.测试策略及测试计划的制定.今天先从基于上 ...

  6. 敏捷项目如何保证测试质量

    关于敏捷项目,是迭代更新快,每个迭代都会有新的内容,或是业务需求,或是代码优化,我们身为测试,要在每个迭代的测试中,保证每个迭代的测试质量. 测试质量,包括这次迭代的改动不影响已有的功能,以及增加的功 ...

  7. 法国敏捷开发与敏捷测试模式

    [本文未经作者同意,不得以任何形式转载或发布,本文作者版权归作者所有,若转载此文,请联系QQ 252413619,以前授权转载本博客文章的公司,若转载此文,请再与本人联系,谢谢,麻烦啦!] 作为一名有 ...

  8. 如何在敏捷环境中使用测试指标

    目录 翻译内容 What Is Agile Testing and an Agile Test Plan? 什么是敏捷测试和敏捷测试计划? Agile Testing Metrics 敏捷测试指标 B ...

  9. 深聊测开领域之:一文搞懂什么是敏捷测试,如何做敏捷测试,建议先收藏再学习。

    敏捷测试 1.引言 2.解析敏捷测试 2.1 含义 2.2 特点 2.3 为什么要进行敏捷测试 2.4 敏捷测试与传统测试对比 2.5 如何迁移敏捷测试 2.6 敏捷测试成功因素 3.总结 1.引言 ...

最新文章

  1. [AWK]使用AWK进行分割字符串以及截取字符串
  2. MySQL 通配符学习小结
  3. leetcode 474. 一和零(dp)
  4. 蓝牙连接不上车要hfp_鹅厂又要霸屏,连接四部剧将袭,冲着主创颜值不追不行啦...
  5. eclipse打开文件所在目录
  6. centos7源码安装mysql8.0_CentOS7下源码安装MySQL 8.x
  7. 第一个ncurses程序: hello world !!!
  8. hadoop、hbase、hive、spark分布式系统架构原理
  9. 谷歌收购DNNresearch能获得什么?
  10. 软件需求分析(补发)
  11. 纯前端实现—用户注册登录界面
  12. 电桥测量电路Multisim仿真AD电路原理图PCB
  13. java面试问题与心得
  14. word文档中表格计算机功能在哪,word文档筛选功能在哪里
  15. 阿里云——杭州云栖大会
  16. 单片机——C51实验含Proteus仿真(独立键盘,矩阵键盘)
  17. 手机查看pcap文件_java抓包后对pcap文件解析示例
  18. 利用开源工具搭一套汉英翻译系统(三):语言模型工具SRILM
  19. Windows SDK DDK WDK (Windows Driver Kit) 区别
  20. 成都程序员双色球中2682万!号码是电脑算出来的?

热门文章

  1. EF Core 关联数据
  2. miui主题风格_一种android系统换肤功能的设计,董红光:MIUI主题风格.pdf
  3. Linux Debian利用Dockefile将Python的py文件项目代码打包为Docker Podman镜像
  4. access2010与mysql_计算机文化基础(第六章数据库系统与Access2010)
  5. 开心手机恢复大师将iPhone手机误删照片恢复的具体操作方法
  6. 虚拟现实汽车模拟仿真项目
  7. java关于安卓,苹果输入表情数据库处理
  8. 一秒学会给自己的PDF文档加密!
  9. 分享一段wave降噪处理代码
  10. 用信号量解决进程的同步与互斥探讨【持续更新】