单元测试的目的?
单元测试是编写测试代码,用以检测特定的、明确的、细颗粒的功能!
严格来说,单元测试只针对功能点进行测试,不包括对业务流程正确性的测试。
现在一般公司都会进行业务流程的测试,这也要求测试人员需要了解需求!
测试人员也不好过啊~~
目前开发所用的单元是Junit框架,在大多数java的开发环境中已经集成,可以方便开发自己调用!
注意:单元测试不仅仅是要保证代码的正确性,一份好的单元测试报告,还要完整地记录问题的所在和缺陷以及正确的状态,方便后面代码的修复,重构和改进。
单元测试做什么?
一般来说,一份单元测试主要包括以下几个方面:
1. 接口功能性测试: 接口功能的正确性,即保证接口能够被正常调用,并输出有效数据!
- 是否被顺利调用
- 参数是否符合预期
2. 局部数据结构测试:保证数据结构的正确性
- 变量是否有初始值或在某场景下是否有默认值
- 变量是否溢出
3. 边界条件测试:测试
- 变量无赋值(null)
- 变量是数值或字符
- 主要边界:最大值,最小值,无穷大
- 溢出边界:在边界外面取值+/-1
- 临近边界:在边界值之内取值+/-1
- 字符串的边界,引用 "变量字符"的边界
- 字符串的设置,空字符串
- 字符串的应用长度测试
- 空白集合
- 目标集合的类型和应用边界
- 集合的次序
- 变量是规律的,测试无穷大的极限,无穷小的极限
4. 所有独立代码测试:保证每一句代码,所有分支都测试完成,主要包括代码覆盖率,异常处理通路测试
- 语句覆盖率:每个语句都执行到了
- 判定覆盖率:每个分支都执行到了
- 条件覆盖率:每个条件都返回布尔
- 路径覆盖率:每个路径都覆盖到了
5.异常模块测试,后续处理模块测试:是否包闭当前异常或者对异常形成消化,是否影响结果!
Java的单元测试Junit4
1. 业务流程的一般是按照需求的预期效果,跑完整个业务流程,包括以前开发的流程