软件测试实验报告
实验题目:黑盒测试技术之等价类划分测试
姓名:何晓晓
学号:1012210110
班级:10计本1
指导老师:蒋平
一、实验介绍
1.实验技术
等价类划分是一种典型的、常用的黑盒测试方法,这类方法是把所有可能的输入数据划分成若干个部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
2.实验对象
完成一段程序,要求实现这样的功能。
输入三个整数a,b,c,分别作为三角形的三条边,取值范围为1-100,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以及不构成三角形。
判断结果打印输出。
#include<stdio.h>
void main(void)
{
int a,b,c,k;
printf("请输入三角形的三边长(0-100):");
scanf("%d %d %d",&a,&b,&c);
if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100))
{
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=b))
k=1;
if(a==b&&a==c)
k=2;
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))
k=3;
switch(k)
{
case 1:printf("等腰三角形\n");
break;
case 2:printf("等边三角形\n");
break;
case 3:printf("直角三角形\n");
break;
default:printf("一般三角形\n");
break;
}
}
else
printf("不能构成三角形\n");
}
else
printf("警告:无效输入\n");
}
三、测试用例设计
等价类划分如下:
有效等价类编号无效等价类编号
三边满足1-100 1≤a≤100
1≤b≤100
1≤c≤100
1
一边<1 9
两边<110
三边<111
一边>100 12
两边>10013
三边>10014
两边之和大于第三边a+b>c 2 a+b≤c 15 b+c>a 3 b+c≤a 16 a+c>b 4 a+c≤b 17
等腰三角形a=b,a≠c 5 a=c,a≠b 6 b=c,a≠b 7
等边三角形a=b,b=c,c=a8
测试用例(要求每个等价类都至少被覆盖一次):
测试用例{a,b,c} 覆盖等价类号预期输出{0,10,20} 9 警告:无效输出
{0,0,10} 10 警告:无效输出
{10,30,15} 9 不能构成三角形
{10,20,25} 3 一般三角形
{20,20,30} 5 等腰三角形
{30,40,50} 2 直角三角形
{30,30,30} 8 等边三角形三、实验结果
输入输出
10,30,15 不能构成三角形
0,10,20 警告:无效输出
20,20,30 等腰三角形
30,30,30 等边三角形
四、心得与体会
通过本次实验我了解了等价类划分的方法以及等价类的测试方法。