|
一. 软件测试与数据健康
1.1 软件缺陷之一系统存在不符合规范的数据
什么叫做不符合规范的数据?明明是要输入电话号码,但实际上用户输入了文字,并且保存了。在现实中电话号码只包括数字,并不会包含文字的。那么我在这里就将文字叫做不符合规范的数据。
再举一个例子,一个人只可申请一次赠品,但系统在记录数据时并没有对这个“只可一次”进行检查,最后造成了后台数据库会出现同一个人多次申请的记录或者完全一模一样的记录。我也会把这些重复的数据叫做不符合规范的数据。
另外我也会将系统自动生成了重复的ID号、错误的日期格式、错误的时间(如录入时间为期1900年1月1日)、过长的字符、不合格的数值(如只允许输入大于0的正整数,但实际上却输入了负数、小数等)、多输入、少输入等等。当系统记录了这些数据的时候会出现什么问题呢?第一、系统调出后台数据时可能出错。第二、在进行报表统计时也会造成数据不准确。
1.2 造成不符合规范数据的原因
为什么会在后台数据库存在这些数据呢?我觉得有几方面的原因:
1. 用户的大意录入。
2. 系统的容错性能。对输入有错的数据并没有作出有效的判断。
3. 软件测试员的问题:在系统交付用户使用的候,没有充分的测试。让系统存在的缺陷情况下,交到用户。
4. 系统的设计问题。在系统设计时,就没有将检验数据的正确与否考虑在设计范围之内。
5. 程序员的问题:在开发的时候,忘记做这正确性检查的编码了。
1.3 如何避免不符合规范数据的出现
秉承用户第一的原则,我们先从自身的角度去发现问题,去改进问题。先从系统设计开始吧。首先在完成详细设计的时候,基本上已经能将系统的功能的实现,实现什么功能全部描述出来了。所以我们在这个时候就可以看到系统是否有数据正确性的检查功能。如果设计者忽略了怎么办呢?不用怕,我们不是有设计评审吗?在设计评审还是没有发现呢?不用怕,我们不是还有软件测试员吗?说到最后,作为软件测试员的我或你都是是责无旁贷的。
现在我们来讨论软件测试员如何发现这些问题吧!
针对系统对数据正确性的检查,我认为最常用的测试手段就是采用边界值输入和非法数值的输入。
1. 边界值输入,所有系统要求的数据输入,都有一个范围值。我们测试的时候可以试一下超出这个范围、刚好达到这个范围的边界、在范围内的值。
2. 非法数据的输入,故意让程序出错。输入最大长度、输入最短长度、不输入、重复输入等等手段。
一般来说,只要使用以上的方法,我相信我们会看到很多意想不到的效果的。 |
|