1.单元测试的好处
- 它是一种验证行为
- 它是一种设计行为
- 它是一种编写文档的行为
- 它具有回归性
2.JUnit
JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。包括以下特性:
- 用于测试期望结果的断言(Assertion)
- 用于共享共同测试数据的测试工具
- 用于方便的组织和运行测试的测试套件
- 图形和文本的测试运行器
3.JUnit常用的断言方法
- assertEquals(a,b) 测试a是否等于b
- assertFalse(a) 测试a是否为false,a是一个Boolean数值
- assertTrue(a) 测试a是否为true,a是一个Boolean数值
- assertNotNull(a) 测试a是否为null,a是一个对象或者null
- assertNull(a) 测试a是否为null,a是一个对象或者null
- assertNotSame(a,b) 测试a和b是否没有都引用同一个对象
- assertSame(a,b) 测试a和b是否都引用同一个对象
4.JUnit中的两种设计模式:集成模式+命令模式
5.回归测试
回归测试是指修改了旧代码后,重新进行测试以确定修改没有引入新的错误或导致其他代码产生错误,自动回归测试将大幅度降低系统测试,维护升级等阶段的成本
6.冒烟测试
冒烟测试是在软件开发过程中的一种针对软件版本包的快速基本功能验证策略,是对软件基本功能进行确认验证的手段,并非对软件版本包的深入测试。冒烟测试也是针对软件版本包进行详细测试之前的预测试,执行冒烟测试的主要目的是快速验证软件基本功能是否有缺陷。如果冒烟测试的测试例不能通过,则不必做进一步的测试。进行冒烟测试之前需要确定冒烟测试的用例集,对用例集要求覆盖软件的基本功能。这种版本包出包之后的验证方法通常称为软件版本包的门槛用例验证。冒烟测试的执行者是版本编译人员。因此可以说,冒烟测试是预测试。在实际的软件测试工作中,冒烟测试在软件研发的不同阶段有所不同。大体可以分为三类:
- 形成集成测试版本以前:验证各个单元能够成功执行,并保证测试版本能够顺利集成;
- 形成集成测试版本:以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性;
- 后期预测试缺陷的修正:针对每个缺陷所做的缺陷修正都要先在干净的链接环境中进行冒烟测试,测试通过后才能更新相关软件版本。