[单元测试]特殊值和临界值的总结

forking003 2010-01-20

这个没什么技术含量,但每个人大脑里都必须有清晰的意识,写单元测试应该覆盖哪些情况.
主要是对输入参数的测试,这里我总结了一下,各常用类型的临界值和特殊值:

特殊值 临界值
String null,空(""),空格(" "),特殊字符(~@#$%^&*()_+等) 各字段允许长度(min~max)
char 空('')
int 0,-1 -231 ~ 231 -1
long 0,-1 -263 ~ 263 -1
double 0.00,-1.00 2-1074 ~ (2-2-52 )·21023
float 0.0,-1.0 2-149 ~ (2-2-23 )·2127
short 0,-1 -215 ~ 215 -1
byte 空("") -27 ~ 27 -1


以上各临界值不需要背下来,可以通过调用常量来获得,比如int:Integer.MAX_VALUE,Integer.MIN_VALUE

 

理论上来说,所有的特殊值和临界值都要测到,当然如果业务能保证某些值不会出现,那也可以不用测,不过最好是都测到.

 

Global site tag (gtag.js) - Google Analytics