Bruce Wong Blog

非凡的结果始于伟大的问题.

对已有系统如何开展TDD

TDD系列

前言 最近接手一个已经上线运行的产品,并负责后期的开发和维护。想着正好用这个过程尝试如何对已有产品进行TDD工程实践的可行性。今天就分享一下在这个过程中的感受和思考。 Kent Beck在他的经典《测试驱动开发》一书中提过,为已经能够工作的代码编写测试将是很难的一件事情,因为: 你的代码不是按照可测的标准进行编写。很难编写测试。 没有测试的反馈,后续改动、重构无法第一时间让你知道,...

无处不在的TDD思维

TDD系列

一提到TDD(测试驱动开发),似乎第一感觉都是:理想很美好,现实很骨感。有各种难言之隐无法在实际工作中应用TDD。开发人员好像永远都有各种理由不写测试。今天想给大家分享一个最近我所在的一个项目中的经历,我发现其实TDD的思想就伴随我们平时工作中。 最近的一个项目涉及到用户老系统到新系统的数据迁移工作,开发人员编写了一个迁移程序完成这个工作。但是如何能保证最后所有数据迁移是符合和客户预先定义...

Scrum Patterns之理解各种团队模式

在平时学习和交流敏捷相关的知识和经验的时候,经常会听到各种团队的称呼,例如:Self-Organizing Team(自组织团队),Autonomous Team(自治团队),Development Team(研发团队),Scrum Team(Scrum团队),Cross-Functional Team(跨职能团队),Stable Teams(稳定团队),Collocated Team(同置...

游戏化与驱动力

《游戏化实战》读后感

最近在参与一个创新产品研发,其中需要考虑在系统内设计一套激励体系。所以对游戏化相关元素做了一些学习。想起了两年前我曾经有过一次思考。考虑如何将游戏化引入工作,寻找金钱以外的激励机制。那时候在网上找了一些文章,并饶有兴趣地设计了一套自认为还不错的体系。有兴趣的小伙伴可以读一下这篇文章游戏化工作靠谱吗?。不过这次我特意找了一本书来学习——《游戏化实战》(Yu-Kai Chou著),看完之后感触颇...

配置Mountebank环境

mountebank系列(2)

最近在项目中遇到一些场景,例如我们要调用Zoom的API代替用户自动订阅会议并发送通知给参与人。也有调用SMTP服务进行邮件发送,还有第三方支付系统进行支付。这些场景在只是功能开发的个别调用的时候,可以使用真实的系统,或者第三方提供的测试系统进行调试开发。但是当API有限流限制,例如Zoom API 单日单账户只能创建100个会议。再或者如果你希望进行性能测试的时候,不太可能频繁调用第三方接...