tceic.com
学霸学习网 这下你爽了
当前位置:首页 >> 幼儿读物 >>

软件测试用例设计案例

精品文档

你我共享

软件测试用例设计案例 等价类型划分法等价类划分是一种典型的黑盒测试方法用这一方法设计测 试用例完全不考虑程序的内部结构只根据对程序的需求和说明即需求规格说明 书。 由于穷举测试工作量太大以至于无法实际完成促使我们在大量的可能数据 中选取其中的一部分作为测试用例。 例如在不了解等价分配技术的前提下我们做计算器程序的加法测试时测试 了 11121314 之后还有必须测试 15 和 16 吗能否放心的认为它们时正确的我们感 觉 15 和 16 与前面的 1112 都是类似的简单加法。 等价类划分法是把程序的输入域划分成若干部分然后从每个部分中选取少 数代表性数据当作测试用例。 每一类的代表性数据在测试中的作用等价于这一类 中的其他值也就是说如果某一类中的一个例子发现了错误这一等价类中的其他 例子也能发现同样的错误反之如果某一类中的一个例子没有发现错误则这一类 中的其他例子也不会查出错误。 使用这一方法设计测试用例首先必须在分析需求 规格说明的基础上划分等价类列出等价类表。 1.划分等价类和列出等价类表。 等价类是指某个输入域的子集合。 在该子集合中各个输入数据对于揭露程序 中的错误都是等效的。 并合理地假定测试某等价类的代表值就等于对这一类其他 值的测试。 因此可以把全部输入数据合理划分为若干等价类在每一个等价类中取一个 数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。 等价类划分有两种不同的情况有效等价类和无效等价类。 有效等价类是指对于程序的规格说明来说是合理的、 有意义的输入数据构成 的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性 能。 无效等价类与有效等价类的定义恰巧相反。 设计测试用例时要同时考虑这两种等价类。 因为软件不仅要能接收合理的数 据也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。 下面给出 6 条确定等价类的原则①在输入条件规定了取值范围或值的个数 的情况下则可以确立一个有效等价类和两个无效等价类。 ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下 可以确立一个有效等价类和一个无效等价类。 ③在输入条件是一个布尔量的情况下可确定一个有效等价类和一个无效等 价类。 ④在规定了输入数据的一组值假定 n 个并且程序要对每一个输入值分别处 理的情况下可确立 n 个有效等价类和一个无效等价类。 软件工程规范、实践与案例分析 2⑤在规定了输入数据必须遵守的规则的情 况下可确立一个有效等价类符合规则和若干个无效等价类从不同角度违反规则。 ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下则应 再将该等价类进一步地划分为更小的等价类。 在确立了等价类之后建立等价类表列出所有划分出的等价类如表 5-1。 表 5-1 等价类表示例输入条件有效等价类无效等价类………………2.确定 测试用例根据已列出的等价类表按以下步骤确定测试用例①为每个等价类规定

AAAAAA

精品文档

你我共享

