AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

从瀑布流到敏捷和 DevOps,测试该如何改变

  • 2015-11-17
  • 本文字数:2025 字

    阅读完需:约 7 分钟

Laurent Py 在 Hiptest 上发表了博客《向左走向右走:测试的摇摆》,其中描述了当研发模式从瀑布流到敏捷到随后的DevOps,会如何影响测试。在敏捷测试日2015(Agile Testing Days 2015),他以此做了演讲。

InfoQ 采访了 Laurent Py,了解他们转型到敏捷和 DevOps 的原因和从“测试摇摆”获取的益处;在测试自动化策略和实施方便,如何通过度量行为改变,来找出一个特性是否是有价值的;以及他预计测试将会带来的特性。

InfoQ**:在博客中,你探索了当研发模式从瀑布流到敏捷和现在的DevOps对于测试的改变。你能详细描述下为什么会做出这样的改变?**

Py:这主要因为反馈的速度和精益启动的实践。10 年前我的团队使用 Java 和 Eclipse 进行产品开发。我们每年做两次发布。这个流程的问题是反馈速度。在几个月里,我们开发和创建一个“资产”。但是由于它还没有交付到用户手上,这个资产的价值为 0。从商业角度来说,当每年只有 2 次机会,我们很难快速适应和转变。

因此,最初我们采用了敏捷,同时简化了流程。从工程师角度来看,这是非常有益的,因为我们每两周会出一个工作产品。但是由于这些产品无法立即部署到生产环境,我们同样有反馈速度的问题。用户不会希望没两周就安装一个发布版本。

现在,团队在云上开发新的产品,一个为敏捷团队使用的测试管理平台( hiptest.net )。开发和运维协同工作,并且开始持续部署。由此,我们不仅有了优秀的工程流程,而且最终我们能够从用户获取反馈并且实时做出响应。对我来说,这就是实施敏捷和 DevOps 而获得的最大收益。

InfoQ**:你从敏捷和DevOps中得到了什么收益?**

Py:开发出产品是其一;将产品交付给用户是另一方面。因此获取快速反馈的能力,确实提高了团队的参与度。作为一个团队成员,我们能够看见所做功能的影响,并且不用再像以前那样,需要花费几个月才能得到结果。从工程角度来讲,这是非常困难的,并且需要许多训练,但这显然是值得努力的。我相信最终只有一个结局:用户和客户。介于二者之前的其他结果都不能算是成功。

InfoQ:你能解释下你所说的**“测试摇摆”**的含义吗?

Py:“测试摇摆”我主要想表示向左走和向右走。以前,测试基本上都在开发阶段之后和产品上线之前完成。目前,部分测试活动已经向左移:测试在开发阶段之前设计。这就是行为驱动开发(Behavior Driven Development,BDD)的实践。这能够使得团队成员对他们的最终产品的定义理解相同。所有利益相关方(测试、开发、产品负责人、市场)协作于:

  • 产品验收标准:样本
  • 商业验收标准:待验证的假设

然后,我们需要向右走:测试(A/B 测试)和直接在产品中监控。重要的是,我们有一个实时用户反馈(通过实时聊天),以获取以前可能无法获取的问题。有的时候,错误的行为可能不是源于代码的错误,而仅仅是一个坏的用户体验或者数据达到一定量的时候才会出现。由于我们有快速的反馈,并且拥有持续部署的能力,我们能够在出现问题的时候快速反应。

InfoQ:在博客中,你提到了你在通过度量用户行为的改变,来判断一个新功能对于用户是否是有价值的。对此能否给一些示例,说明你是如何做到的?

Py我们在 Hiptest 中加入了测试重构功能。这是一个关键的区分点,我们可以度量有多少用户真的使用了这项功能。但是度量影响是更重要的。我们已经度量到了,使用这个新功能的用户,增强了自动化水平,同时增加了 Hiptest 的使用度。因此,当开发一个新功能,并且度量它的价值,不仅仅是询问“是否有用户在使用?”,而是关于对我们商业上的影响和对用户工作流程的影响。

InfoQ:对于测试自动化,你的策略和实践是怎么样的?

