NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

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

关注

评论

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

SparkStreaming流计算实战

小舰

4月日更

信息爆炸时代,如何更好地处理工作信息

LigaAI

程序员 产品经理 研发管理 信息处理

谁说没学历就进不了大厂?(双非渣硕四年crud经验已拿下阿里P6)面经分享

Java 编程 程序员 架构 面试

ARMv9刷屏——号称十年最大变革,Realm机密计算技术有什么亮点?

阿里云基础软件团队

测评:国内到底有没有能媲美Jira的测试管理工具?

PingCode

敏捷 研发管理 测试 研发管理工具 测试管理

智汇华云 | 看“新基建”如何将机房里的“老家伙”物尽其用

华云数据

inotifywait+rsync实现目录监听及同步

慢慢de

Docker rsync inotify 目录监听同步

Javascript执行机制-事件循环

Sakura

4月日更

hashmap遍历,关于网络优化你必须要知道的重点,Android岗

欢喜学安卓

android 程序员 面试 移动开发

NA公链NAC公链真正的100%史诗级匿名去中心化应用

区块链第一资讯

Spark中的累加器和广播变量

五分钟学大数据

spark 4月日更

2021 技术展望 | AV1 在 RTC 应用实践中的现状与展望

声网

RTC 2021年展望 RTE 2021技术

2021 技术展望 | 实时互动场景下,音频的技术变迁与机遇

声网

音视频 RTC 2021年展望 RTE 2021技术

android适配方案,Kafka是如何实现高性能的?全套教学资料

欢喜学安卓

android 程序员 面试 移动开发

类加载器和双亲委派模型

hepingfly

Java ClassLoader 类加载器 双亲委派模型

阿里P9这几个提高代码运行效率的小技巧我一直在用

Java架构师迁哥

2021 技术展望 | 2021,5G 将会倒逼传输协议、算法做出更多改进

声网

5G RTC 2021年展望 RTE 2021技术

知乎转载超30W次!金三Java面经汇总:拼多多(三面)/蚂蚁金服(四面)/字节跳动(二面)

Java架构追梦

Java 面试 拼多多面经 蚂蚁金服面经 字节跳动面经

英特尔陈葆立:至强傲腾强强联手,实现1+1>2

E科讯

读《小岛经济学》

箭上有毒

4月日更

新思科技成为CVE编号授权机构 向公众发布更准确、实时的漏洞信息

InfoQ_434670063458

新思科技 CVE 软件质量与安全

腾讯专家连夜肛出来17大专题30W字的Java面试手册!

码农之家

Java 编程 程序员 互联网 面试

爱好历史的程序员,不容错过!

不脱发的程序猿

程序员 程序人生 4月日更 全历史

Notion免费搭建个人网站,使用Notion又多了一个理由

彭宏豪95

GitHub Notion 写作 博客 4月日更

梦里花落知多少,网络抖动逃不了

阿里云基础软件团队

源中瑞区块链BaaS平台--一键部署区块链应用

13530558032

mPaaS 月度小报 | CodeHub#4 在线教育应用的开发实践;香港站正式开服上线

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS

火爆全网!万字精华总结“银四Java复习笔记”(共计22个技术专题)

比伯

Java 架构 面试 程序人生 计算机

通俗讲解分布式锁,这次你一定能懂!

Java架构师迁哥

2021技术展望|开源十年,WebRTC 的现状与未来

声网

开源 WebRTC 2021年展望 RTE 2021技术

c 语言思维地基搭建(总概论)

-jf.

4月日更

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