一个唯一的编号②设计一个新的测试用例使其尽可能多地覆盖尚未覆盖的有效 等价类。 重复这一步最后使得所有有效等价类均被测试用例所覆盖③设计一个新 的测试用例使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆 盖。 在寻找等价区间时想办法把软件的相似输入、输出、操作分成组。这些组就 是等价区间。请看下面这个例子。 个人所得税计算。 个人取得的工资、薪金所得是指个人因任职或者受雇而取得的工资、薪金、 奖金、年终加薪、劳动分红、津贴、补贴以及与任职或受雇有关的其他所得。 工资、 薪金所得项目税率表级数全月应纳税所得额税率速算扣除法元 1 不超 过 500 元的 502 超过 500 元至 2000 元的部分 1025 第 7 章软件测试 33 超过 2000 元至 5000 元的部分 151254 超过 5000 元至 20000 元的部分 203755 超过 20000 元至 40000 元的部分 2513756 超过 40000 元至 60000 元的部分 3033757 超过 60000 元至 80000 元的部分 3563758 超过 80000 元至 100000 元的部分 40103759 超过 100000 元的部分 4515375 工资、薪金所得按以下步骤计算缴纳个人所得税每月 取得工资收入后先减去个人承担的基本养老保险金、医疗保险金、失业保险金以 及按省级政府规定标准缴纳的住房公积金再减去费用扣除额 1600 元/月来源于 境外的所得以及外籍人员、华侨和香港、澳门、台湾同胞在中国境内的所得每月 还可附加减除费用 3200 元为应纳税所得额按 5 至 45 的九级超额累进税率计算缴 纳个人所得税。 计算公式是应纳个人所得税税额应纳税所得额×适用税率-速算扣除数例王 某当月取得工资收入 9000 元当月个人承担住房公积金、基本养老保险金、医疗 保险金、 失业保险金共计 1000 元费用扣除额为 1600 元则王某当月应纳税所得额 9000-1000-16006400 元。应纳个人所得税税额 6400×20-375905 元。 以 A 代表应纳税所得额。 列出等价类表如表 5-2 所示。 表 5-2 等价类表输入条件有效等价类无效等价类是否是合法的薪酬数据 Agt01Alt02 软件工程规范、实践与案例分析 4 不超过 500 元 0ltAlt5003500 元 至 2000 元 500ltAlt200042000 元至 5000 元 2000ltAlt500055000 元至 20000 元 5000ltAlt20000620000 元至 40000 元 20000ltAlt40000740000 元至 60000 元 40000ltAlt60000860000 元至 80000 元 60000ltAlt80000980000 元至 100000 元 80000ltAlt10000010100000 元以上 100000ltA11 设计测试用例输入顺序是 【ABC】 如表 5-3 所示表 5-3 测试用例第 7 章软件测试 5 序号 A 覆盖等价类输出 130013152-102 提示“应纳税额不能是负数”36001、435430001、53255100001、 616256300001 、 761257500001 、 8116258700001 、 9181259900001 、 1025625101200001、1138625 请记住等价分配的目标是把可能的测试用例组合缩 减到仍然足以满足软件测试需求为止。 因为选择了不完全测试就要冒一定的风险 所以必须仔细选择分类。 关于等价分配最后要讲的一点是这样做有可能不客观。 科学有时也是一门艺 术。测试同一个复杂程序的两个软件测试员可能会制定出两组不同的等价区间。 只有审查等价区间的人都认为它们足以覆盖测试对象就可以了。 2 边界分析法依据经验输入或输出范围的边界上往往是错误的多发地带因 此针对各种边界情况设计测试用例是必要的。

AAAAAA

精品文档

你我共享

例如在计算个人所得税时税率是分段计算的每段的边界是需要重点关注的。 假定开发者在编写程序计算应纳税额在 2000 到 5000 区间的所得税代码如 下… ifAgt500ampAlt2000taxA0.1 – 25ifAgt2000ampAlt5000taxA0.15 – 125 软 件工程规范、实践与案例分析 6 由于开发人员的疏忽导致边界值 2000 对应的所 得税没有计算。 如果软件中有诸如数值、速度、字符、地址、位置、尺寸、数量等数据类型 那么进行边界分析时可以考虑这些类型的下述特征: 第一个/最后一个最小值/最大值开始/完成超过/在内空/满最短/最长最慢/ 最快最早/最迟最大/最小最高/最低相邻/最远除了边界值还需要测试边界值附 近的取值。 例如: 第一个减 1/最后一个加 1 开始减 1/完成加 1 空了再减/满了再加慢上加慢/ 快上加快最大数加 1/最小数减 1 最小值减 1/最大值加 1 刚好超过/刚好在内短了 再短/长了再长早了更早/晚了更晚最高加 1/最低减 1 另一些该注意的输入:默认 空白空值零值和无非法错误不正确和垃圾数据.3 场景法第 7 章软件测试 7 场景 法的基本原理是依据用例中定义的事件流定义测试用例。 以下是 RUP 中对场景测试的说明。 用于功能性测试的测试用例来源于测试目标的用例。 应该为每个用例场景编 制测试用例。 用例场景要通过描述流经用例的路径来确定这个流经过程要从用例 开始到结束遍历其中所有基本流和备选流。 例如下图中经过用例的每条不同路径都反映了基本流和备选流都用箭头来 表示。 基本流用直黑线来表示是经过用例的最简单的路径。每个备选流自基本流 开始之后备选流会在某个特定条件下执行。 备选流可能会重新加入基本流中备选 流 1 和 3 还可能起源于另一个备选流备选流 2 或者终止用例而不再重新加入某个 流备选流 2 和 4。 用例的事件流示例遵循上图中每个经过用例的可能路径可以确定不同的用 例场景。 从基本流开始再将基本流和备选流结合起来可以确定以下用例场景场景 1 基本流软件工程规范、实践与案例分析 8 场景 2 基本流备选流 1 场景 3 基本流 备选流 1 备选流 2 场景 4 基本流备选流 3 场景 5 基本流备选流 3 备选流 1 场景 6 基本流备选流 3 备选流 1 备选流 2 场景 7 基本流备选流 4 场景 8 基本流备选流 3 备选流 4 注为方便起见场景 5、6 和 8 只描述了备选流 3 指示的循环执行一次的 情况。 生成每个场景的测试用例是通过确定某个特定条件来完成的这个特定条件 将导致特定用例场景的执行。 例如假定上图描述的用例对备选流 3 规定如下“如果在上述步骤 2?6?7 输入提款金额?6? 8 中输入的美元量超出当前帐户余额则出现此事件流。系统 将显示一则警告消息之后重新加入基本流再次执行上述步骤 2?6? 7 输入提款 金额?6?8 此时银行客户可以输入新的提款金额。 ”据此可以开始确定需要用来 执行备选流 3 的测试用例测试用例 ID 场景条件预期结果 TCx 场景 4 步骤 2-提款 金额 gt 帐户余额在步骤 2 处重新加入基本流 TCy 场景 4 步骤 2-提款金额 lt 帐 户余额不执行备选流 3 执行基本流 TCz 场景 4 步骤 2-提款金额帐户余额不执行 备选流 3 执行基本流第 7 章软件测试 9 注由于没有提供其他信息以上显示的测试 用例都非常简单。测试用例很少如此简单。