Py:每个测试用例都应该讲一个关于应用程序的故事。当一个测试用例使用一致的业务术语定义(行为驱动开发实践),它的可读性会比较高,且容易自动化。这也是 Hiptest 支持的哲学。顺便说一下,我们使用 Hiptest 来测试 Hiptest,并且使用我们的测试脚本实现 100% 的自动化。自动化部分通过图形用户界面实现,余下的直接使用 API。当然,自动化测试用例和持续集成结合。再次强调反馈速度对于开发者来说是非常关键的。当开发者提交代码时,他需要快速知道这些代码是否破坏了什么东西。

InfoQ:你期望未来测试领域会给我带来什么?

Py我希望测试会更加面向商业。一些人担心质量保证岗位会消失。我认为这是一个机会——如果能把握住的话。如果一个功能没有使用,或者没有给产品带来显著的价值,在功能正确性和性能上投入大量精力又有什么意思?这是测试人员的批判性思维能够发挥作用的时候。为什么我们要构建这个产品?我们构建这个产品的假设是什么?如果答案是肯定的,那么确保正确性才有意义。

查看英文原文: How Testing Changed When Moving from Waterfall to Agile and DevOps


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-11-17 18:007613

评论

发布
暂无评论
发现更多内容

Ollama:打造本地开源大模型聊天应用的实践

百度开发者中心

人工智能 大模型 openai

Java HashSet 深入解析

小白牙

数据结构 后端 java‘

App自动化利器:Toast原理解析及操作实例,快速上手无障碍!

测试人

软件测试

究竟什么样的数据库,才能承接RTA广告这个技术活!

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 广告投放

Prompt工程师压箱底绝活——Prompt的基本组成部分、格式化输出与应用构建

飞桨PaddlePaddle

百度 百度飞桨 开发者说 Prompt 飞桨星河社区

一分钟了解深度算法

小齐写代码

跨平台整合:如何在不同系统中使用淘宝商品详情API

tbapi

淘宝商品详情接口

Java & Go泛型对比

FunTester

时下最火的App自动化利器:Toast原理解析及操作实例,快速上手无障碍!

测吧(北京)科技有限公司

测试

HarmonyOS卡片刷新服务,信息实时更新一目了然

HarmonyOS SDK

HarmonyOS

2024-03-20:用go语言,自 01背包问世之后,小 A 对此深感兴趣。 一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组。 每组中的物品只能选择1件,现在他想

福大大架构师每日一题

福大大架构师每日一题

1秒内审核3万条SQL:如何用规范识别与解决数据库风险?

NineData

数据库 sql 安全管控 研发效率 NineData

亮点功能: 私有节点&组织内节点

都广科技

DevOps

挖掘M2 Pro 32G UMA内存潜力:在Mac上本地运行清华大模型ChatGLM2-6B

百度开发者中心

人工智能 自然语言处理 LLM 语言生成

美国站群多IP服务器的优势与特点,助你在搜索引擎中领先

一只扑棱蛾子

站群服务器 美国站群多IP服务器 站群多IP服务器

iLogtail 2.0 来了;通义灵码下载量破百万丨阿里云云原生 2 月产品月报

阿里巴巴云原生

阿里云 云原生

【论文速读】| 增强静态分析以实现实用漏洞检测:一种集成大语言模型的方法

云起无垠

快速上手App自动化测试利器,Toast原理解析及操作实例

霍格沃兹测试开发学社

【堡垒机】企业购买堡垒机的七大需求你知道吗?

行云管家

网络安全 数据安全 堡垒机

2024内蒙古等保备案办理流程指引

行云管家

网络安全 等保备案 内蒙古

Programming Abstractions in C阅读笔记:p327-p330

codists

c 数据结构与算法

华为云GeminiDB新版本发布:全面支持Redis 6.2

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GeminiDB

概念回顾:物联网 (IoT)

NGINX开源社区

nginx 物联网 IoT API mqtt

OpenTiny Vue 3.14.0 正式发布,增加了 MindMap 思维导图等3个新组件

OpenTiny社区

vue.js 开源 前端 Web 组件库

九连冠!禅道再获2023年「常用测试管理工具」第一名

禅道项目管理

ai绘画免费图生图!一键生成免费可商用图片。

彭宏豪95

人工智能 办公软件 AIGC AI绘画 效率软件

从瀑布流到敏捷和DevOps,测试该如何改变_软件工程_Ben Linders_InfoQ精选文章