课后作业
日期 2013 年 3 月 24 日
学号
姓名
1、黑盒测试方法
某自动取款机(ATM)系统用户取款业务场景规约如下:按提示插卡,如果不是 ATM
卡,则提示卡的类型不正确并吐卡,提示重新插入 ATM 卡;如果是 ATM 卡,则提示输入 6
位密码(字母开头,字母与数字组成),如果密码错误,提示“密码错误,请重新输入密码”,
如果 3 次输入错误密码,系统自动吞卡;如果密码正确则提示选择业务,选择“取款”业务
后,提示输入取款金额, 如果金额合法(大于 50 元,小于 2000 元,小于账户余额),则派
发现金,否则提示输入错误。
请分析以上规格说明,利用所学黑盒测试用例设计方法设计测试用例,测试所有可能的
输入输出情况。(假设某合法用户密码为:M12345,账户余额为 1800 元)
2、白盒测试方法
下列程序实现如下功能:输入 3 个数作为三角形的 3 条边,判断该 3 条边是否可以构成一个
三角形,若可构成一个三角形判断该三角形的具体类型。
triangle(){
int a, int b, int c;//a, b, c 分别为三角形的三条边
string result;
input(a,b,c);
if (a + b > c && a + c > b && b + c > a)
{
if (a == b) {
if( b == c)
{ result:=’等边三角形’}
else
{result:=’等腰三角形’}}
else {
if ( b == c )
{result:=’等腰三角形’}
else {
If ( a == c)
{result:=’等腰三角形’}
else
{result:=’ 一般三角形’}
}
}
else
{ result:=’不构成三角形’}
printf (result) ;//输判定结果
}
(1) 请设计满足分支覆盖准则的测试用例集;
(2) 请设计能覆盖基础路径集的测试用例集(提示:画出该程序对应的控制流图,计算
该程序的圈复杂度,列出其基础路径集,为其中每条路径设计输入);