2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

你在过度测试你的软件吗?

  • 2015-07-16
  • 本文字数:1039 字

    阅读完需:约 3 分钟

发布候选测试需要花费很长时间,这是许多敏捷团队都面临的一个最大的挑战。但据 JavaWorld报道,许多公司都通过持续交付模型消除或极大地减少了发布候选测试,而且它们有一些共性:

  • 使用测试工具:有许多测试工具可以执行软件,贯穿软件的基本流程。因此,选择恰当的自动化检查工具非常关键,而其目标是降低风险,快速执行,减少手工维护的工作量。
  • 将工具钩连到构建系统:等待构建完成再手工执行检查会浪费大量的时间,而在每次构建时自动检查可以消除这种浪费,最好是有一个自动化的检出 / 构建 / 部署 / 测试 / 推广管道。
  • 从根本上消除回归错误:利用减少发布候选测试节省出的时间改进开发实践。
  • 开发可单独部署的组件:借助组件,每个变更都是相互隔离的。变更影响范围小,降低了部署风险,使得部署或回滚过程更可控。
  • 根据风险划分测试 / 部署策略:不同的功能可能需要不同的测试策略或过程,高风险、发布频率低的变更可能需要更严格的测试过程。 Zappos(Amazon 的一个部门)很久之前就采用了这种方式
  • 持续监控生产环境:缺陷代码在生产环境中存在的时间越长造成的损害越大。如果团队可以快速发现并修复缺陷,那么风险将大大降低。
  • 自动部署和回滚:通过几次点击就可以实现部署或回顾。
  • 配置标识:程序员在编码时将新特性封装在一个if()语句中,然后就可以通过将配置标识设置为“On”或“Off”来启用或关闭特性。感兴趣的读者可以阅读下这篇文章
  • 增量滚动发布:将配置标识与不同的用户关联,就可以实现为不同的客户提供不同的功能。感兴趣的读者可以看下微软的做法

当然,并不是在任何情况下都可以消除发布候选测试。在某些情况下,需要在测试时间和发布风险之间进行权衡。也就是说,要根据风险制定灵活的发布候选测试策略。

对于 JavaWorld 的报道,有网友提出了不同的意见。Steve Naidamast 认为:

这个消除或减少应用程序的建议跟实际的测试过程一样复杂,甚至更复杂……此外,由于能力的不足或工具的缺陷……,会引入新的问题……

而网友 Chris Riley 则认为该报道具有误导性:

第一,它没有建议我们减少测试,而只是将测试移到了管道中的不同位置。第二,持续交付并不适合所有人……这看上去是个不错的理想,但可能会误导 R&D 主管在没有备用计划的情况下错误地削减了 QA 职位。


感谢徐川对本文的审校。

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

2015-07-16 08:562657
用户头像

发布了 1008 篇内容, 共 419.1 次阅读, 收获喜欢 346 次。

关注

评论

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

京东商品评论数据接口(JD.item_review)丨京东API接口

tbapi

京东商品评论数据接口 京东商品评价接口 京东商品评论API 京东商品评价API 京东评论API

实时数仓投放主备链路Diff测试工具落地实践

得物技术

AI 数据

逻辑回归算法是什么呢?

小齐写代码

软件测试/测试开发丨Python 列表

测试人

软件测试 测试开发

【原理篇】Supabase关联查询:内联、外联及外键约束

张文平

外键 Function 关联查询 Supabase Postgrest

数字孪生开发:基础知识、类型、优势和成本

3D建模设计

3D数字孪生场景编辑器 3D场布工具 3D场景搭建

营销创意素材如何秒级智能生成?即时创意白皮书来了!

京东科技开发者

程序员会不会被人工智能取代?

ZA技术社区

程序员 #人工智能

2024你好!

鲸品堂

强大的数据库管理工具:DBeaver破解版

南屿

数据库 DBeaverEE 破解软件

SVN客户端 smartsvn mac破解版 附许可文件 兼容M/intel

南屿

svn Mac软件 SmartSVN mac破解版 SmartSVN下载

玩转数据世界:跨工作空间的安全授权与高效查询

观测云

数据可视化 数据授权

开启安全功能 ES 集群就安全了吗?

极限实验室

console 集群

干货|EasyMR 基于 Kubernetes 应用的监控实践

袋鼠云数栈

大数据 Kubernetes 云原生 可观测性 Promtheus

用友BIP全球司库助力陕西建工控股集团打造世界一流司库体系

用友BIP

全球司库

技术文档指南:版本说明、网站文案、FAQ、案例研究与内容优化

小万哥

程序人生 软件工程 后端开发 技术写作 文档指南

好用的视频下载和转换器:YT Saver 中文直装版

胖墩儿不胖y

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

2024-01-03:用go语言,给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time, 分别表示给 n 堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠, 一位需要 付费 的油漆匠

福大大架构师每日一题

福大大架构师每日一题

支持M/Intel mac的Netflix 奈飞客户端 v2.13.0激活版

南屿

Netflix Mac激活版 macOS 播放客户端 网飞

为何 DevOps 会给开发人员带来压力和倦怠?

不在线第一只蜗牛

架构 DevOps 开发

【原理篇】Supabase应用开发为什么要配置RLS

张文平

权限 PgSQL Supabase 访问权限 Postgrest

Microsoft 365 (原office365) Mac版 v16.80正式破解版下载

南屿

Office Microsoft 365 office许可证 office365破解版

软件测试/测试开发|一文带你了解Python列表操作

霍格沃兹测试开发学社

【介绍篇】Supabase与Firebase的关系和区别

张文平

数据库 云服务 Baas Supabase firebase

JAVA开发工具Eclipse和MyEclipse

小魏写代码

商智C店H5性能优化实战

京东科技开发者

前端

数字孪生技术详解

3D建模设计

3D数字孪生场景编辑器 3D场布工具

你在过度测试你的软件吗?_研发效能_谢丽_InfoQ精选文章