2.3.2 边界值分析方法
1.边界值分析法基本概念
首先我们读0这个数,小学时我们已经知道大于0的叫正数,形成正数区域;小于0的叫负数,形成负数区域,0也就成了数学上我们大家所熟悉的边界点。然而我们常常去做些测试:用小的数减去大的数,老师告诉我们不够减,让我们记住小的数不能减去大的数。随着数域概念的扩大,发现这里有错误。同样,实际程序逻辑中也有类似的这种差别,钱不够可以向别人借钱;如果数据库内没有数据,仍然去删除一条记录,而这样的删除操作将报错。
长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。说明程序在边界值上出现错误概率的可能性大。
2.边界值分析法设计用例的原则
通常边界值分析法是作为对等价类划分法的补充,其测试用例来自等价类边界,每个边界都要作为测试条件。因此,边界值分析不仅考虑输入条件,还要考虑输出产生的测试情况。边界值分析法设计用例的原则如下:
(1)如果输入条件规定了值的范围,则应该取刚刚达到这个范围的边界值,及刚刚超越这个范围边界的值作为测试数据;
(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一的数、比最大个数多一的数作为测试数据;
(3)根据软件规格说明书的每个输出条件,应用上述的原则(1)和原则(2);
(4)如果软件程序规格说明书所给出的输入域或输出域是有序集合,则应该选取集合的第一个元素和最后一个元素作为测试数据;
(5)如果程序中采用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据;
(6)分析软件规格说明书,找出其他可能的边界条件。
按照上述方法,可以做到更好地使用边界值对用例进行选择,更容易发现缺陷。在实际测试中可以按照这样的分类思路进行扩展。
3.利用边界值分析法选择用例
【举例】LCD屏幕上有效显示区域为4行,每行8汉字;
LCD显示屏列边界值需要考虑:7个汉字,8个汉字,9个汉字;
LCD显示屏行边界值需要考虑:31个汉字,32个汉字,33个汉字;1行,4行,0行,5行。
通常情况下,软件测试所包含的边界检验有几种类型:数值、字符、位置、重量、大小、速度、方位、尺寸、空间等。以上类型的相应边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下,如表2.7所示。
表2.7 常见边界值
项 | 边 界 值 | 测试用例的设计思路 |
字符 | 起始-1 个字符/结束+1个字符 | 假设一个文本输入区域允许输入1个到255个字符,输入1个和255个字符作为有效等价类;输入0个和256个字符作为无效等价类,这几个数值都属于边界条件值 |
数值 | 最小值-1/最大值+1 | 假设某软件的数据输入域要求输入5位的数据值,可以使用10000作为最小值、99999作为最大值;然后使用刚好小于5位和大于5位的数值来作为边界条件 |
空间 | 小于空余空间一点/大于满空间一点 | 例如在用U盘存储数据时,使用比剩余磁盘空间大一点(几KB)的文件作为边界条件 |
手机软件测试过程中,常需要考虑的边界值如下:
● 短消息在default 7bit alphabet编码时边界为0~160;UCS-2编码时边界为0~70;
● 对16-bit的整数而言32767和-32768是边界;
● 屏幕上光标在最左上、最右下位置;
● 报表的第一行和最后一行;
● 数组元素的第一个和最后一个;
● 循环的第0次、第1次和倒数第2次、最后一次。
等价类划分是一种用例设计的思想,是按照输入项和输出项的情况把要执行的具体测试用例划分成等价类和无效等价类两种,然后执行测试。边界值分析也是设计用例时的指导思想,它是在具体执行测试用例时要用到的一种测试技巧(取边界值)。具体实施用例设计时往往要两者结合考虑,一起使用。现以编辑一个彩信测试用例为例,输入项的划分如表2.8所示。
表2.8 输入项划分
输 入 项 | 有效等价类 | 无效等价类 |
彩信帧数:0-8 | 0、1、2、8 | 9 |
彩信size:最小-50KB | 最小、30KB左右、50KB | 60KB |
帧内容: 图片:无、BMP、JPEG、WBMP | 无、WBMP或JPEG、GIF(图片格式由图形系统处理,对彩信测试无区别,因此只取一种) | TIFF 目前是JPG文件 |
帧内容: 音频:无、WAV、IMEDODY、MIDI、AMR、MP3 | 无、WAV、IMEDODY、MIDI、AMR、MP3 | |
帧内容: 视频:无、MPEG | 无、MPEG | |
帧内容: 文本:无、中文、英文、符号 | 无、中文+英文+符号 |
(未完,精彩待续)
本文选自《51Testing软件测试作品系列》之五的《手机软件测试最佳实践》。
本站经电子工业出版社和作者的授权,近期将进行部分章节的连载,敬请期待!
版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关阅读: