在团队中进行单元测试/TDD的12条经验

背景

两年前,我在一个Web项目开发组中,项目的目标是编写一个类似Excel的、用来计算产品/服务价格的Web应用程序。项目团队被分成3部分——开发团队、需求团队和QA团队。随着项目越做越大,而我们没有使用任何形式的自动化测试(QA团队使用手工测试),结果导致项目的测试时间比开发时间还要多。每进行一次小的改动,QA团队都要花费几个小时来做测试。

有一天,我参加了一个开发者会议,并与其他程序员谈到了这些问题。他们建议我去学习单元测试、验收测试和TDD(Test-Driven Development,测试驱动开发)。[......]

阅读全文

你不需要遵守的 7 个敏捷开发最佳实践

在敏捷开发中有很多好的想法和实践,这些想法和实践都非常管用:

  • 把项目分成小版本发布来进行风险管理和加速回馈;
  • 用时间盒(time-boxing)来限制WIP(Working In Process)并让所有人团结一致集中在项目中;
  • 仅依靠软件来作为进程度量;
  • 进行简单的估算并使用速度来预测团队的表现;
  • 和客户保持频繁而紧密的合作;
  • 持续集成持续发布以保证代码始终稳定可运行。

但是还有一些别的并不是那么重要但被很多人接受的想法和实践:就算你不遵守这些想法和实践你的项目依然可以圆满成功,也不会有糟糕的事情发生。但是有一些想法实践你最好不要去遵守。[......]

阅读全文