从技术趋势看质量赋能

本文首发于【林子的空间


敏捷团队的质量保障赋能》一文从敏捷价值观出发,结合Google、Amazon、Facebook等前沿大公司的质量赋能策略与实践,以及笔者多年在敏捷团队经历的赋能实践,跟大家一起探讨了敏捷团队质量保障赋能的必要性和落地策略。

本文通过分析近十来年《ThoughtWorks技术雷达》(以下简称技术雷达)上的各种技术、工具,从质量赋能角度来看相关技术发展所呈现出来的趋势,再次思考质量赋能该怎么做。

技术趋势

ThoughtWorks技术雷达

技术趋势主要有以下三个方面:

  • CD技术、DevOps工具使得软件开发呈现全流程标准化趋势
  • 大量测试和流程自动化工具助力标准化的实施
  • 系统韧性成为质量的一部分,测试不再是质量保障的唯一方式

软件开发的全流程标准化

随着持续集成、持续交付、DevOps技术的发展,技术雷达上一系列的标准化技术和工具被采纳,主要集中在流水线以及流水线上的标准化工具(代码格式、提交规范等),包括专用于移动应用的流水线技术和工具,另外有平台级的方案——集成多套工具集的Azure DevOps和适用于机器学习的一整套端到端的持续交付策略CD4ML(机器学习的持续交付)

标准化技术及工具的发展

其中,需要重点提及 Build pipelines(构建流水线)Automated deployment pipeline(自动部署流水线)技术,这两个技术打通了从代码到发布的全流程标准化,具有标志性的意义。下面是技术雷达对这两项技术的描述:

  • Build pipelines 构建流水线

在过去两年多的时间里,持续集成工具和平台的激增导致了构建和发布领域的实质性创新。 版本的分发就是其中之一,而另一个是可以在构建版本的各个阶段更好地利用自动化的方式。 构建流水线有助于更好地了解每个构建的质量以及所部署的环境。 构建流水线模因的自然扩展是采用持续部署技术,旨在将构建流水线扩展到生产环境中。 这依赖于内置在持续集成工具集中的自动部署技术和授权机制。 关键优势之一是能够快速可靠地将新功能投入生产环境。

  • Automated deployment pipeline 自动部署流水线

采用持续交付意味着许多团队正在创建一个自动部署流水线,将代码一直带到生产环境中。流水线使得复杂的构建和部署活动链可以可视化,还具有可靠地跟踪每个阶段都会进行的构建工件的能力。已经有多家供应商在构建CI服务器,这些服务器不仅支持视觉元素,而且还把流水线视作一等公民。我们建议团队仔细研究这些产品,以避免浪费时间在没有足够支持的情况下将流水线塞入工具中。

大规模自动化助力标准化

全流程的标准化使得自动化更加容易,而大规模的自动化助力标准化更好的开展。自动化分为流程自动化和测试的自动化,从技术雷达上可以看到大量自动化相关技术和工具。其中流程自动化主要体现在基础设施管理和测试相关的工具、X即代码的方便自动化的技术、流程环节的自动化工具——自动发布和自动依赖检查等,测试自动化则包括测试分层技术、不同测试类型的技术和工具——消费者驱动的契约测试、API测试、前端测试、WebUI测试、性能测试工具等。

自动化技术与工具的演进

其中,要要特别强调的是Test at the appropriate level(合适的测试分层)技术,测试分层是精益测试、提高测试有效性的关键技术,对自动化测试的开展有着至关重要的作用。下面看看技术雷达怎么说:

  • Test at the appropriate level 合适的测试分层

行为驱动设计BDD测试框架Cucumber的出现与浏览器自动化工具Selenium相结合,使得人们在浏览器级别广泛编写验收测试。但是,在运行测试成本最大的级别实现大量的测试是不合适的。 相反地,应该在尽可能接近代码的适当级别进行测试,以最大效率地运行测试。自动化测试应该由在合适层执行的验收和单元测试支撑,而浏览器级别的测试只是锦上添花。

系统韧性成为质量的一部分

随着业务形态、数据复杂度、技术架构和基础设施的发展,软件系统所处生态的日益复杂,不确定性因素增加,软件系统没法通过测试来保障100%的可靠性和正确性;另一方面,对速度的要求越来越高,从一个点子到开发出产品交付给最终用户的时间越短越好,同时,速度上的质量备受关注,快速获取反馈成为关键。因此,提高系统韧性,尽早发布到生产环境,以利用生产环境独有的数据来获取反馈,尽快的优化是应对策略。

技术雷达上有很多体现这一趋势的技术与工具:可观测性和监控、混沌工程相关技术和工具,还有1%金丝雀发布等。

构建系统韧性的技术和工具

