测试的二三事
最近在实践TDD,经常遇到一个问题,就是测试怎么写,测试粒度是怎么样的?所以狂补了一下测试相关的知识。主要介绍了测试相关的知识和不同的测试的写法。
测试金字塔
测试金字塔将测试进行了分层,越底层的测试,实现成本越低,测试效率更高,可维护性越高,但是业务需求的反映越低
如图,测试被分成了三层,从下到上分成:Unit层,UI层和Service层。
- Unit层则是我们常说的单元测试。
- Service层又可以细分,如(集成测试,功能测试,系统测试,契约测试,端到端测试)
- UI层则是用户界面测试。
单元测试
单元测试处于金字塔最底部,这类测试的特点是:
- 只测试单独的class
- 只需要有应用的源码,而不需要跑服务实例
- 够快
- 不依赖于外部系统(web service,database)且不需要很多/基本没有I/O操作(不用建立数据库)
———未完待续————-