首先,两者的出发点是一致的,都是保证项目的健壮性、可靠性、正确性而言的。
不同点主要有:
1、时机不一致。
单元测试是在软件编码前期进行的,先于集成测试;集成测试,是在系统即将开发完毕,对系统的是否正常运作进行测试。
2、测试目的不一样。
单元测试是一个高度本地化的东西(个人认为是属于程序员自身的)。主要是针对每一个package下的Class 的功能进行测试。是程序员的生产力的一个表现方式。
集成测试,将系统当成一个黑盒子,仅关注系统的输出、输入。向客户提供质量保证,不专门对单个程序员进行评估。
3、测试工具不一样
单元测试:用junit自动测试框架,专人写测试代码,周期性的进行测试,保证没有隐藏bug的出现。
集成测试:则需要更多人的协调,侧重点会放到业务的处理上来,性能上也会有所考虑
4、测试粒度不同
单元测试的颗粒度是在单只程序上
集成测试的颗粒度则在整个系统上