浅谈单元测试 & 集成测试
最近面试中遇到的问题,记录一下个人感悟。
基础概念
什么是单元测试?
单元测试是在软件开发过程中要进行的最低级别的测试活动,针对软件设计的最小单元 —— 模块。
- 单元测试对象是实现了具体功能的程序单元;
- 单元测试中的主要方法是基于代码的白盒测试;
- 单元测试主要是模块内程序的逻辑、功能、参数传递、变量引用、出错处理及需求和设计中具体要求方面的测试;
什么是集成测试?
集成测试通过组合代码单元和测试单元来检查其组合结果是否正确。这可以是在系统的内部,也可以是多个系统的组合来进行测试。另一个和单元测试不同之处是,集成测试可以使用线程,访问数据库或者做保证所有的代码和不同的环境下都会正确工作。
- 集成测试对象是概要设计规划中的模块及模块间的组合。
- 集成测试中主要使用基于功能的黑盒测试。
- 集成测试主要验证各个接口、接口之间的数据传递关系,及模块组合后能否达到预期效果。
如何做好,单元测试和集成测试?
什么时候写?
需求确定下来,UI & 产品评审完成后,与测试一起评审测试用例。
单元测试做多细?
那些代码需要有单元测试覆盖?单元测试具体需要做到多细?
- 逻辑复杂的
- 容易出错的
- 不易理解的:容易遗忘的,辅助理解代码功能和需求
- 公共代码:例如拦截器、工具类
- 核心业务代码:最有业务价值的代码(重中之重)
评论