Spring、Spring Boot 和 TestNG 测试指南 ( 1 )

在了解学习本项目提供的例子之前,先了解一下什么是单元测试(Unit Testing,简称UT)和集成测试(Integration Testing,简称IT)。

如果你之前没有深究过这两个概念,那么你可能会得出如下错误的答案:

错误答案1:

单元测试就是对一个方法进行测试的测试

听上去很像那么回事儿,对吧?单元测试,就是测一个逻辑单元,所以就测一个方法就是单元测试,听上去很有道理是不是?但是,那么测试两个方法(这两个方法互相关联)的话叫什么呢?

错误答案2:

集成测试是把几个方法或者几个类放在一起测试

既然前面单元测试只测一个方法,那么几个方法放在一起测就是集成测试,听上去挺有道理的。那么是不是只要测一个以上的方法就是集成测试呢?

错误答案3:

集成测试就是和其他系统联合调试做的测试

听上去有点像SOA或者现在流行的微服务是吧。做这种测试的时候必须得各个开发团队紧密配合,一个不小心就会测试失败,然后就是各种返工,总之难度和火箭发射有的一拼。

那么正确答案是什么?其实这两个概念的解释比较冗长这里就不细讲了,只需记住UT和IT具备以下特征:

  1. UT和IT必须是自动化的。
  2. UT只专注于整个系统里的某一小部分,粒度没有规定,一般都比较小可以到方法级别。比如某个字符串串接方法。
  3. UT不需要连接外部系统,在内存里跑跑就行了。
  4. IT需要连接外部系统,比如连接数据库做CRUD测试。
  5. 测试环境和生产环境是隔离的。
  6. 能做UT的就不要做IT。

参考链接:

  1. Martin Fowler – Unit Test
  2. Wikipedia – Unit Testing
  3. Wikipedia – Integration Testing


相关文章

发表评论

Comment form

(*) 表示必填项

还没有评论。

跳到底部
返回顶部