主要观点:探讨测试作为构建软件过程中的工具,分为用于更快开发和未来重构的测试,强调两者结合的软件设计,测试能让软件开发更轻松、更自信,价值不仅在于正确性等。
关键信息:
- 起初测试像运行代码看是否符合预期,后引入自动化测试以获取即时反馈,提高开发速度。
- 测试可定义模块的对外接口,但存在确定测试范围、接口改变处理、停止测试位置等困难,抽象可助解决。
- 良好代码来自短期和长期需求的平衡,开发和重构测试结合能更好设计,只注重其一都会有问题。
- 测试总体能让开发者更快更自信,如 IDE 般方便,还可根据情况调整测试数量。
重要细节: - 如在处理 UI 组件逻辑复杂时才测试,避免价值小工作多。
- 引用《软件设计哲学》中关于模块简单接口比简单实现更重要的观点。
- 说明单测
add(1, 2)等于3虽简单但信息有限,多数时候边缘情况能定义模块接口。 - 感谢[matklad]对文章的审阅和提供想法。
分享文章的平台及以往讨论的链接等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。