2、测试边界
由于软件容易在边界上产生缺陷,因此,如果要从等价划分中选择包含的数据,从边界条件中选择会找出更多的软件缺陷。然而,仅仅测试边界线上的数据点往往不够充分。最好测试一下边界的两边。如果建立两个等价划分就可以找出更多软件缺陷。第一个划分包含认为应该正确的数据 --在边界内部最后一两个合法的数据点。第二个区间包含认为可能出现错误的数据-边界之外--- 一到两个非法的数据点。
技巧:提出边界条件时,一定要测试临近边界的有效数据,测试最后一个可能有效的数据,同时测试刚超过边界的无效数据。
注意:在软件的每一个部分不断寻找边界是极为重要的,寻找做得越多,边界就会发现得越多。
缓冲区溢出是由边界条件缺陷引起的,它是造成软件安全问题的头号原因。
3、次边界条件
普通的边界条件是最容易找到的。它们在产品说明书中有定义,或者在使用软件的过程中明显。而有些边界在软件内部,最终用户几乎看不到,但是软件测试员仍有必要进行检查。这样的边界条件或者内部边界条件。
寻找这样的边界不要求软件测试员成为程序员或者具有阅读源代码的能力,但是确实要求大体了解软件的工作方式。
4、非法、错误、不正确和垃圾数据
数据测试的最后一种类型是垃圾数据。这是失效性测试的对象。经过边界测试、次边界测试和默认值测试等通过性测试证实软件能够工作之后,就该进行垃圾数据测试了。
非法、错误、不正确和垃圾数据测试时很有意思的。如果软件要求输入数字,就输入字母。如果软件只接受正数,就输入负数。如果软件对日期敏感,就看它在公元3000年是否还能正常工作。假装有“肥胖的手指”,同时按下多个键。
此类测试没有实际的规则,只是设法破坏软件。要发挥创造力,要会走偏门。在此工作中寻找乐趣吧。
五、状态测试
软件测试的另一方面是通过不同的状态验证的程序的逻辑流程。软件状态是指软件当前所处的条件或者模式。
注意: 软件测试员必须测试程序的状态及其转换
1、测试软件的逻辑流程
测试软件的状态和逻辑流程有同样的问题。访问所有状态通常是可以实现的。困难在于除了极其简单的程序之外,基本上不可能走遍所有分支,达到所有状态。对于软件测试,解决方法是运用等价划分技术选择状态和分支。因为选择不做完全测试,所以要承担一定的风险,但是通过合理选择减少风险。
2、建立状态转换图
状态转意图应该表示出以下项目:
1)软件可能进入的每一种独立状态。
2)从一种状态转入另一种状态所需的输入和条件。
3)进入或者退出某种状态时的设置条件及输出结果。
提示: 因为正在进行黑盒测试,所以不必了解代码中设置的底层变量。从软件用户的角度建立状态图即可。
文章来源于领测软件测试网 https://www.ltesting.net/