一.定义

这里所说的“溢出”含义大于我们传统程序含义的溢出,是指允许输入字段长度要大于目标处理字段长度导致bug,经常看到指以下三种:程序处理长度溢出,数据库截断或异常问题,两个接口之间长度不一致导致问题;

测试方法:在允许输入接口输入大数字或字符进行提交,看处理和数据库是否正常。

二.实际使用例子与意义

1.发现程序溢出的问题

主要用于发现程序可以处理的字节长度小于输入字节长度,导致程序在处理时候返回数据异常或程序出错的bug,比如:

我以前做一个项目中的一个通过id搜索字条功能,可输入12位,所以输入12个9后页面没有返回正常搜索而是出现异常返回信息;经确认发现是处理长度只有4个字节

2.发现数据库截断或异常问题

主要用于发现程序输入超长字符串后提交,因数据库目标字段小于输入允许长度导致:输入字段在数据库被截断或数据提交异常的bug,比如:

在**项目的新增服务中服务说明这一输入栏,前台提示允许输入2000中文字,但输入2000个后页面提交,页面返回null,经确认原来数据库中字段允许长度只有500个字

3发现输入接口小于输出接口的问题

主要用于发现程序在接口相互传递数据时候,传出数据接口传出数据大长度大于传入数据可处理大长度导致处理异常的bug,比如:

在**项目的与**外部接口时候,我在前台的佣金项输入大允许输入项n个9,提交服务后**接口处理这一环节出错预扣佣金失败;经确认发现原来**代扣接口大处理金额是m(n个9远大于m),远远小于我们允许输入金额,所以在处理时候出错拉。