这里要重点介绍Focus on mean time to recovery(关注平均恢复时间)QA in production(生产环境下的QA)

  • Focus on mean time to recovery 关注平均恢复时间

传统上,运营团队希望缩短两次故障之间的平均时间。尽管避免故障显然仍然很重要,但是从云计算中获得的教训使我们期望发生故障,而将注意力集中故障的平均恢复时间上。持续交付自动化使发布快速修复程序变得更加容易,并且我们也看到了通过“生产环境免疫系统”快速发现故障的监控技术的增长。团队还成功地使用了语义监控和综合事务来以非破坏性的方式测试生产系统。这样,团队更有信心实现快速交付,可以减少对预生产环境测试的强调,并且对于已经发现的不断增长的安全漏洞列表的响应尤为重要。

从对平均故障间隔的关注转到对平均恢复时间的关注,表明快速获取反馈、快速交付、提高系统韧性的需求。

  • QA in production 生产环境下的QA

传统上,QA主要关注在预生产环境中评估软件产品的质量。随着持续交付的兴起,QA开始转变为需要分析生产环境中的软件产品质量。这包括监控生产系统,设置警报条件以预警紧急错误,确定正在发生的质量问题,以及确定生产环境中的度量指标。虽然有些组织可能会走得太远而忽略了生产前的质量保障工作,但我们的经验表明,生产环境下的QA对于持续交付已经发展到一定程度的组织来说是一种宝贵的工具。

生产环境下的QA包含多种方式,详情可以关注我之前的文章《生产环境下的QA》。

质量赋能利器

标准化和自动化是质量赋能的必要利器

前面三个趋势总结说来体现在两个方面:标准化和自动化,这跟《敏捷团队的质量保障赋能》中介绍的大公司实践是一致的。其中,标准化包括标准流程和标准实践,自动化涵盖测试自动化和流程自动化。

真正的赋能利器

标准化和自动化很关键,但只是涉及到技术和工具层面,有了这些技术和工具是不是就能给团队进行质量赋能了呢?我们先来看下面两个问题:

  1. 曾听到不少相关反馈,比如说组织购买了自动化工具,觉得可以提升效能,于是减少测试人员,但是发现效能并没有得到很好的提升,原因是工具没有得到有效利用;同样地,也有工具厂商反应他们的工具卖出去急需对使用工具的人员进行赋能,让其了解工具的正确打开方式,了解工具真正带来的价值体现在哪里。

  2. 另一方面,随着持续交付技术和DevOps工具链的发展,大量原来需要QA手动完成的事情都被自动化了,也就是说QA的工作逐渐被取代。在这样的趋势下,QA是否还有存在的价值成为颇受关注的问题。

基于这样的趋势现状,根据三级QA能力模型,QA需要从普通的质量保障工作者转变为质量倡导者,承担起赋能者的职责,去给团队不同角色进行质量赋能,帮助团队提高质量意识,更好地理解质量目标以及正确的质量保障方式。

因此,真正的赋能利器包括标准化、自动化和质量倡导者QA。

真正的赋能利器

质量赋能之道

团队的质量赋能是团队的事情,要实现成功的赋能会受到很多因素的影响,光有赋能利器还不够,更为关键的还有以下几个方面:

  1. 文化认知方面

要营造免责文化,鼓励团队成员创新、勇于试错,持续改进,不断发展。

要营造团队整体负责的质量文化,鼓励大家发挥主观能动性,行使质量所有权。

  1. 目标驱动

目标是引导团队往正确方向前进的关键,质量赋能需要有明确的质量目标驱动。要实现团队质量赋能,要做到团队为质量负责,质量目标需要在团队内达成共识,要让每个人都清晰理解这个目标。

  1. 策略指导

有了目标,还需要有清晰的质量策略来指导,团队在对策略达成共识的前提下,每个人发挥各自的优势,高效达成目标。

策略会受到多重因素的影响,每个阶段团队面临的急需要解决的问题也会不一样,显然策略需要适应这种不同,质量策略需要做到持续地演进。

  1. 能力建设

工具不能解决根本问题,人是非常关键的因素,组织要关注人员能力的培养。团队的质量赋能,需要团队进行充分地沟通和协作,要注意培养团队人员这方面的能力;另外,对于交付价值的正确理解至关重要,需要以价值驱动开展一切工作,包括人员能力的培养。


质量赋能之道

写在最后

关于团队质量赋能,需要谨记如下几个方面:

  • 团队质量保障赋能是大势所趋,组织需要引起重视;
  • 工具不是万能的赋能利器,QA需要转变为赋能者、质量倡导者;
  • 文化认知、质量策略、人员能力不能成为质量赋能路上的绊脚石。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容