QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

从瀑布流到敏捷和 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:007663

评论

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

如何使用CSS和JavaScript实施暗模式?

互联网工科生

CSS JavaScript 暗模式

Java-WebSocket vs Netty-WebSocket 资源占用

FunTester

关于企业如何替换FTP和加速FTP的问题

镭速

替换FTP 加速FTP

技术干货:解密最受欢迎的开源 Serverless 框架弹性技术实现

阿里巴巴云原生

阿里云 开源 Serverless 云原生

用友BIP商业网络-银企联助力新钢联集团结算效率高效提升

用友BIP

银企联

2.0版本佛萨奇系统开发(源码搭建)

V\TG【ch3nguang】

为什么都在说实时数据传输?

RestCloud

ETL 实时数据 CDC

软件开发项目管理体系,支撑体系,测试体系文档大全

金陵老街

Mac电脑视频处理软件 VideoProc Converter 4K直装中文版

胖墩儿不胖y

Mac软件 视频处理工具 视频工具

CHM文件阅读器 CHM Viewer Star 免激活最新版

mac大玩家j

Mac软件 文件阅读器 文件管理软件

OpenHarmony Meetup深圳站招募令

OpenHarmony开发者

软件测试/测试开发丨ChatGPT自动生成基于PO的数据驱动测试框架

测试人

Python 人工智能 软件测试 数据驱动 ChatGPT

【问题记录】Nginx使用域名作为upstream时,需要配置SNI

陈德伟

nginx 虚拟主机 proxy_pass SNI

GitHub下载量从19暴涨到5W,这份架构师学习路线只用了一晚

程序员万金游

学习资料 #java #编程 #程序员 #学习

Spring扩展-Aware

玩转HarmonyOS专项测试,轻松上架“五星”高品质应用

HarmonyOS开发者

Spring扩展-BeanFactoryPostProcessor

文心一言 VS 讯飞星火 VS chatgpt (110)-- 算法导论10.2 1题

福大大架构师每日一题

福大大架构师每日一题

设计行业中如何保证图纸设计稿在数据传输中不会泄密

镭速

数据传输 文件传输

济源钢铁∣数智化转型实现超越周期的增长

用友BIP

智能制造

9月《中国数据库行业分析报告》已发布,47页干货带你详览 MySQL 崛起之路!

墨天轮

MySQL 数据库 oceanbase 国产数据库 StoneDB

“套壳”OpenAI,注定消亡!全球首个 20 万字大模型发布丨 RTE 开发者日报 Vol.63

声网

人工智能 RTE 实时互动

Infuse for Mac(音视频播放器) 7.6.1完整激活版

mac

苹果mac Windows软件 Infuse 多媒体播放软件

专家观点∣小议事项会计兼评用友事项会计中台产品

用友BIP

事项会计 冶金

智慧地球质押挖矿系统开发详情

l8l259l3365

动力电池电芯正负极缺陷检测

矩视智能

深度学习 机器视觉

IDO官网预售 设置您的IDO:开始您的IDO开发之旅

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 IDO代币预售

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