白盒测试中的边界值测试
作者:网络转载 发布时间:[ 2016/8/3 16:39:21 ] 推荐标签:白盒测试
白盒测试中需要重点测试哪些边界值呢?总结起来有以下几点:
- 测试数据类型的边界值,如整型的范围、单精度数的范围等。
- 测试数组的边界值。
- 测试分支判断语句的边界值:如if(a>=0)中的a=0。
1.数据类型的边界值
任何数据类型在内存中都是有一定的存储空间的。例如C语言分为DOS平台和Windows平台。Dos平台下的C语言中各种数据类型的存储范围如下表。
数据类型 |
长度 |
范围 |
短整型(short) |
2B |
-32768--32767 |
整型(int) |
2B |
-32768--32767 |
长整型(long) |
4B |
-2147485648--2147483647 |
字符型(char) |
1B |
256 |
单精度型(float) |
4B |
-2147485648--2147483647 |
双精度型(double) |
8B |
-1.7*10308—1.7*10308 |
Windows平台下的C语言中各种数据类型的存储范围如下表。
数据类型 |
长度 |
范围 |
短整型(short) |
2B |
-32768--32767 |
整型(int) |
4B |
-2147485648--2147483647 |
长整型(long) |
4B |
-2147485648--2147483647 |
字符型(char) |
1B |
256 |
单精度型(float) |
4B |
-2147485648--2147483647 |
双精度型(double) |
8B |
-1.7*10308—1.7*10308 |
如果是在Turbo C(DOS环境)里面定义了一个整型变量,需要测试这个整型变量的数值是否超出了-32768—32767这个范围;而如果是在VC(Windows环境)里面定义了一个整型变量,需要测试这个整型变量的数值是否超出了-2147485648—2147483647这个范围。
现看一个数据类型边界值测试的例子:
#incldue
void main()
{
int a=32765;
int b=3;
int c;
c=a+b;;
printf(“%d”,c);
}
假设该程序是用DOS环境下的Turbo C开发的,则求得的c值为32768超出了这个范围,当然不能正确打印。
启发:a和b作为两个整形变量,它们没有超出范围,而a和b计算之后的结果却超出了边界值,这也是程序员们经常犯的一个错误,要引起足够的重视。
当测试数组时要重点测试其边界值,防止产生数组越界的问题,请看下面的例子:
#include
void main()
{
int a[5];
int i=0;
for(i=0;i<=5;i++)
scanf(“%d”,&a[i]); //输入数组5个元素
for(i=1;i<5;i++)
printf(“%d”,a[i]); //打印数组5个元素
}
上面程序中循环时i的取值有问题。
可以将程序修改如下:
#include
void main()
{
int a[5];
int i=0;
for(i=0;i<5;i++)
scanf(“%d”,&a[i]); //输入数组5个元素
for(i=0;i<5;i++)
printf(“%d”,a[i]); //打印数组5个元素
}
很多if语句、elseif语句都含有关系表达式,如if(a>=0),else if(b<1)等,这里面关系表达式的边界值需要重点留意,我们需要测试a=0,b=1时是否成立。请看下面这个例子:
/*
程序功能:输入两个2位数(10-99之间的整数),计算它们的和并输出
*/
#include
void main()
{
int a;
int b;
int c;
printf(“请输入两个10到99之间的整数”);
scanf(“%d%d”,&a,&b);
if(a<=10||a>=99)
printf(“a的值应该在10到99之间”);
else if(b<=10||b>=99)
printf(“b的值应该在10到99之间”);
else
{
c=a+b;
printf(“两个数的和为%d”,c);
}
}
重点观察一下if语句和else if语句的条件判断有没有问题。
if(a<=10||a>=99)
printf(“a的值应该在10到99之间”);
只要a<=10或者a>=99,程序给出错误提示信息。而实际上当输入10或99时,程序不应该报错,因为10和99也是两位数,属于合法数据,因此这句话应该改为:
if(a<10||a>99)
printf(“a的值应该在10到99之间”);
同理,下面的else if语句也应该改为:
else if(b<10||b>99)
printf(“b的值应该在10到99之间”);
通过对上面例子的分析,了解了分支语句的边界值如何测试,这也是程序员经常犯错误的地方,希望引起注意。
2.数组的边界值
3.分支判断语句的边界值
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11