基本流A:
序号 1 2 3 4 5 6 7 8 9 10 11 业务名称 准备存款 验证银行卡 输入密码 验证帐号和密码 输入金额 授权 入钞 验钞确认 返回银行卡 打印收据 客户将银行卡插入ATM机 ATM机从读入的银行卡中读取账户代码,并检查它是否属于可接收的银行卡 ATM机要求客户输入6位密码 ATM机通过验证客户的帐号和密码,决定客户的合法性 业务描述 ATM机屏幕选项 ATM机显示在本机上可用的屏幕选项 从ATM机显示屏幕中选取金额 ATM机将整体操作作为事务提交银行系统 客户向ATM机提供现金,ATM机验钞 ATM机屏幕中显示存款金额 银行卡被返还 提供客户打印收据功能 备选流:
序号 B 业务名称 银行卡无效 业务描述 在基本流A2过程中,该卡不能够识别或是非本机可以使用的银行卡,ATM机退卡,并退出基本流 ATM机提示密码不正确,客户有三次机会重输,重新加入基本流A3,或选择退卡 系统判断存款金额与入钞数目不符,重新加入基本流A8,或选择退卡 C D 密码有误 验钞不符 试求:
(1)设计场景(基本流用字母A表示,备选流用题干中描述的相应字母表示)。 场景格式示例如下:
场景ID 1 场景描述 密码有误 场景过程 A、B、C
(2)设计测试用例场景矩阵
测试用例矩阵格式示例如下:
测试用例ID 1 场景 1 账号 V 密码 V 输入金额 V ATM机确认金额 n/a 预期结果 退卡 V表示有效数据元素,I表示无效数据元素,n/a表示不可用
(3)假设本系统开发人员在开发过程中通过测试发现了20个错误,独立的测试组通过上述
测试用例发现了80个软件错误,系统在上线后,用户反馈了10个错误,请计算缺陷探测率(DDP)。
(1)设计场景
场景ID 1 场景描述 成功存款 场景流程 A 5
2 3 4 银行卡无效 密码有误 验钞不符 A、B A、C A、D
(2)设计测试用例场景矩阵
测试用例ID 1 2 3 4 场景 1 2 3 4 账号 V I V V 密码 V n/a I V 输入金额 V n/a n/a V ATM机确认金额 V n/a n/a I 预期结果 成功存款 退卡 重输或退卡 重输或退卡
(3)计算缺陷探测率(DDP)
DDP=Bugstester(Bugstester+ Bugscustomer)=(20+80)(20+80+10)=90%(0.9)其中,Bugstester为测试者发现的错误数;
Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。
五、设计题
1、NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输
入为2008年8月8日,则该程序的输出为2008年8月10日。NextDate函数包含三个整数变量month、day和year,并且满足下列条件:1≤ month ≤12和1≤ day ≤31。
(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类 等价类划分格式示例如下: 输入 ID 1 有效等价类 day
1 ≤day≤31 (2)根据划分的等价类,再考虑month边界值,设计健壮等价类测试用例。 测试用例格式示例如下: 用例ID 1 day 5 month year 预期输出 5 2008 20080505 覆盖等价类 1,2
(1)输入等价类 输入 ID 1 2 3 4 5 6 有效等价类 day 1 ≤day≤26 day=27 day=28 day=29 day=30 day=31 month=4,6,9,11 month=1,3,5,7,8,10 month=2 month=12 month 7 8 9 10 6
year
(2)设计测试用例
用例ID 1 2 3 4 5 6 7 8 9 10 11 11 12 闰年 非闰年 day 5 27 28 29 30 31 5 5 5 5 5 month year 预期输出 1 5 5 5 5 5 -1 2 11 12 13 2008 2008 2008 2009 2009 2009 2008 2008 2008 2008 2008 20080107 20080529 20080530 20090531 20090601 20090602 覆盖等价类 1,8,11 2,8,11 3,8,11 4,8,12 5,8,12 6,8,12 1,9,11 1,7,11` 1,10,11 无效月份 20080207 20081107 20081207 无效月份 2、 三角形问题说明:输入三个正整数a、b、c,分别作为三角形的三条边,现通过程序判
断由三条边构成的三角形的类型是否为等边三角形、等腰三角形、直角三角形、普通三角 形以及非三角形。假设要求输入的a、b、c数据满足的条件是:
a>0∧b>0∧c>0 并且 a
R1:等边三角形 R2:等腰三角形 R3:直角三角形
R4:普通三角形 R5:非三角形
可由输出等价类求输入等价类:
例如输出的等边三角形等价类R1对应的输入等价类S1表示为
R1: S1 = { | a=b∧b=c∧a=c∧a>0∧b>0∧c>0} (1)按上述表示,将输出等价类变换为对应的输入等价类。
(2)假设1≤a,b,c≤10,根据划分的等价类,设计健壮等价类测试用例,再使用必
要的边界值用例补充。
测试用例格式示例如下: 用例ID 1 a 5 b 5 c 5 预期输出 等边三角形 覆盖等价类 S1,S2
(1)输入等价类
R1: S1 = { | a=b∧b=c∧a=c∧a>0∧b>0∧c>0}
R2: S2 = { |(a=b∨b=c∨a=c)∧(a+b>c∧b+c>a∧a+c>b)∧a>0∧b>0∧c>0}
222222
R3: S3 = { | a>0∧b>0∧c>0∧(a+b>c∧b+c>a∧a+c>b)∧(a+b=c∨b+c=a∨
222
a+c=b)}
R4: S4 = { |a≠b∧b≠c∧a≠c∧a>0∧b>0∧c>0∧(a+b>c∧b+c>a∧a+c>b)}
7
R5: S5 = { |(a+b≤c∨b+c≤a∨a+c≤b)∧a>0∧b>0∧c>0∨a≤0∨b≤0∨c≤0}
(2)设计测试用例
用例ID 1 2 3 4 5 6 7 8 a 5 3 3 4 10 2 11 -1 b 5 3 4 6 6 4 7 3 c 5 4 5 5 7 6 8 4 预期输出 等边三角形 等腰三角形 直角三角形 普通三角形 普通三角形 非三角形 非三角形 非三角形 覆盖等价类 S1,S2 S2 S3 S4 S4 S5 S5 S5
3、某软件规格说明书对某二位编码的定义如下:编码的第一个字符必须是A或B,第二个
字符必须是一位数字,此情况下给出信息:编码正确;如果第一个字符不是A或B,则给出信息:编码错误;如果第一个字符是A或B,第二个字符不是数字,则给出信息:修改编码。
(1)根据问题的规格说明,列出原因和结果。
因果表格式示例如下:
ID ① 原因(输入) a=b=c ID A 结果(输出) 等边三角形 (2)画出因果图。
(3)将因果图转换成简化的决策表,并设计出测试用例。
决策表格式示例如下: 规则 条件 ① (原因)? 动作 A (结果)? 测试用例 1 Y ? √ ? 3,3,3 2 3 ? n
(1)列出原因和结果 ID ① ② ③ 原因(输入) 第一个字母是A 第一个字母是B 第二个字母是数字 ID A B C 结果(输出) 显示编码错误 显示编码正确 显示修改编码 (2)画出因果图
① ~ A
E ∨ ⑩ ② ∧ B ③ ~ C
中间状态⑩,表示已接受第一个字符。
8
相关推荐: