大量的测试实践经验表明,软件的边界值是最容易出现软件缺陷的地方,因此也成为测试的重点。
边界值是一个特殊情况,因为编程从根本上来说在边界上容易产生问题,比如某种类型的数据到达最大值后,再进行一次加法,可能导致程序异常报错。如果对一定范围内的数据进行操作,开发人员往往关注大量的中间数值的处理,但容易忽略边界导致的问题。
仍然以前文的加法运算程序为例进行说明。程序要求输入7~100的整数进行测试,这里就产生了两个边界值:1和100。因此,对表9-3所示的测试用例进行修改,执行结果见表9-4。
表9-4 加法运算程序测试用例等价类(边界值)
续表(www.xing528.com)
这里构造了(1,1)、(100,100)、(0,0)、(101,101)这4组数据作为边界值测试用例,即正好是边界的值和正好超出边界的值。可以看到,有效等价类的两条测试用例执行失败了。正常应该输出2和200,实际结果却出现了提示信息。通过查看源代码可以看到,原来粗心的程序员在编写代码的时候把判断条件改错了,如果修改成“i f((x>=1&&x<=100)&&(y>=1&&y<=100))”再重新运行程序,执行有效等价类的测试用例,就可以得到预期的结果。
在测试边界值时,一般测试边界值本身和正好超过边界值的那个值。
要为软件操作的各种数据集合建立等价划分。由于软件容易在边界上产生缺陷,因此,如果从等价划分中选择包含的数据,从边界条件中选择会发现更多的软件缺陷。
然而,仅测试边界的数据是不够充分的,所以还要选择测试边界两端的数据。一定要测试临近边界的有效数据,测试最后一个可能有效的数据,同时测试刚超过边界的无效数据。
如前所述,测试用例的设计方法除了等价类划分技术和边界值技术,还有因果图技术和业务流程图技术,有兴趣的读者可以查询相关的文献进一步学习,本书不再展开。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。