软件测试实验报告
软 件 测 试 实 验 报 告
姓名:专业:班级:学号: 日期:
2011-5-25
*******
*********************
*********** *************
实验一:黑盒测试
一、实验目的:了解三角形问题的边界值分析测试用例。
二、实验要求:在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。
R1 = { : 边为a,b,c的等边三角形 } R2 = { : 边为a,b,c的等腰三角形 } R3 = { : 边为a,b,c的一般三角形 } R4 = { : 边为a,b,c不能组成三角形 } 三、实验程序:
#include \void main() {
int a,b,c;
cout<<\请输入1<=a<=100或1<=b<=100或1<=c<=100\ cin>>a>>b>>c;
if((1<=a&&a<=100)&&(1<=b&&b<=100)&&(1<=c&&c<=100)) {
if(a+b>c&&a+c>b&&c+b>a) {
if(a==b&&a==c&&c==b){ cout<<\三角形为等边三角形\ else if(a==b||a==c||c==b) {
cout<<\三角形为等腰三角形\ }
else if((a*a+b*b)==c*c||(c*c+b*b)==a*a||(a*a+c*c)==b*b) {
cout<<\三角形为直角三角形\ }
else cout<<\可组成三角形\ }
else cout<<\不存在a,b,c组成的三角形\ }
else cout<<\或b或c的值不合法,无法判断\}
四、测试用列: 用列ID a 1 1 2 2 3 3 4 2 5 2 6 4 7 5 8 1 9 4 10 2 11 4 12 0 13 0 14 2 15 13 16 100 17 100 18 100 19 100 20 90 b 1 2 4 2 3 3 4 1 2 4 2 0 1 0 13 100 100 12 12 90 c 1 1 5 2 3 5 3 2 2 2 5 0 1 12 0 100 0 101 100 80 预期输出 三角形为等边三角形 三角形为等腰三角形 三角形为直角三角形 三角形为等边三角形 三角形为等腰三角形 三角形为直角三角形 三角形为直角三角形 不存在a,b,c组成的三角形 不存在a,b,c组成的三角形 不存在a,b,c组成的三角形 不存在a,b,c组成的三角形 a或b或c的值不合法,无法判断 a或b或c的值不合法,无法判断 a或b或c的值不合法,无法判断 a或b或c的值不合法,无法判断 三角形为等边三角形 a或b或c的值不合法,无法判断 a或b或c的值不合法,无法判断 不存在a,b,c组成的三角形 三角形为等腰三角形 五、等价类划分:
输入条有效等价类 件 编号 无效等价编号 类 三角a+b>c&&a+c>b&&1 形 c+b>a&&a=b&&c=b a+b>c&&a+c>b&&2 c+b>a&&a=b||c=b a+b>c&&a+c>b&&3 c+b>a&& 非三a+b
程序是正确的
实验二 :黑盒测试
1.
一、实验目的:了解xtDate函数的边界值分析测试用例。
二、实验要求:程序有三个输入变量month、day、year
(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤ year ≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上第二天的日期。例如,输入为2005年11月30日,则该程序的输出为2005年12月1日。请用等价类测试和边界测试法设计测试用例。
三、实验程序:
#include \ int IsLeapYear(int Year);
int IsCurrentDate(int Year,int Month,int Day); int ReturnNextDay(int Year,int Month,int Day); int
LeapYear_Month_SumDay[12]={31,29,31,30,31,30,31,31,30,31,30,31};void main()
{ int Year=0,Month=0,Day=0,NextDay=0;
printf(\enter right Date(example:2005 6 27):\\n\
scanf(\ NextDay=ReturnNextDay(Year,Month,Day);