《软件测试用例》PPT课件.ppt_第1页
《软件测试用例》PPT课件.ppt_第2页
《软件测试用例》PPT课件.ppt_第3页
《软件测试用例》PPT课件.ppt_第4页
《软件测试用例》PPT课件.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

王雯佳 软件测试用例 本节内容 了解用例的粒度不同类型测试的用例要怎么写 什么是测试用例及为什么要做用例优质测试用例应具备的特性测试用例设计方法因果图判定表驱动分析方法错误推测法场景法测试用例数据选取方法等价类划分 设计用例和数据共用 边界值分析 设计用例和数据共用 测试用例书写标准一些测试用例的例子 测试需求的粒度 一个样例 及其简单 需要正确输入QQ号码和口令 简单 检查QQ号的各种情况检查口令的各种情况 详细 1 检查QQ号码大于允许最大长度包含特殊字符全部为数字为空空格错误的QQ号正确的QQ号 详细 续 2 检查口令大于允许最大长度包含特殊字符全部为数字各种字符的组合为空空格错误的口令正确的口令 系统功能需求 根据系统架构 从高到低逐级细分关注具体的系统功能及功能的不同处理情形粒度以到不同的处理情形为宜正常与异常处理情形都要考虑问题 测试需求的粒度跟哪些因素相关 界面需求 界面功能根据界面划分考虑控件对各种输入的响应界面元素考虑元素各种属性 位置 大小 颜色 显示等 先整体后局部局部按界面划分考虑内容正确性 安装需求 缺省安装配置优先按照安装配置结构划分考虑所有安装配置考虑安装过程中的异常行为 业务需求 根据业务结构和分类 从上至下逐级细分关注具体业务粒度以到不同业务场景为宜考虑正常与异常业务场景 性能 压力需求 先结构后类型先列举后细分细述指标和要求 安全性需求 先列举后细分详述各项内容 兼容性需求 先硬件后软件先系统后应用详述环境组合 测试范围 在测试项目中 我们需要进行开发生命周期中哪些阶段测试单元测试集成测试系统测试验收测试例如 在为A公司 某软件开发公司 提供的一个测试服务项目中 测试的范围包括集成测试和系统测试 在为B公司 某行业用户企业 提供的一个测试服务项目中 测试的范围只包括验收测试 项目的测试目标 系统的哪些特性需要被测试以保证这些特性的质量 系统特性包括 功能 性能 易用性 安全性 兼容性 测试目标要根据系统的特点进行分解细化 分解到一个可测试的粒度 即单项具体的特性 未经分解细化 笼统的 整体或者概括性的特性不利于测试工作的开展 测试需求注意事项 作为测试项目的基础 测试需求有5个需要依据的准则 完整性无歧义性一致性可跟踪性可测试性 18 测试用例概述 测试用例是测试工作的指导 是软件测试必须遵守的准则 更是软件测试质量稳定的根本保障 测试用例的内容是一系列情景和步骤的描述 并对每个步骤中必须列出依靠输入的数据 预计输出结果 将这一过程整理成测试文档 称为测试用例 测试用例就是将软件测试的行为活动 做一个科学化的组织归纳 是思想活动的集合 19 为什么需要测试用例 根据测试用例的多少和执行难度 估算测试工作量 便于测试项目的时间和资源管理与跟踪 减少回归测试的复杂程度在软件版本更新后只需修正少量的测试用例便可展开测试工作 降低工作强度 缩短项目周期 根据测试用例的操作步骤和执行结果 可以方便地书写软件测试缺陷报告 可以根据测试用例的执行等级 实施不同级别的测试 总结 软件测试是有组织性 步骤性和计划性的 为了能将软件测试的行为转换为可管理的 具体量化的模式 20 优质测试用例应具备的特性 1 有效性 测试用例是测试过程中的重要参考依据 不同测试人员根据相同的测试用例 得到的输出应该是一致的 对于准确的测试用例的计划 执行和跟踪是测试有效性的有力证明 可复用性 良好的测试用例具有重复使用的功能 使得测试过程事半功倍 设计良好的测试用例将大大节约项目执行时间 提高测试效率 易组织性 小项目可能也会有成千上万的测试用例测试用例在使用中被反复的更新 修改或者新增 所以能有效地组织这些测试用例是非常重要的 21 优质测试用例应具备的特性 2 可评估性 从测试的项目管理角度来说 测试用例的通过率是检验代码质量的保证 软件质量好坏的量化标准 测试用例的通过率和软件BUG的数量 可管理性 测试用例也可以作为检验测试人员工作进度 执行工作量以及跟踪 管理测试人员工作效率的因素尤其是比较适用于新的测试人员的检验 从而更加合理的做出测试计划 22 测试用例设计思路 测试用例的设计是一种思路 可以从如下角度分析 1 根据被测软件的功能和特性设计测试用例 根据被测试功能点设计测试用例 根据软件性能指标设计测试用例 根据软件的兼容性要求设计测试用例 根据软件的国际化用户要求设计国际化测试用例 2 根据软件的组成元素设计测试用例 根据模块设计用例 设计联机帮助和文档手册的设计用例 设计软件的模版等数据文件的测试用例 3 根据软件的开发阶段 里程碑 设计测试用例 单元测试设计用例 集成测试设计用例 系统测试设计用例 验收测试设计用例 23 测试用例设计思路 续 5 根据被测的最小目标 确定测试用例的测试目标 6 根据用户使用环境确定测试环境 7 根据以下因素确定测试用例的步骤用户使用软件的步骤或者特定场景 确定测试执行步骤地具体内容执行者对产品的熟悉程度确定步骤的详细或粗略程度被测特性的复杂性也决定步骤的详细或粗略程度测试用例的执行方法 手工测试或自动化测试 确定步骤地内容表示自动测试用例要编写和调试测试脚本 手工测试给出执行步骤根据设计规格说明书确定期望的测试用例执行结果 24 测试用例设计方法 等价类划分边界值分析因果图判定表驱动分析方法错误推测法场景法 25 等价类划分 1 等价类划分方法把所有可能的输入数据 即程序的输入划分成若干类 然后从每一类中选取少数有代表性的数据做为测试用例 数据 等价类是某个输入的子集合 在该子集合中 各个输入数据对于揭露程序中的BUG都是等效的 测试某等价类的代表值就等价于对这一类其它值的测试 26 等价类划分 2 等价类的划分有两种不同的情况 有效等价类 代表对程序的有效输入 无效等价类 代表的则是其他任何可能的输入 即不合理的 无意义的输入值 使用等价类设计测试用例要经历划分等价类 列出等价类表 和选取测试用例 数据两步 27 划分等价类的原则 1 1 如果输入条件规定了取值范围 或值的个数 则可以确立一个有效等价类和两个无效等价类 例如 在ATM机取款时 只供应100元面值的纸钞 最少取100元 一次最多取2000元 有效等价类是 100 取款额 2000 无效等价类是 取款额 100 无效等价类是 取款额 2000 28 划分等价类的原则 2 2 如果输入条件规定了输入值的集合或者规定了 必须如何 的条件的情况下 可以确立一个有效等价类和一个无效等价类 例如 在提款机主界面 系统只接受 查询 取款 和 取消 按钮 并分别进入对应的功能 则可以划分为三个有效等价类 查询 取款 取消 一个无效等价类 其它按钮 29 划分等价类的原则 3 3 如果输入条件是一个布尔量 则可以确定一个有效等价类和一个无效等价类 例如 安装程序时 询问客户是否接受 软件许可协议 一个有效等价类 是 一个无效等价类 否 30 划分等价类的原则 4 4 在规定了输入数据的一组值 假定n个 并且程序要对每一个输入值分别处理的情况下 可确立n个有效等价类和一个无效等价类 例如 在注册信息界面 要求登录名必须是 汉字 字母 数字 不能包含特殊符号 n个有效等价类 汉字 字母 数字 或者三者组合 一个无效等价类 特殊符号 31 划分等价类的原则 5 5 在规定了输入数据必须遵守的规则情况下 可确立一个有效等价类 符合规则 和若干个无效等价类 从不同角度违反规则 例如 用户名由字符和数字组成 必须以字符开头 不能包括特殊字符或空格 不能为空 长度介于 位之间 则可以确立一个有效等价类 符合规则 若干个无效等价类 以数字开头 包括空格 包括特殊字符 为空 小于 位 32 根据等价类划分选取用例 数据 根据上述原则 列出所有的有效等价类和无效等价类设计一个新的测试用例 使其尽可能多地覆盖那些尚未被涵盖的有效等价类 重复这一步 直到所列出的所有有效等价类都被覆盖为止设计一个新的测试用例 使其覆盖一个且仅一个尚未被涵盖的无效等价类 重复这一步 直到所列出的所有无效等价类都被覆盖为止 33 划分等价类的实例 1 在证券柜台系统中规定 用户密码是由字母开头 后跟字母或数字的任意组合构成 最少字符数为4个 最大字符数为12个 并且规定 用户密码不能与用户注册号相同 且不能全为字母 用等价类划分方法 建立输入等价类表 34 划分等价类的实例 2 某工厂公开招工 在报名系统年龄输入框中规定报名者年龄应在1967年02月 1986年03月之间 即出生年月不在上述范围内 将拒绝接受 并显示 年龄不合格 等出错信息 35 划分等价类的实例 3 36 一个很重要的例子 1 根据下面给出的规格说明 利用等价类划分的方法 给出足够的测试用例 一个程序读入3个整数 把这三个数值看作一个三角形的3条边的长度值 这个程序要打印出信息 说明这个三角形是不等边的 是等腰的 还是等边的 37 一个很重要的例子 2 我们可以设三角形的3条边分别为A B C 如果它们能够构成三角形的3条边 必须满足 A 0 B 0 C 0且A B C B C A A C B 如果是等腰的 还要判断A B 或B C 或A C 如果是等边的 则需判断是否A B 且B C 且A C 38 一个很重要的例子 3 39 一个很重要的例子 4 40 因果图 使用前提 如果在测试时必须考虑输入条件的各种组合 就可使用因果图来设计测试用例 它适合于描述 对于多种条件的组合 会相应产生多个动作 的情况 因果图方法最终生成的就是判定表 它适合于检查程序输入条件的各种组合情况 因果图 42 因果图生成基本步骤 1 生成基本步骤 1 将软件规格说明 用例 分解成可执行的片断 2 确定软件规格说明 用例 中的因果关系 3 分析软件规格说明 用例 的语义内容 并将其转换为连接因果图关系的布尔图 43 因果图生成基本步骤 2 生成基本步骤 4 给图加上注解符号 说明由于语法或者环境的限制而不能联系起来的 因 和 果 5 通过仔细的跟踪图中的状态变化情况 将因果图转换为一个有限项的判定式 6 将判定式表中的列转换为测试用例 44 因果图 基本符号 1 若a 1则b 1 若a 1则b 0 45 因果图 基本符号 2 若a或b或c 1则d 1 若a b 1则c 1 46 因果图 约束条件 1 为了表示原因与原因之间 结果与结果之间可能存在的约束条件 在因果图中可以附加一些表示约束条件的符号 互斥 表示不同时为1 即a b中至多只有一个1 47 因果图 约束条件 2 包含 a b c中至少有一个应为1a b c不能同时为0 48 因果图 约束条件 3 唯一 表示a b中必须有一个且仅有一个为1 49 因果图 约束条件 4 要求 如果a 1 b也必须为1即不可能a 1且b 0 50 因果图 约束条件 5 对于输出条件的约束只有M约束 屏蔽 如果结果a为1 则b强制为0 51 因果图示例 1 例如 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计 其规格说明如下 若投入5角钱的硬币 按下 橙汁 或 啤酒 的按钮 则相应的饮料就送出来 若投入 元钱的硬币 同样也是按下 橙汁 或者 啤酒 的按钮 则自动售货机在送出相应饮料的同时退还5角硬币 52 1 分析这一段说明 列出原因和结果 1 投入1元硬币2 投入5角硬币3 押下橙汁按钮4 押下啤酒按钮 因果图示例 2 53 3 结果 21 退还5角硬币22 送出橙汁饮料23 送出啤酒饮料 4 画出因果图 所有原因结点列在左边 所有结果结点列在右边 5 由于1与2 3与4不能同时发生 分别加上约束条件E 6 转换成因果图判定表 因果图示例 3 54 因果图示例 4 已投币 已按钮 55 因果图示例 5 因果图法测试举例 奖金计算软件员工分为普通员工和管理人员员工表现分为普通 优秀和特出贡献 普通和优秀员工都可能有特殊贡献 普通员工表现为普通 优秀和管理人员表现为普通 优秀的奖金是不同的 特殊贡献的奖金是一样的 奖金分为1类 2类 解题步骤 1 分析程序的规格说明 列出原因和结果 2 找出原因与结果之间的因果关系 原因与原因之间的约束关系 画出因果图 3 将因果图转换成决策表 4 根据 3 中的决策表 设计测试用例的输入数据和预期输出 因果图法测试举例 续 1 分析程序规格说明中的原因和结果 因果图法测试举例 续 2 画出因果图 编号为10的中间结点是导出结果的进一步原因 因果图法测试举例 续 3 将因果图转换成如下所示的决策表 因果图法测试举例 续 4 根据决策表中的每一列设计测试用例 61 判定表驱动分析方法 1 判定表又称为决策表 当模块中包含复杂的条件组合 并要根据这些条件选择动作时 使用判定表能清晰地表示出复杂的条件组合与各种动作之间的对应关系 判定表举例 条件桩 动作桩 条件项 动作项 63 判定表驱动分析方法 2 一张判定表的田字型结构 条件桩 条件项 动作项 动作桩规则 决策表的读表方法 顺时针方向 64 判定表驱动分析方法 3 条件桩 列出了问题的所有条件 通常认为列出的条件的次序无关紧要 动作桩 列出了问题规定可能采取的操作 这些操作的排列顺序没有约束 条件项 列出针对它所列条件的取值 在所有可能情况下的真假值 动作项 列出在条件项的各种取值情况下应该采取的动作 65 判定表驱动分析方法 4 判定表的绘制步骤 判定表中列出多少组条件取值 也就有多少条规则 条件项和动作项就有多少列 确定规则的个数 假如有n个条件 每个条件有两面个取值 0 1 故有2n种规则 列出所有的条件桩和动作桩填入条件项填入动作项 制定判定表简化 合并相似规则或者相同动作 66 判定表驱动分析方法 2 举例问题说明 某货运站收费标准如下 如果收件地点在本省 则快件每公斤5元 慢件每公斤3元 如果收件地点在外省 则在20公斤以内 含20公斤 快件每公斤7元 慢件每公斤5元 而超过20公斤时 快件每公斤9元 慢件每公斤7元 67 判定表驱动分析方法 5 条件取值分析表 68 判定表驱动分析方法 6 判定表 69 判定表驱动分析方法 7 简化判定表 70 判定表驱动分析方法 8 化简后的判定表 举例订购单的检查 如果金额超过500元 又未过期 则发出批准单和提货单 如果金额超过500元 但过期了 则不发批准单 如果金额低于500元 则不论是否过期都发出批准单和提货单 在过期的情况下还需要发出通知单 条件取值分析表 判定表 简化判定表 设计测试用例以上判定表里 右部的每一列 条件项和对应的动作项 都是一条规则 每一条规则都可以转化为测试用例 77 错误推测法 1 人们也可以靠经验和直觉推测程序中可能存在的各种错误 从而有针对性地编写检查这些错误的例子 这就是错误推测法 错误推测法的基本想法是 列举出程序中所有可能有的错误和容易发生错误的特殊情况 根据它们选择测试用例 78 错误推测法 2 单元测试中发现的模块错误 产品的以前版本曾经发现的错误 输入数据为0或字符为空 当软件要求输入时 比如在文本框中 不是没有输入正确的信息 而是根本没有输入任何内容 单单按了Enter键 这种情况在产品说明书中常常忽视 程序员也可能经常遗忘 但是在实际使用中却时有发生 程序员总会习惯性的认为用户要么输入信息 不管是看起来合法的或非法的信息 要不就会选择Cancel键放弃输入 79 错误推测法 3 Sql注入式攻击是指利用设计上的漏洞 在服务器上运行Sql命令以达到的攻击目的Select from用户表where姓名 name and密码 password Select from用户表where姓名 111 or 1 1 and密码 aaaa 80 用例数据选取 边界值分析 1 边界值分析也是一种黑盒测试方法 是对等价类划分方法的补充 所谓边界值 是指输入和输出等价类中那些恰好处于边界 或超过边界 或在边界以下的状态 81 边界值分析 2 边界值分析方法和等价类划分方法不同的两个方面 1 与从等价类中挑选任意一个元素作为代表不同 边界值分析需要选择一个或多个元素 以便等价类的每个边界都经过一次测试 1 依据边界值分析法确定测试用例Id1 10个字母地址0 10个汉字邮编6个数字 82 边界值分析 3 如果输入条件规定了一个输入值范围 那么应针对范围的边界值设计测试用例 假如输入值的有效范围是 1 0至 1 0 那么应针对 1 0 1 0 1 001和1 001的情况设计测试用例 不要忘了0这个数值 83 边界值分析 4 如果输入条件规定了输入值的数量 那么应针对最小数量输入值 最大数量输入值 以及比最小数量少一个 比最大数量多一个的情况设计测试用例 例如某个输入文件可容纳1 255条记录 那么应根据0 1 255和256条记录的情况设计测试用例 84 测试用例书写标准 1 标示符用来说明这个文档的编号 名称或者用途等测试项本测试文档测试的对象文档拥有者 版本编号 创建日期谁写的 版本号 创建日期 修改日期 测试环境要求软件运行的环境 软环境和硬环境 测试动作描述测试一步一步执行的详细步骤描述 85 测试用例书写标准 2 预期值软件的设计要求的数据测试数据为本测试用例执行准备的验证数据测试用例间关联这份测试用例可能会跟谁相关联 组合测试 86 一个简单的例子 快速的风险分析 文件 新建 0001 对于客户非常重要 文件 打开 0002 对于客户重要 文件 保存 0003 对于客户非常重要 文件 另存为 0004 对于客户重要 文件 页面设置 0005 对于客户非常重要 文件 打印 0006 对于客户非常重要 文件 退出 0007 对于客户非常重要 菜单布局 0008 对于客户非常重要 快捷键 0009 对于客户一般 87 一个简单的例子 1 88 一个简单的例子 2 89 一个简单的例子 3 90 一个简单的例子 3 91 测试用户登录对话框的功能 测试场景 在各种输入条件下 测试程序的登录对话框功能 用户名和密码的规则如下 用户名长度为6至10位 含6位和10位 用户名由字符 a z A Z 和数字 0 9 组成不能为空 空格和特殊字符密码规则同用户名规则 92 登录对话框的功能 续1 93 登录对话框的功能 续2 94 数据驱动测试 DataDrive

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论