《测试设计和开发》PPT课件.ppt

上传人:za****8 文档编号:7281834 上传时间:2020-03-18 格式:PPT 页数:59 大小:915.50KB
返回 下载 相关 举报
《测试设计和开发》PPT课件.ppt_第1页
第1页 / 共59页
《测试设计和开发》PPT课件.ppt_第2页
第2页 / 共59页
《测试设计和开发》PPT课件.ppt_第3页
第3页 / 共59页
点击查看更多>>
资源描述
1 软件测试技术 2 第三章测试设计和开发 3 1测试设计流程3 2总体设计3 3开发测试用例3 4评审测试用例 3 3 1测试设计流程 测试设计活动的输入是测试计划 测试计划应该说明将用到的方法和测试工作的范围 测试设计活动的输出是将在系统测试和确认测试中使用的评审过的测试用例集合 4 3 2总体设计 定义设计目标清楚地说明每项测试的目标使每项测试的目的单一 可以对应到规格说明书中的一项需求只说明测试将完成什么工作 而不是说明如何完成 定义输入说明定义测试环境和配置编写测试设计文挡 5 3 3开发测试用例 什么是测试用例 测试用例是为特定目标开发的测试输入 执行条件和预期结果的集合 3 3 1了解测试用例 什么是好的测试用例 好的测试用例必须清晰地定义一个或多个期望的结果和测试通过和失败标准 好的测试用例应该容易发现软件错误 且有可重复性 没有冗余 6 测试用例的作用指导测试的实施作为编写测试脚本的 设计规格说明书 评估测试结果的度量基准分析缺陷的标准 7 什么是测试过程 IEEE将测试过程定义为 说明执行一系列测试用例的步骤 测试过程是为了评估一系列功能而进行软件项分析的步骤 3 3 2定义详细测试过程 测试用例和测试过程的区别 测试过程是由一系列的测试用例组成的 8 3 3 3定义预期结果 测试过程的每一步都需要明确预期的结果 预期结果的来源 项目专家或其他方面的专家将知道如何确定输出结果用户文档可以包含一些用户场景范例需求文档也可以提供必要的信息其他相关文档也可以提供相关线索最终用户也许能够描述所期望的响应结果 9 测试用例文档由简介和测试用例两部分组成 简介部分描述了测试目的 测试范围 定义术语 参考文档 概述等 测试用例部分逐一列示各测试用例 测试用例的基本元素 测试索引 测试环境 测试输入 测试操作 预期结果 评价标准 3 3 4测试用例内容 10 最简单的测试用例也将包含 用例编号 输入 期望结果 实际结果 11 测试的一项基本原则是 被测试的系统始终应该处于一种已知的状态 因此测试用例往往需要说明初始条件 12 样例 登录 13 测试数据 一 14 测试数据 二 15 3 3 5白盒测试用例设计 白盒测试作为结构测试方法 是按照程序内部的结构测试程序 对软件的过程性细节做细致的检查 测试人员利用程序内部的逻辑结构及有关信息 设计或选择测试用例 白盒法又称为逻辑覆盖法 其测试用例选择 是按照不同覆盖标准确定的 语句覆盖 判定覆盖 条件覆盖 条件组合覆盖 弱 强 判定条件覆盖 路径覆盖 16 1 语句覆盖 选择足够的测试用例 使得程序中每个语句至少都能被执行一次 2 判定覆盖 执行足够的测试用例 使得程序中每个判定至少都获得一次 真 值和 假 值 3 条件覆盖 执行足够的测试用例 使得判定中的每个条件获得各种可能的结果 4 判定 条件覆盖 执行足够的测试用例 使得判定中每个条件取到各种可能的值 并使每个判定取到各种可能的结果 白盒法常用的覆盖标准 17 5 条件组合覆盖 执行足够的例子 使得每个判定中条件的各种可能组合都至少出现一次 6 路径覆盖 执行足够的例子 覆盖程序中所有可能的路径 白盒法常用的覆盖标准 18 白盒法步骤 例 用白盒法测试以下程序段 Procedure VARA B X REAL BEGINIF A 1 AND B 0 THENX X A IF A 2 OR X 1 THENX X 1END 1 选择逻辑覆盖标准 2 按照覆盖标准列出所有情况 3 选择确定测试用例 4 验证分析运行结果与预期结果 逻辑结构 19 白盒法举例 Procedure VARA B X REAL BEGINIF A 1 AND B 0 THENX X A IF A 2 OR X 1 THENX X 1END 20 1 语句覆盖 使得程序中每个语句至少都能被执行一次 A 1ANDB 0 X X A A 2ORX 1 X X 1 a b c d e 满足语句覆盖的情况 执行路径 ace 选择用例 2 0 4 2 0 3 用例格式 输入 A B X 输出 A B X Y N Y N 21 2 判定覆盖 使得程序中每个判定至少为TRUE或FALSE各一次 A 1ANDB 0 X X A A 2ORX 1 X X 1 a b c d e 覆盖情况 应执行路径ace abd或 acd abe 选择用例 其一 2 0 4 2 0 3 ace 1 1 1 1 1 1 abd 2 1 1 2 1 2 abe 3 0 3 3 1 1 acd Y Y N N 22 3 条件覆盖 A 1ANDB 0 X X A A 2ORX 1 X X 1 a b c d e 使得判定中的每个条件获得各种可能的结果 应满足以下覆盖情况 判定一 A 1 A 1 B 0 B 0判定二 A 2 A 2 X 1 X 1 选择用例 2 0 4 2 0 3 1 1 1 1 1 1 N N Y Y 2 A 1 A 2 0 B 0 4 X 1 1 A 1 A 2 1 B 0 1 X 1 注意 1 0 3 1 0 4 2 1 1 2 1 2 满足条件覆盖 但不满足判断覆盖 23 4 判定 条件覆盖 同时满足判断覆盖和条件覆盖 A 1ANDB 0 X X A A 2ORX 1 X X 1 a b c d e 应满足以下覆盖情况 条件 A 1 A 1 B 0 B 0A 2 A 2 X 1 X 1应执行路径ace abd或 acd abe 选择用例 2 0 4 2 0 3 ace 1 1 1 1 1 1 abd Y Y N N 24 5 条件组合覆盖 使得每个判定中条件的各种可能组合都至少出现一次 A 1 X X A A 2 X X 1 a b c d e B 0 X 1 Y N Y N Y N Y N 编译系统下的执行情况 部分路径未被执行 满足以下覆盖情况 A 1 B 0 A 1 B 0 A 1 B 0 A 1 B 0 A 2 X 1 A 2 X 1 A 2 X 1 A 2 X 1 选择用例 2 0 4 2 0 3 2 1 1 2 1 2 1 0 3 1 0 4 1 1 1 1 1 1 25 6 路径覆盖 覆盖程序中所有可能的路径 A 1ANDB 0 X X A A 2ORX 1 X X 1 a b c d e Y Y N N 26 等价分类法 边值分析法 错误推测法 因果图法 3 3 7黑盒测试用例设计 黑盒测试不考虑程序的内部结构与特性 只根据程序功能或程序的外部特性设计测试用例 27 1 等价分类法 基本思想 根据程序的I O特性 将程序的定义域划分为有限个等价区段 等价类 从等价类中选择出的用例 具有 代表性 等价类分为 有效等价类 对于程序的规格说明是合理的 有意义的输入数据构成的集合 无效等价类 对于程序的规格说明 是不合理的 是没有意义的输入数据构成的集合 28 等价分类法步骤 应按照输入条件 如输入值的范围 值的个数 值的集合 输入条件必须如何 划分为有效等价类和无效等价类 例如 每个学生可选修1 3门课程可以划分一个有效等价类 选修1 3门课程 可以划分两个无效等价类 未选修课 选修课超过3门 又如 标识符的第一个字符必须是字母 可以划分为一个有效等价类 第一个字符是字母 可以划分一个无效等价类 第一个字符不是字母 划分 等价类 显然 关键是如何划分等价类 A 为每个等价类编号 B 使一个测试用例尽可能覆盖多个有效等价类C 特别要注意的是 一个测试用例只能覆盖一个无效等价类 选择测试用例 等价分类法步骤 29 2 边值分析法 基本思想 选择等价类的边缘值作为测试用例 让每个等价类的边界都得到测试 选择测试用例既考虑输入亦考虑输出 分析步骤 A 先划分等价类 B 选择测试用例 测试等价类边界 边界选择原则 A 按照输入值范围的边界 B 按照输入 输出值个数的边界 C 输出值域的边界 D 输入 输出有序集的边界 30 A 按照输入值范围的边界 例如 输入值的范围是 1 0至1 0 则可选择用例 1 0 1 0 1 001 1 001 B 按照输入 输出值个数的边界 例如 输入文件可有1 255个记录 则设计用例 文件的记录数为0个 1个 255个 256个 C 输出值域的边界 例如 检索文献摘要 最多4篇 设计用例 可检索0篇 1篇 4篇 和5篇 错误 D 输入 输出有序集 如顺序文件 线性表 的边界 应选择第一个元素和最后一个元素 边值分析法举例 31 黑盒法应用实例 一 例 某报表处理系统要求用户输入处理报表的日期 日期限制在2003年1月至2008年12月 即系统只能对该段期间内的报表进行处理 如日期不在此范围内 则显示输入错误信息 系统日期规定由年 月的6位数字字符组成 前四位代表年 后两位代表月 32 第一步 等价类划分 输入条件有效等价类无效等价类 报表日期的类型及长度 6位数字字符 1 有非数字字符 4 少于6个数字字符 5 多于6个数字字符 6 年份范围 在2003 2008之间 2 小于2003 7 大于2008 8 月份范围 在1 12之间 3 报表日期 输入条件的等价类表 小于1 9 大于12 10 33 第二步 为有效等价类设计测试用例 测试数据期望结果覆盖范围 200306 等价类 1 2 3 输入有效 对表中编号为1 2 3的3个有效等价类用一个测试用例覆盖 1 6位数字字符 2 年在2003 2008之间 3 月在1 12之间 34 第三步 为每一个无效等价类设至少设计一个测试用例 测试数据期望结果覆盖范围 003MAY 等价类 4 输入无效 20035 等价类 5 输入无效 2003005 等价类 6 输入无效 200105 等价类 7 输入无效 200905 等价类 8 输入无效 200300 等价类 9 输入无效 200313 等价类 10 输入无效 不能出现相同的测试用例 本例的10个等价类至少需要8个测试用例 35 输入条件 报表日期的类型及长度 5个数字字符7个数字字符有1个非数字字符全部是非数字字符6个数字字符 显示出错显示出错显示出错显示出错输入有效 日期范围 月份范围 报表日期 6位数字字符 边界值分析法测试用例 测试用例说明 测试数据 期望结果 选取理由 2003520030052003 5MAY 200305 月份为1月月份为12月月份12 200301200312200300200313 200301200812200300200813 输入有效输入有效显示出错显示出错 输入有效输入有效显示出错显示出错 在有效范围边界上选取数据 比有效长度少1比有效长度多1只有1个非法字符6个非法字符类型及长度均有效 最小日期最大日期刚好小于最小日期刚好大于最大日期 最小月份最大月份刚好小于最小月份刚好大于最大月份 36 黑盒法应用实例 二 保险费率计算人人保险公司承担人寿保险已有多年历史 该公司保费计算方式为投保额 保险率 保险率又依点数不同而有别 10点以上费率为0 6 10点以下费率为0 1 37 输入数据说明 38 一 分析输入数据形式年龄 一或两位数字 性别 以英文 Male Female M F 表示 婚姻 已婚 未婚 抚养人数 空白或一位数字 保险费率 10点以上 10点以下 39 二 划分输入数据 40 41 三 设计输入数据 42 43 四 设计测试用例 44 45 3 错误推测法 凭经验或直觉推测可能的错误 列出程序中可能有的错误和容易发生错误的特殊情况 选择测试用例 把输入条件视为 因 把输出条件视为 果 将黑盒看成是从因到果的网络图 采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系 根据这种关系可选择高效的测试用例 因果图是一种形式化语言 是一种组合逻辑网络图 4 因果图法 46 一 因果图方法概述 4 因果图法 一种黑盒测试方法方法的依据 需求规格说明中的因果关系 47 二 因果图符号 恒等 c1 1 e1 1 c1 0 e1 0 非 c1 c2 c3 c1 e1 c1 e1 e1 c1 c2 e1 c1 1 e1 0 c1 0 e1 1 c1 1或c 1或c 1 e1 e1 0 否则 c1 1且c 1 e1 e1 0 否则 或 与 48 a 输入条件的约束 b E a c I b a b O E约束 异 a b中至多有一个可能为1即a和b不能同时为 约束 或 a b和c中至少有一个必须是1 即a b和c不能同时为0 O约束 唯一 a和b中必须有一个且仅有一个为 49 a b R R约束 要求 a是 时 b必须是 即不可能a是 时b为 输出条件的约束 a b M M约束 强制 若结果a是 时 则结果b强制为 50 分析规范 即将问题分为若干可工作的步骤 标识出规范中的原因与结果 原因 输入条件结果 输出或系统变换分析规范语义 内容 转换为因果图 将因果图转换为有限项判断表 将判断表的每一列 转换为一个测试用例 三 因果图法的步骤 51 四 因果图方法举例 某程序要求 第一列字符必须是 或 第二列字符必须是一个数字 在此情况下对文件进行修改 但第一列字符不正确 则给出信息 若第二列字符不是一个数字 则给出信息 分析 原因 第一列字符是 第一列字符是 第二列字符是一个数字 结果21 修改文件22 给出信息 23 给出信息 52 因果图 E 53 解 判定表和测试用例 条件 原因 动作 结果 54 3 3 8黑盒测试与白盒测试比较 黑盒测试主要是为了发现以下几类错误 是否有不正确或遗漏的功能 在接口上 输入是否能正确的接受 能否输出正确的结果 是否有数据结构错误或外部信息 例如数据文件 访问错误 性能上是否能够满足要求 是否有初始化或终止性错误 55 白盒测试则被程序员用来对程序模块进行检查 在检查的过程中 对程序模块的所有独立的执行路径至少测试一次对所有的逻辑判定 取 真 与取 假 的两种情况都能至少测试一次在循环的边界和运行界限内执行循环体测试内部数据结构的有效性 56 57 58 3 4评审测试用例 复查测试用例时应该考虑的一些问题 测试或测试组件完全针对的是需求中列出的功能吗 测试组件是否覆盖了所有需求 有冗余的测试吗 每一个测试步骤都有清楚描述的预期结果吗 测试用例是否考虑了有效和无效的输入情况 59 测试用例的优先级定义测试用例优先级主要考虑 必须测试什么功能 如果一些功能没被测试会出现什么后果 优先级1 这个测试必须执行优先级2 如果时间允许 执行这个测试优先级3 即使不执行这个测试 也不会导致大的质量问题
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!