讲课黑盒测试练习题答案.docx

上传人:b****8 文档编号:9344165 上传时间:2023-02-04 格式:DOCX 页数:10 大小:189.42KB
下载 相关 举报
讲课黑盒测试练习题答案.docx_第1页
第1页 / 共10页
讲课黑盒测试练习题答案.docx_第2页
第2页 / 共10页
讲课黑盒测试练习题答案.docx_第3页
第3页 / 共10页
讲课黑盒测试练习题答案.docx_第4页
第4页 / 共10页
讲课黑盒测试练习题答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

讲课黑盒测试练习题答案.docx

《讲课黑盒测试练习题答案.docx》由会员分享,可在线阅读,更多相关《讲课黑盒测试练习题答案.docx(10页珍藏版)》请在冰豆网上搜索。

讲课黑盒测试练习题答案.docx

讲课黑盒测试练习题答案

讲课黑盒测试练习题答案

等价类划分方法:

1.设有一个档案管理系统,要求用户输入以年月表示的日期。

假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。

现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。

 1)划分等价类并编号,下表等价类划分的结果

输入等价类

有效等价类

无效等价类

日期的类型及长度

①6位数字字符

②有非数字字符

③少于6位数字字符

④多于6位数字字符

年份范围

⑤在1990~2049之间

⑥小于1990

⑦大于2049

月份范围

⑧在01~12之间

⑨等于00

⑩大于12

2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:

   测试数据   期望结果     覆盖的有效等价类

   200211     输入有效     ①、⑤、⑧

 3)为每一个无效等价类设计一个测试用例,设计结果如下:

   测试数据  期望结果    覆盖的无效等价类

year的取值范围为1912≤year≤2050。

(6n+1)

因果图方法

1.有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:

若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1) 分析这一段说明,列出原因和结果

原因:

1.售货机有零钱找

2.投入1元硬币

3.投入5角硬币

4.押下橙汁按钮

5.押下啤酒按钮

结果:

21.售货机〖零钱找完〗灯亮   

22.退还1元硬币

23.退还5角硬币            

24.送出橙汁饮料

25.送出啤酒饮料

2)画出因果图,如图所示。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:

11.投入1元硬币且押下饮料按钮

    12.押下〖橙汁〗或〖啤酒〗的按钮

    13.应当找5角零钱并且售货机有零钱找

    14.钱已付清

3)转换成判定表:

 

4) 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。

第16列与第32列因什么动作也没做,也删去。

最后可根据剩下的16列作为确定测试用例的依据。

判定表分析方法

1.用决策表测试法测试以下程序:

该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:

1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。

习题:

给出某一天(年,月,日),计算出它的下一天,取值范围为:

年:

1000<=year<=3000月:

1<=month<=12日:

1<=day<=31

如1999年3月4日的下一天是:

1999年3月5日

要求:

输入:

三个参数(年,月,日)

输出:

如能正确计算,计算出它的下一天,

否则,输出相应的错误信息。

1)使用C语言编写程序实现

2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。

(1)代码如下:

#include

voidmain()

{

intyear;

intmonth,maxmonth=12;

intday,maxday;

printf("请输入年份:

(1000~3000)");

scanf("%d",&year);

if(year<1000||year>3000)

{

printf("输入错误!

请从新输入!

\n");

printf("请输入年份:

(1000~3000)");

scanf("%d",&year);

}

printf("请输入月份:

(1~12)");

scanf("%d",&month);

if(month<1||month>12)

{

printf("输入错误!

请从新输入!

\n");

printf("请输入月份:

(1~12)");

scanf("%d",&month);

}

if(month==4||month==6||month==9||month==11)

maxday=30;

elseif(month==2)

{

if(year%400==0||year%4==0)

maxday=28;

else

maxday=29;

}

else

maxday=31;

printf("请输入日份:

(1~31)");

scanf("%d",&day);

if(day<1||day>maxday)

{

printf("输入错误!

请从新输入!

\n");

printf("请输入日份:

(1~31)");

scanf("%d",&day);

}

if(month==maxmonth&&day==maxday)

{

year=year+1;

month=1;

day=1;

}

elseif(day==maxday)

{

month=month+1;

day=1;

}

else

day=day+1;

printf("下一天是%d年%d月%d日",year,month,day);

}

(2)

输入条件

有效等价类

编号

无效等价类

编号

1000<=year<=3000

(1)

<1000

(4)

>3000

(5)

1<=month<=12

(2)

<1

(6)

>12

(7)

1<=day<=31

(3)

<1

(8)

>31

(9)

边界测试用例

序号

输入参数

输出结果

1

20000228

2000年3月1日

2

9990105

输入错误!

请从新输入!

3

30010312

输入错误!

请从新输入!

4

20120012

输入错误!

请从新输入!

5

20111323

输入错误!

请从新输入!

6

20180300

输入错误!

请从新输入!

7

20560432

输入错误!

请从新输入!

等价类测试用例

序号

输入参数

覆盖等价类

输出结果

1

20020105

(1)

(2)(3)

2002年1月6日

2

9910502

(4)

输入错误!

请从新输入!

3

30120515

(5)

输入错误!

请从新输入!

4

20120015

(1)(6)

输入错误!

请从新输入!

5

20141325

(1)(7)

输入错误!

请从新输入!

6

20070400

(1)

(2)(8)

输入错误!

请从新输入!

7

20010632

(1)

(2)(9)

输入错误!

请从新输入!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1