软件测试边界值分析

来源:互联网 发布:六盘水市第三中学知乎 编辑:程序博客网 时间:2024/05/18 02:42

1. 边界条件测试

人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上的,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

边界值分析关注的是输入空间的边界,以标识测试用例。边界值测试背后的基本原理是错误更可能出现在输入变量的极值附近。例如,循环条件可能在应该测试≤时测试了<,并且计数器常常“少记一次”。在做三角形计算时,要输入三角形的3个边长A、B和C。这3个数值应当满足A>0,B>0,C>0,A+B>C,A+C>B,B+C>A,才能构成三角形。但如果有任何一个不等式的“>”错写成“≥”,那就不能构成三角形。问题恰恰出现在容易被忽视的边界附近。这里所说的边界是指相当于输入等价类和输出等价类而言,稍高于或稍低于其边界值的一些特定情况。

边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值和最小值处取输入变量值。边界值分析的下一个部分基于一种关键假设,在可靠性理论叫做“单缺陷”假设。这种假设是说,失效极少是由两个(或多个)缺陷的同时发生引起的。因此,边界值分析测试用例的获得,通过使所有变量取正常值,只使一个变量取极值。

(以上内容摘自:http://hi.baidu.com/ermao0927/blog/item/fb334a4bc0dfa6f683025c27.html)

2.  次边界条件测试 

       上面所讲的是普通的边界条件,在产品说明书中有定义,或者在软件的过程中确定。但有些边界在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查,这样的边界条件成为次边界条件或者内部边界条件。寻找这样的边界条件,不要求软件测试员成为程序员或者具有阅读源代码的能力,但是确实要求大体了解软件的工作方式。2的乘方和ASCII表是这样的两个例子: 

-------------------------------------------------------------------------------- 
       2的乘方 
       术语 
范围或值 

       位bit 
        0或1 

       双位doublebit 
        0~15 

       字节Byte 
        0~255 

       字word 
        0~65,535或者0~4,294,967,295 

       千K 
        1,024 

       兆M 
        1,048,576 

       亿 
        1,073,741,824 

       万亿 
        1,099,511,627,776 


       计算机和软件的基础是二进制数。因此二的乘方是作为边界条件的重要数据。如:在通讯软件中,带宽或者传输信息的能力总是受限制,因此软件工程师会尽一切努力在通讯字符串中压缩更多数据。其中一个方法就是把信息压缩到尽可能小的单元中,发送这些小单元中最常用的信息,在必要时再扩展为大一些的单元。假设某种通讯协议支持256条命令。软件将发送编码为一个双位数据的最常用的15条命令;如果用到第16到256之间的命令,软件就转而发送编码为更长字节的命令。这样,软件就会根据双位/字节边界执行专门的计算和不同的操作。 

       在建立等价区间的时候,要考虑是否需要包含2的乘方边界条件。例如:软件接受1~1000范围内的数字,那么合法区间除了1和1000,也许还有2和999之外,还应该有临近2的乘方次边界:14,15,16以及254,255和256。 

 

(以上片段摘自:http://www.facetest.net/forums/wdbread.php?forumid=3&filename=f_109)

原创粉丝点击