文档库 最新最全的文档下载
当前位置:文档库 › 软件测试实验报告

软件测试实验报告

课程名称:软件测试

实验项目:三角形问题的等价测试

姓名:李宏伟

专业:计算机科学与技术学院

班级:计算机10-8

学号:1004010818

计算机科学与技术学院

2013 年5 月29 日

哈尔滨理工大学计算机科学与技术学院实验报告

实验题目

三角形问题的等价测试

1、实验内容

对三角形问题的一种常见补充是检查直角三角形。如果满足毕达哥拉斯关系(a*a+b*b=c*c),则三条边构成直角三角形。试针对包含了直角三角形的扩展三角形问题来设计标准等价类测试用例。

2、实验目的与要求

目的:熟悉黑盒测试的等价类划分方法。

要求:1、按要求编写程序实现。

2、运用等价划分的测试来测试三角形问题,并达到预期效果。

3、对结果分析。

3、实验环境

C#

4、实验步骤(包括需求分析、整体设计思路、概要设计)

先要将三角形的三条边输入,对输入边的类型先判断,然后判断如果输入情况正确则输出是什么三角形,如果输入错误则输出错误的提示。可以用if语句来判断三条边的关系。

假定3个输入a,b,c在1~100之间取值,三角形问题可以详细的描述为:

输入3个整数a,b,c分别作为三角形的三条边,要求a,b,c必须满足以下条件。

Con1.1<=a<=100

Con2.1<=b<=100

Con3.1<=c<=100

Con4.a

Con5.b

Con6.c

程序输出由这三条边构成的三角形类型:等边三角形,等腰三角形,一般三角形,直角三角形或非三角形。如果输入值不满足前三个条件中的任何一个,程序给出相应信息提示,如“请输入1~100之间的整数”等。如果a,b,c满足con1、con2、con3中的任何一个,则程序输出下列4种情况之一:1)如果不满足条件con1、con2、con3中的一个,则程序输出为“非三角形”。

2)如果3条边相等。则程序输出为“等边三角形”。

3)如果恰好有两条边相等,则输出“等腰三角形”。

4)如果三条边都不等且满足“a*a+b*b=c*c”,则输出“直角三角形”。

5)如果三条边都不等,又无特殊关系,则输出“一般三角形”。

对三角形问题分析,可以得出等价类表:

三角形问题的无效等价类测试:

三角形问题的等价测试:

5、实验源代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace sanjiaoxing

{

class Program

{

static void Main(string[] args)

{

int i = 1;

while (i == 1)

{

float a1;

float b1;

float c1;

Console.WriteLine("请输入三角形的一边a (1~100之间的整数) :");//提示输入三角形的第一条边并且在1~100之间的整数

a1 = int.Parse(Console.ReadLine());

Console.WriteLine("请输入三角形的一边b(1~100之间的整数):");//提示输入三角形的第二条边是1~100之间的整数

b1 = int.Parse(Console.ReadLine());

Console.WriteLine("请输入三角形的一边c(1~100之间的整数):");//提示输入三角形的第三条边是1~100之间的整数

c 1= int.Parse(Console.ReadLine());

//先判断是否符合输入要求

int a=(int)a1;

int b=(int)b1;

int c=(int)c1;

if((a1-a)!=0||(b1-b)!=0||(c1-c)!=0)

{

Console .WriteLine ("请输入1~100之间的整数");

}

//输入三条边后可以判断是什么三角形

//先判断三条边是不是在1~100之间

else if (1 <= a && a <= 100 && 1 <= b && b <= 100 && 1 <= c && c <= 100)

{

//判断是不是三角形

if (a < b + c && b < a + c && c < a + b)

{

//判断是不是等腰三角形

if (a == b || b == c || a == c)

{

//判断是不是等边三角形

if (a == b && b == c)

{

Console.WriteLine("等边三角形");

}

else

{

Console.WriteLine("等腰三角形");

}

}

else if (a * a + b * b == c * c || b * b + c * c == a * a || a * a + c * c == b * b) {

Console.WriteLine("直角三角形");

}

else

{

Console.WriteLine("一般三角形");

}

}

else

{

Console.WriteLine("非三角形");

}

}

else if (a < 0 || b < 0 || c < 0)

{

Console.WriteLine("边长不能为负");

}

else if (a == 0 || b == 0 || c == 0)

{

Console.WriteLine("边不能为0");

}

else

{

Console.WriteLine("请输入1~100之间的整数");

}

}

}

}

}

6、实验结果与分析

三角形问题的无效等价类测试:

三角形问题的等价测试:

输出的结果全都符合测试预期输出结果

7、实验体会与建议

以前编程序只是考虑如何输出正确的结果,就是只考虑有效等价类,没有想过如果输入错误的时候还会有提示没有考虑无效等价类。这次学了软件测试,让我在编写程序时考虑更多的方面,思路更加清晰,可以使程序更完美,完善。

在此次测试中发现,其实输入边的时候,可以直接逐条提示输入三条边,这样程序就不会出现只输入一条边或是大于三条边的情况,会带来更大的方便。

相关文档