测试在测什么?用例的有效编写与执行
测试在测试以下两点:* 程序做了它应该做的事情
* 程序没有做它不该做的事情
这是理论上想达到的目标.但后一项"程序没有做它不该做的事情"就没那么容易了.
举例说明一下: 如果要求一输入框只充许输入4-8位字符. 按边界值+等价类.测试理论我们测试3、4、8、9即可.(错误推测法不在本次讨论范围内)
开发如下编码。
1: IF字符个数>=4 and 字符个数<=8 THEN成功 ELSE 失败 ;
这个进行边界值+等价类.测试理论就可以正常测试完成。
注:边界值程序容易出错的地方.大多数是因为控制符写错,"<="写成"="等等. 当然上述类型的写法.也不用再抽取中间值比如"5"位字符.
2: IF 字符个数=4 OR 字符个数=5 OR 字符个数=6 OR 字符个数=7 OR 字符个数=8 THEN 成功 ELSE 失败 ;如果这样写按测试理论你一般就找不到他的问题. 因为无法穷尽的抽取正确等价类中,4-8区间字符.(4-8 这是代表所代表的是一大段区间,不只是5,6,7呵呵.) 要知道黑盒测试,是没有时间进行穷尽测试的.
当然在开发过程被规范\流程限制后,如是经过代码走查的等等应该不会发现这样的编码(当然了开发人员我估计也肯定不会这样写代码.嘿嘿. 这只是一个例子,比如他想留后门,测试人员就没有办法!!)
从黑盒的角度看,程序是否做了他不该做的事,几乎不好查验
页:
[1]