AAAAAA

精品文档

你我共享

下面是一个由用例生成测试用例的更符合实际情况的示例。 示例一台 ATM 机器的主角和用例。 下表包含了上图中提款用例的基本流和某些备用流基本流本用例的开端是 ATM 处于准备就绪状态。 准备提款-客户将银行卡插入 ATM 机的读卡机。 验证银行卡-ATM 机从银行卡的磁条中读取帐户代码并检查它是否属于可以 接收的银行卡。 输入 PIN-ATM 要求客户输入 PIN 码 4 位验证帐户代码和 PIN-验证帐户代码 和 PIN 以确定该帐户是否有效以及所输入的 PIN 对该帐户来说是否正确。 对于此 事件流帐户是有效的而且 PIN 对此帐户来说正确无误。 ATM 选项-ATM 显示在本机上可用的各种选项。 在此事件流中银行客户通常选 择“提款” 。 输入金额-要从 ATM 中提取的金额。对于此事件流客户需选择预设的金额 10 美元、20 美元、50 美元或 100 美元。 软件工程规范、实践与案例分析 10 授权-ATM 通过将卡 ID、PIN、金额以及 帐户信息作为一笔交易发送给银行系统来启动验证过程。 对于此事件流银行系统 处于联机状态而且对授权请求给予答复批准完成提款过程并且据此更新帐户余 额。 出钞-提供现金。 返回银行卡-银行卡被返还。 收据-打印收据并提供给客户。ATM 还相应地更新内部记录。 用例结束时 ATM 又回到准备就绪状态。 备选流 1-银行卡无效在基本流步骤 2 中-验证银行卡如果卡是无效的则卡被 退回同时会通知相关消息。 备选流 2-ATM 内没有现金在基本流步骤 5 中-ATM 选项如果 ATM 内没有现金 则“提款”选项将无法使用。 备选流 3-ATM 内现金不足在基本流步骤 6 中-输入金额如果 ATM 机内金额少 于请求提取的金额则将显示一则适当的消息并且在步骤 6-输入金额处重新加入 基本流。 备选流 4-PIN 有误在基本流步骤 4 中-验证帐户和 PIN 客户有三次机会输入 PIN。 如果 PIN 输入有误 ATM 将显示适当的消息如果还存在输入机会则此事件流在 步骤 3-输入 PIN 处重新加入基本流。 如果最后一次尝试输入的 PIN 码仍然错误则该卡将被 ATM 机保留同时 ATM 返回到准备就绪状态本用例终止。 备选流 5-帐户不存在在基本流步骤 4 中-验证帐户和 PIN 如果银行系统返回 的代码表明找不到该帐户或禁止从该帐户中提款则 ATM 显示适当的消息并且在 步骤 9-返回银行卡处重新加入基本流。 备选流 6-在基本流步骤 7-授权中银行系统返回代码表明帐户余额少于在基 本流步骤第 7 章软件测试 11 帐面金额不足 6-输入金额内输入的金额则 ATM 显示 适当的消息并且在步骤 6-输入金额处重新加入基本流。 备选流 7-达到每日最大的提款金额在基本流步骤 7-授权中银行系统返回的 代码表明包括本提款请求在内客户已经或将超过在 24 小时内允许提取的最多金

