2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

  • 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:562876
用户头像

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

关注

评论

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

再见 Cursor,Qoder 真香!这波要改写 AI 编程格局

阿里巴巴云原生

阿里云 云原生 Qoder

想成为AI绘画高手?打造独一无二的视觉IP!Seedream 4.0 使用指南详解,创意无界,效率翻倍!

汀丶人工智能

YOLOv8+PyQt5睡岗状态智能检测平台搭建 | 睡觉行为自动监控系统【开箱即用】

申公豹

人工智能

干货预警!Apache SeaTunnel 助力多点 DMALL 构建数据集成平台,探索AI新零售行业应用!

白鲸开源

大数据 开源 数据同步 Apache SeaTunnel 多点DMALL

工业管理 项目管理经验总结(9)

万里无云万里天

项目管理 工业 工厂运维

绯闻女孩不只会八卦:从“验明正身”到“抓内鬼”,Gossip的进阶玩法

poemyang

分布式 分布式系统

MySQL迁移至GreatSQL后,timestamp字段插入报错解析

GreatSQL

黑龙江等保测评公司选择:适配需求的进阶策略

等保测评

哈尔滨二级等保:突破落地难点,构建长效安全机制

等保测评

成功案例丨Altair 一体机助力Mirus飞机座椅公司实现高效仿真与建模

Altair RapidMiner

人工智能 AI 仿真 CAE 航空航天

一文解码百度地图AI导航“小度想想”

百度Geek说

地图 百度地图

抛弃自定义模态框:原生Dialog的实力

掘金安东尼

用Comate Zulu开发一款微信小程序

Comate编码助手

微信小程序 AI 编程 文心快码 文心快码Zulu

文心快码入选2025服贸会“数智影响力”先锋案例

Comate编码助手

AI辅助编程 AI 编程 文心快码

Rust 中的 Tokio 线程同步机制

天翼云开发者社区

云计算 rust

工业管理 项目管理经验总结(10)

万里无云万里天

项目管理 工业 工厂运维

Rokid乐奇成为国礼的秘密,是握住美好数字生活的定义权

脑极体

AI

高金和嘉信理财发布第九年度《中国新富人群财富健康指数》

财见

鸿蒙应用开发从入门到实战(九):ArkTS渲染控制

程序员潘Sir

鸿蒙 HarmonyOS

数十万条数据秒级响应——Classact 在 Kubernetes 上的 NocoBase 应用实践

NocoBase

数据库 开源 HR 数据管理 客户案例

Apache SeaTunnel 2.3.12 发布!核心引擎升级、连接器生态再扩张

白鲸开源

大数据 开源 数据同步 Apache SeaTunnel 版本发布

2025云栖大会·大数据AI参会攻略请查收!

阿里云大数据AI技术

人工智能 大数据 阿里云 云栖大会

2026QS全球全日制MBA、商科硕士、在线MBA排名发布

财见

搜索百科(2):Apache Solr — 企业级搜索的开源先锋

极限实验室

搜索引擎 lucene solr 搜索百科 开源搜索

京东零售张科:Data&AI Infra会成为驱动未来的技术基石

京东零售技术

从“分散”到“统一”,中控技术利用SeaTunnel构建高效数据采集框架,核心数据同步任务0故障运行!

白鲸开源

开源 数据同步 数据集成 Apache SeaTunnel 中控技术

使用EventLog Analyzer进行日志取证分析

运维有小邓

从容应对极端挑战:从单机房到两地三中心的高可用架构设计与实践

Baidu AICLOUD

容灾 高可用HA

构建高可用发布体系

陈一之

架构师 安全发布

《企业 AI 应用构建指南》正式发布

阿里技术

架构 应用构建 LLM 企业AI 指南

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