第八、九章:边界和测试

边界

  • 学习性测试的好处不只是免费:首先学习性测试可以帮助我们学习;其次,留下的测试代码当有新版本发布时,依旧可以用来测试,以发现是否有改变。
  • 使用尚不存在的代码:有那种将已知边界和未知边界分开的机制。可以用适配器模式是将接口改造成本地。
  • 边界保持整洁

单元测试

一、TDD三大定律

  • <b>定律一</b> 在编写不能通过的单元测试前,不可编写生产代码。(单元测试在代码之前)
  • <b>定律二</b> 只可编写刚好无法通过的单元测试,不能编译也算不通过。(单元测试需要针对性)
  • <b>定律三</b> 只可编写刚好足以通过当前失败测试的生产代码。

二、保持测试整洁

测试代码和生产代码一样重要。
如果测试不能保持整洁,你就会失去测试。没有测试,就会失去保证生产代码可扩展的一切要素。单元测试保证代码改进的健壮和有效。

三、整洁的测试

<b>tips:可读性、可读性、可读性</b>
代码需要明确、简洁、还有足够的表现力。效率并不在考虑之内。
包装API成测试API,形成测试语言。测试需要整洁,和效率无关。

四、每个测试一个断言

每个测试都应该有且只有一个断言语句。
每个测试一个概念。

五、F.I.R.S.T

  • FAST:测试应该足够快。
  • Independent:测试应该相互独立。
  • Repeatable:测试应该可以在任何环境下运行。
  • Self-Validating:测试应该有布尔值输出。
  • Timely:测试应该及时编写。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • “相对于任何宏伟景愿,对细节的关注甚至是更为关键的专业性基础。首先,开发者通过小型实践获得可用于大型实践的技能和信...
    寻海阅读 10,237评论 1 27
  • 转:http://www.jianshu.com/p/d5fca0185e83 Xcode测试 前言 总算在今天把...
    测试小蚂蚁阅读 8,407评论 0 20
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 13,014评论 2 126
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 22,272评论 7 278

友情链接更多精彩内容