主要观点:长期以来在测试方面有很多理念,开发者形成了一些关于测试的民间智慧,但其中“不能删除测试”的共识是错误且有害的,应明确何时删除测试。
关键信息:
- 写测试的初衷是确认程序是否按预期工作,自动化测试能增加对软件的信心,避免项目后期因无测试而陷入困境。
- 测试存在的意义是增加人类对变更成功的信心,当测试降低这种信心时就应删除。
- 随机失败的测试(如不稳定测试)会降低信心,其成本巨大,应删除;过长时间运行导致跳过的测试、因业务需求变化而需大量更新的测试等也应删除。
重要细节: - 无测试的项目会让开发者随着时间推移陷入困境,自动化测试可避免这种情况。
- 不稳定测试虽可能未来能防止错误,但当前造成的工作延误成本巨大,应删除。
- 测试过长导致跳过或因业务变化而大量失败的测试,都不应保留,应直接测试新行为。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。