1、软件测试用例分析习题完美整合版汇总场景分析法一、以答题业务为例:1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;2.取题规则为随机不重复 ;3.答错题目后答新题 .1.确定基本流与备选流 基本流 : 步骤 1. 开始答题步骤 2. 判断是否存在有效题目,存在有效题目,处理 :提供题目及备选答案步骤 3. 用户答题并答对题目,增加用户相应积分。步骤 4. 判断积分是否达到设定值,达到,获取一个礼包,流程结束。备选流 1: 不存在有效题目基本流步骤 2 时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。 备选流 2: 答错题目基本流步骤 3 时,答错题目,处理:提示用户答错题目,
2、回到基本流步骤 2备选流 3:答题后积分达不到设定值基本流步骤 4 时,答对题后积分仍达不到设定值,处理:回到基本流步骤 22.确定以下用例场景:3.通过从确定执行用例场景所需的数据元素入手构建矩阵4.设计数据,把数据填入上面的用例表中图所示是 ATM例子的流程示意图。2. 场景设计:下表所示是生成的场景。3. 用例设计4. 测试用例表三、用户进入一个在线购物网站进行购物,选购物品后, 进行在线购买,这时需要使用账号 登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。第一步:确定基本流和备选流基本流:登录在线网站选择物品登录账号付款生成订单;备选流 1:账户不存在;备选
3、流 2:账户密码错误;备选流 3:用户账户余额不足;备选流 4:用户账户没钱。第二步:根据基本流和备选流确定场景场景 1 成功购物:备选流;场景 2 账号不存在:基本流,备选流 1;场景 3 账号密码错误:基本流,备选流 2;场景 4 账户余额不足:基本流,备选流 3;场景 5 账户没钱:基本流,备选流 4。第三步:对每一个场景生成相应的测试用例测试用例 ID场景 /条件账号密码用户账 号余额预期结果1场景 1:成功购物VVV成功购物2场景 2:账号不存在1n/an/a提示账号不存在3场景 3 :账号密码错误 (账号正确,密码错误)V1n/a提示账号密码错误,返回基本流步骤 34场景 4:用户
4、账号余额不 足VV1提示用户 账号 余额 不 足,请充值5场景 5:用户账号没钱VV1提示用户账号没有钱,请充值第四步:设计测试数据测试用 例 ID场景/ 条件账号密码用户账 号余额预期结果1场景 1:成功购物Test123456800成功购物, 账号余额减少100 元2场景 2:账号不存在aan/an/a提示账号不存在3场景 3:账号密码错误 (账号正确,密码错误)Test111111n/a提示账号密码错误, 返回 基本流步骤 34场景 4:用户账号余额不 足Test12345650提示用户账号余额不足,请充值5场景 5:用户账号没钱Test1234560提示用户账号没有钱, 请 充值等价类
5、划分法一、计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价 类和无效等价类) 。年龄:一位、两位或三位整数,值的有效范围为 0120 性别:一位英文字符,只能取值 M或 F 婚姻:字符,只能取值已婚或未婚 抚养人数:空白或一位非零整数( 19)2)根据( 1)中的等价类表,设计能覆盖所有等价类的测试用例。二、某城市电话号码由三部分组成,分别是:地区码 空白或三位数字;前 缀 非 0 或 1开头的三位数字;后 缀 4 位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。 请使用等价类划分法设计测试用例,给出等价类列
6、表,设计测试用例。三、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。一个程序读入 3个整数,把这三个数值看作一个三角形的 3 条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。四、设有一个档案管理系统, 要求用户输入以年月表示的日期。 假设日期限定在 1990 年 1 月2049 年 12 月,并规定日期由 6 位数字字符组成,前 4 位表示年,后 2 位表示月。现 用等价类划分法设计测试用例,来测试程序的 日期检查功能 。1) 划分等价类并编号 , 下表等价类划分的结果输入等价类有效等价类无效等价类日期的类型及长度6 位数字字符有非数字字
7、符少于 6 位数字字符多于 6 位数字字符年份范围在 19902049 之间小于 1990大于 2049月份范围在 0112 之间等于 00大于 122)设计测试用例, 以便覆盖所有的有效等价类在表中列出了 3 个有效等价类, 编号分别为、,设计的测试用例如下:测试数据 期望结果 覆盖的有效等价类200211 输入有效 、3)为每一个无效等价类设计一个测试用例,设计结果如下:测试数据期望结果 覆盖的无效等价类95June无效输入 20036无效输入 2001006无效输入 198912无效输入 200401无效输入 200100无效输入 200113无效输入 五、 NextDate函数包含三个
8、变量: month 、 day和 year ,函数的输出为输入日期后一天的日期。例如,输入为 2006 年 3 月 7 日,则函数的输出为 2006 年 3 月 8 日要求输入变量month 、 day 和 year 均为整数值,并且满足下列条件: 1 month 12 1 day 31 1920 year 20501)有效等价类为: M1 月份: 1月份 12D1 日期: 1日期 31Y1 年: 1812 年 20122) 若条件 中任何一个条件失效, 则 NextDate 函数都会产生一个输出, 指明相 应的变量超出取值范围,比如 month 的值不在 1-12 范围当中 。显然还存在着大
9、量 的 year 、 month 、 day 的无效组合, NextDate 函数将这些组合作统一的输出: 无效输入日期 。其无效等价类为:M2 月份:月份 12D2 日期:日期 31Y2 年:年 2012边界值分析法一、根据下面给出的规格说明,利用边界值分析的方法,给出足够的测试用例。“一个程序读入 3 个整数,把这三个数值看作一个三角形的 3 条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。 ”在三角形问题描述中, 除了要求边长是整数外, 没有给出其它的限制条件。在此,我们将 三角形每边边长的取范围值设值为 1, 100 我们可以设三角形的 3 条边分别
10、为 A,B, C。如果它们能够构成三角形的 3条边,必须满 足:A0 ,B0 , C0 ,且 A+BC , B+CA , A+CB 。 如果是等腰的,还要判断 A=B,或 B=C,或 A=C 。 如果是等边的,则需判断是否 A=B ,且 B=C,且 A=C 。、现有一个学生标准化考试批阅试卷 ,产生成绩报告的程序。其规格说明如下 :程序的输入文件由一些有 80 个字符的记录组成 ,如下图所示,所有记录分为 3 组:12 / 22三、找零钱最佳组合假设商店货品价格(R)皆不大于100元(且为整 数 ),若顾客付款在100元 内 (P) , 求找给顾客之最少货币 个(张)数?(货币面值50元(N5
11、0) , 10 元 (N10) ,5元 (N5)1 元(N1)四种)1、分析输入的情形:R 1000 R = 100R 100R= P= 100P= N10 = 1N5 = 14 =N1= 13.分 析每 种情况 , 以RR1,RR2, RR3 ,RR4表示计算要找 50, 10, 5 ,1元货币数时之剩余金额。R 100 R 100 P = 50RR2 = 10RR3 = 5RR4 = 14.由 上 述 之 输 入 输 出 条 件 组 合 出 可 能 的 情 形 。 R 100R = 00 R 1000 R = 100, P R0 R = 100, R = P = 100, RR = 500
12、 R = 100, R = P = 100, RR = 490 R = 100, R = P = 100, RR = 100 R = 100, R = P = 100, RR = 90 R = 100, R = P = 100, RR = 50 R = 100, R = P = 100, RR = 40 R = 100, R = P = 100, RR = 10 R = 100, R = P 0) | (b0) | (c0&c100 ) ) 这段程序中的判定条件可以用判定表如何表示?表中的 c=0?0c=100?是 3个排他性条件,即其中同时只有一个条件会满足,也就 是在同一列中只能有一个为
13、Y ,其他两个均为 N 。 根据判定表,我们可以输出测试用例如下:二、问题要求: ”对功率大于 50 马力的机器、 维修记录不全或已运行 10 年以上的机器, 应给予优先的维修处理” 。这里假定,“维修记录不全”和“优先维修处理”均已在别 处有更严格的定义 。请建立判定表。1确定规则的个数:这里有 3 个条件,每个条件有两个取值,故应有 2*2*2=8 种规则。 列出所有的条件茬和动作桩:填入条件项。 可从最后 1 行条件项开始, 逐行向上填满。 如第三行是: Y N Y N Y N Y N , 第二行是: Y Y N N Y Y N N 等等。填入动作桩和动作顶。这样便得到形如图的初始判定表
14、。化简,合并相似规则后得到图。三、用决策表测试法测试以下程序:该程序有三个输入变量 month、day、year( month、day和 year 均为整数值,并且满足: 1 month 12 和 1 day 31),分别作为输入日期的月份、 日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004年 11月 29日,则该程序的输出为 2000年 12月 1日。1)分析各种输入情况,列出为输入变量 month 、 day、 year 划分的有效等价类。2)分析程序规格说明, 结合以上等价类划分的情况给出问题规定的可能采取的操作 (即列出 所有的动作桩) 。3)根据( 1
15、)和( 2),画出简化后的决策表。 案例分析如下:month 变量的有效等价类:M1: month=4,6,9,11M2: month=1,3,5,7,8,10M3: month=12M4: month=22)day 变量的有效等价类:D1:1 day26 D2: day=27 D3: day=28D6: day=31Y2: year 不是闰年 D4: day=29 D5: day=303)year 变量的有效等价类:Y1: year 是闰年 4)考虑各种有效的输入情况,程序中可能采取的操作有以下六种:在检验程序的功能时判定表也就成为4. 判定表在功能测试中的应用 1)一些软件的功能需求可用判
16、定表表达得非常清楚,个不错的工具。如果一个软件的规格说明指出:I.当条件 1 和条件 2满足,并且条件 3和条件 4不满足,或者当条件 1、3和条件 4 满足时, 要执行操作 1。II.在任一个条件都不满足时,要执行操作 2。III.在条件 1 不满足,而条件 4 被满足时,要执行操作 3。 根据规格说明得到如下判定表这里,判定表只给出了 16 种规则中的 8种。事实上,除这 8 条以外的一些规则是指当不能 满足指定的条件,执行 3 种操作时, 要执行 1 个默许的操作。 在没必要时, 判定表通常可略 去这些规则。但如果用判定表来设计测试用例,就必须列出这些默许规则(如下表) 。规则 5规则
17、6规则 7规则 8条件 1-NYY条件 2-YYN条件 3YNNN条件 4NNY-默许操 作xxxx因果图法A. 输入条件的约束有以下 4 类: E约束(异):a和 b中至多有一个可能为 1,即 a和 b不能同时为 1。2I 约束(或): a、 b和 c中至少有一个必须是 1,即 a、b 和 c不能同时为 0。3O约束(唯一) ;a和 b必须有一个,且仅有 1个为 1。4R约束(要求):a是1时, b必须是 1,即不可能 a是 1时b是0。 B.输出条件约束类型输出条件的约束只有 M 约束(强制) :若结果 a是 1,则结果 b强制为 0。一、某软件规格说明书包含这样的要求:第一列字符必须是 A 或 B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息 L ;如果第二 列字符不是数字,则给出信息 M。解答:1) 根据题意,原因和结果如下:原因:1 第一列字符是 A;2 第一列字符是 B;3 第二列字符是一数字。结果:21 修改文件;22 给出信息 L;23 给出信息 M。2) 其对应的因果图如下:E 约束。3)根据因果图建立判定表。表中 8 种情况的左面两列情况中,原因和原因同时为 1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了 6 种情况的测试用例,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1