测试的二三事

最近在实践TDD,经常遇到一个问题,就是测试怎么写,测试粒度是怎么样的?所以狂补了一下测试相关的知识。主要介绍了测试相关的知识和不同的测试的写法。

测试金字塔

测试金字塔将测试进行了分层,越底层的测试,实现成本越低,测试效率更高,可维护性越高,但是业务需求的反映越低

测试的二三事

如图,测试被分成了三层,从下到上分成:Unit层,UI层和Service层。

  • Unit层则是我们常说的单元测试。
  • Service层又可以细分,如(集成测试,功能测试,系统测试,契约测试,端到端测试)
  • UI层则是用户界面测试。

单元测试

单元测试处于金字塔最底部,这类测试的特点是:

  • 只测试单独的class
  • 只需要有应用的源码,而不需要跑服务实例
  • 够快
  • 不依赖于外部系统(web service,database)且不需要很多/基本没有I/O操作(不用建立数据库)

———未完待续————-