浅谈单元测试 & 集成测试

最近面试中遇到的问题,记录一下个人感悟。

基础概念

什么是单元测试?

单元测试是在软件开发过程中要进行的最低级别的测试活动,针对软件设计的最小单元 —— 模块。

  • 单元测试对象是实现了具体功能的程序单元;
  • 单元测试中的主要方法是基于代码的白盒测试;
  • 单元测试主要是模块内程序的逻辑、功能、参数传递、变量引用、出错处理及需求和设计中具体要求方面的测试;

什么是集成测试?

集成测试通过组合代码单元和测试单元来检查其组合结果是否正确。这可以是在系统的内部,也可以是多个系统的组合来进行测试。另一个和单元测试不同之处是,集成测试可以使用线程,访问数据库或者做保证所有的代码和不同的环境下都会正确工作。

  • 集成测试对象是概要设计规划中的模块及模块间的组合。
  • 集成测试中主要使用基于功能的黑盒测试。
  • 集成测试主要验证各个接口、接口之间的数据传递关系,及模块组合后能否达到预期效果。

如何做好,单元测试和集成测试?

什么时候写?

需求确定下来,UI & 产品评审完成后,与测试一起评审测试用例。

单元测试做多细?

那些代码需要有单元测试覆盖?单元测试具体需要做到多细?

  1. 逻辑复杂的
  2. 容易出错的
  3. 不易理解的:容易遗忘的,辅助理解代码功能和需求
  4. 公共代码:例如拦截器、工具类
  5. 核心业务代码:最有业务价值的代码(重中之重)

相关资料