AAAAAA

精品文档

你我共享

额则 ATM 显示适当的消息并在步骤 6-输入金额上重新加入基本流。 备选流 x-记录错误如果在基本流步骤 10-收据中记录无法更新则 ATM 进入 “安全模式” 在此模式下所有功能都将暂停使用。同时向银行系统发送一条适当 的警报信息表明 ATM 已经暂停工作。 备选流 y-退出客户可随时决定终止交易退出。交易终止银行卡随之退出。 备选流 z-“翘起”ATM 包含大量的传感器用以监控各种功能如电源检测器、 不同的门和出入口处的测压器以及动作检测器等。 在任一时刻如果某个传感器被 激活则警报信号将发送给警方而且 ATM 进入“安全模式”在此模式下所有功能都 暂停使用直到采取适当的重启/重新初始化的措施。 在第一次迭代中根据迭代计划我们需要核实提款用例已经正确地实施。 此时 尚未实施整个用例只实施了下面的事件流基本流-提取预设金额 10 美元、20 美 元、 50 美元、 100 美元备选流 2-ATM 内没有现金备选流 3-ATM 内现金不足备选流 4-PIN 有误备选流 5-帐户不存在/帐户类型有误备选流 6-帐面金额不足可以从这 个用例生成下列场景场景 1-成功的提款基本流场景 2-ATM 内没有现金基本流备 选流 2 场景 3-ATM 内现金不足基本流备选流 3 软件工程规范、实践与案例分析 12 场景 4-PIN 有误还有输入机会基本流备选流 4 场景 5-PIN 有误不再有输入机 会基本流备选流 4 场景 6-帐户不存在/帐户类型有误基本流备选流 5 场景 7-帐户 余额不足基本流备选流 6 注为方便起见备选流 3 和 6 场景 3 和 7 内的循环以及循 环组合未纳入上表。 对于这 7 个场景中的每一个场景都需要确定测试用例。 可以采用矩阵或决策 表来确定和管理测试用例。 下面显示了一种通用格式其中各行代表各个测试用例 而各列则代表测试用例的信息。本示例中对于每个测试用例存在一个测试用例 ID、 条件或说明、 测试用例中涉及的所有数据元素作为输入或已经存在于数据库 中以及预期结果。 通过从确定执行用例场景所需的数据元素入手构建矩阵。 然后对于每个场景 至少要确定包含执行场景所需的适当条件的测试用例。例如在下面的矩阵中 V 有效用于表明这个条件必须是 VALID 有效的才可执行基本流而 I 无效用于表明这 种条件下将激活所需备选流。下表中使用的“n/a”不适用表明这个条件不适用 于测试用例。 TC 测试用例 ID 号场景/条件 PIN 帐号输入的金额或选择的金额帐面金额 ATM 内的金额预期结果 CW1.场景 1-成功的提款 VVVVV 成功的提款。 CW2.场景 2-ATM 内没有现 VVVVI 提款选项不可用用例结束第 7 章软件测试 13 金 CW3.场景 3-ATM 内现金不足 VVVVI 警告消息返回基本流步骤 6-输入金额 CW4. 场景 4-PIN 有误还有不止一次输入机会 IVn/aVV 警告消息返回基本流步骤 4 输入 PINCW5.场景 4-PIN 有误还有一次输入机会 IVn/aVV 警告消息返回基本流步骤 4 输入 PINCW6.场景 4-PIN 有误不再有输入机会 IVn/aVV 警告消息卡予保留用例结 束在上面的矩阵中六个测试用例执行了四个场景。对于基本流上述测试用例 CW1 称为正面测试用例。 它一直沿着用例的基本流路径执行未发生任何偏差。基本流 的全面测试必须包括负面测试用例以确保只有在符合条件的情况下才执行基本 流。 这些负面测试用例由 CW2 至 6 表示阴影单元格表明这种条件下需要执行备选 流。虽然 CW2 至 6 对于基本流而言都是负面测试用例但它们相对于备选流 2 至 4 而言是正面测试用例。 而且对于这些备选流中的每一个而言至少存在一个负面测 试用例 CW1-基本流。

AAAAAA

精品文档

你我共享

每个场景只具有一个正面测试用例和负面测试用例是不充分的场景 4 正是 这样的一个示例。 要全面地测试场景 4-PIN 有误至少需要三个正面测试用例以激 活场景 4 输入了错误的 PIN 但仍存在输入机会此备选流重新加入基本流中的步骤 3-输入 PIN。 输入了错误的 PIN 而且不再有输入机会则此备选流将保留银行卡并终止用 例。 最后一次输入时输入了“正确”的 PIN。备选流在步骤 5-输入金额处重新加 入基本流。 注在上面的矩阵中无需为条件数据输入任何实际的值。 以这种方式创建测试 用例矩阵的一个优点在于容易看到测试的是什么条件。由于只需要查看 V 和 I 或此处采用的阴影单元格这种方式还易于判断是否已经确定了充足的测试用例。 从上表中可发现软件工程规范、实践与案例分析 14 存在几个条件不具备阴影单 元格这表明测试用例还不完全如场景 6-不存在的帐户/帐户类型有误和场景 7帐户余额不足就缺少测试用例。 一旦确定了所有的测试用例则应对这些用例进行复审和验证以确保其准确 且适度并取消多余或等效的测试用例。有关详细信息请参见检查点测试用例。 测试用例一经认可就可以确定实际数据值在测试用例实施矩阵中并且设定 测试数据关于测试数据的详细信息请参见指南测试数据。 TC 测试用例 ID 号场景/条件 PIN 帐号输入的金额或选择的金额帐面金额 ATM 内的金额预期结果 CW1.场景 1-成功的提款 4987809-49850.00500.002000 成功的 提 款 。 帐 户 余 额 被 更 新 为 450.00CW2. 场 景 2-ATM 内 没 有 现 金 4987809-498100.00500.000.00 提款选项不可用用例结束 CW3.场景 3-ATM 内现金 不足 4987809-498100.00500.0070.00 警告消息返回基本流步骤 6-输入金额 CW4. 场景 4-PIN 有误还有不止一次输入机会 4978809-498n/a500.002000 警告消息返 回基本流步骤 4 输入 PINC 场景 4-PIN4809-n/a500.002000 警告消息第 7 章软件 测试 15W5.有误还有一次输入机会 978498 返回基本流步骤 4 输入 PINCW6.场景 4-PIN 有误不再有输入机会 4978809-498n/a500.002000 警告消息卡予保留用例 结束以上测试用例只是在本次迭代中需要用来验证提款用例的一部分测试用例。 需要的其他测试用例包括场景 6-帐户不存在/帐户类型有误未找到帐户或帐户 不可用场景 6-帐户不存在/帐户类型有误禁止从该帐户中提款场景 7-帐户余额 不足请求的金额超出帐面金额 4 软件测试设计实例测试“建立新岗位”功能。 建立新岗位的需求需求编号 FR-StructureMG-1 需求描述超级用户登录系统 后可以新建岗位。 新建岗位时可以设定新建岗位的岗位名称、所在部门、岗位描述信息。 新建岗位的信息不能缺失如果某一项没有填写要给出提示。 用例规约用例名称建立新岗位用例 IDESM-ZZJG-1 角色 SuperUser 用例说明 SuperUser 创建新岗位。 前置条件 SuperUser 已经登录 ESM 系统。 基本事件流 1.SuperUser 请求新建岗位 2.ESM 系统弹出岗位信息查询页面如 图 ESM-ZZJG-1 所示软件工程规范、实践与案例分析 163.SuperUSer 选择“新建” 4.系统弹出.

AAAAAA

精品文档

你我共享

沁园春·雪
北国风光, 千里冰封, 万里雪飘。 望长城内外, 惟余莽莽; 大河上 下, 顿失滔滔。 山舞银蛇, 原驰蜡象, 欲与天公试 比高。 须晴日, 看红装素裹, 分外妖娆。 江山如此多娇, 引无数英雄竞折腰。 惜秦皇汉武, 略输文采; 唐宗宋 祖, 稍逊风骚。 一代天骄, 成吉思汗, 只识弯弓射 大雕。 俱往矣, 数风流人物, 还看今朝。


AAAAAA


网站首页 | 网站地图 | 学霸百科
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com