资源描述
毛 新 军 教 授计 算 机 科 学 与 技 术 系 602教 研 室 0731-(45)73649软 件 工 程 导 论 之 Copyright Xinjun Mao 软件测试 2 n 初 步 的 软 件 系 统 存 在 错 误 , 如 何 : 发 现 错 误 ? 纠 正 错 误 ?n 软 件 测 试 是 软 件 质 量 保 证 活 动 中 关 键 步 骤 对 SRS、 设 计 规 格 说 明 书 以 及 编 码 的 最 后 复 审 其 工 作 量 往 往 占 软 件 开 发 总 工 作 量 的 40%以 上 软 件 测 试 是 确 保 软 件 质 量 的 一 种 有 效 (可 操 作 )手 段n 软 件 测 试 有 其 特 殊 性 和 规 律 因 为 软 件 是 逻 辑 产 品 Copyright Xinjun Mao 软件测试 3 1. 基 本 概 念2. 软 件 测 试 技 术3. 软 件 测 试 策 略4. 基 于 CASE的 软 件 测 试 和 排 错 Copyright Xinjun Mao 软件测试 4 n 软 件 错 误 软 件 系 统 的 功 能 和 性 能 与 预 期 的 功 能 和 性 能 不一 致n 软 件 测 试 是 发 现 软 件 错 误 的 过 程 Copyright Xinjun Mao 软件测试 5 n 目 标 发 现 软 件 中 的 错 误 , 提 高 软 件 质 量 注 意软 件 测 试 中 没 有 发 现 错 误 并 不 意 味 着 软 件 就 没有 错 误 = 测 试 不 充 分 , 潜 在 错 误 不 能 发 现 Copyright Xinjun Mao 软件测试 6 n 软 件 测 试 思 想 数 据 处 理 设 计 测 试 用 例 判 断 结 果 Copyright Xinjun Mao 软件测试 7 n 二 种 测 试 方 法 白 盒 测 试 黑 盒 测 试 Copyright Xinjun Mao 软件测试 8 设计测试用例 n 思 想 已 知 程 序 内 部 工 作 流 程 , 通 过 测 试 检 验 程 序 内部 动 作 是 否 按 规 格 说 明 书 规 定 正 常 运 作n 依 据 程 序 的 内 部 逻 辑 结 构 , 针 对 程 序 的 逻 辑 路 径 设计 测 试 用 例n 特 点 必 须 了 解 程 序 的 内 部 工 作 流 程 Copyright Xinjun Mao 软件测试 9 功能: 求二个数中较大者 测试用例 n 思 想 根 据 已 知 程 序 的 功 能 和性 能 (而 不 是 内 部 细 节 ),通 过 测 试 检 验 每 个 功 能和 性 能 是 否 正 常n 依 据 程 序 的 功 能 和 性 能 描 述n 特 点 知 道 程 序 的 功 能 和 性 能 ,不 必 了 解 程 序 的 内 部 结构 和 处 理 细 节 Copyright Xinjun Mao 软件测试 10 n 软 件 开 发 从 高 抽 象 层 次 向 低 层 次 抽 象 过 渡n 软 件 测 试 从 低 层 次 抽 象 向 高 层 次 抽 象 过 渡n 软 件 测 试 的 层 次 单 元 测 试 : 测 试 程 序 中 每 个 模 块 是 否 有 错 误 ( 白 盒 ) 集 成 测 试 : 测 试 软 件 总 体 结 构 是 否 有 错 误 ( 黑 盒 ) 确 认 测 试 : 测 试 软 件 是 否 满 足 用 户 需 求 ( 黑 盒 ) Copyright Xinjun Mao 软件测试 11 需 求 分 析概 要 设 计详 细 设 计 编 码 单 元 测 试集 成 测 试确 认 测 试软 件 开 发 过 程 软 件 测 试 过 程 Copyright Xinjun Mao 软件测试 12 1. 基 本 概 念2. 软 件 测 试 技 术3. 软 件 测 试 策 略4. 基 于 CASE的 软 件 测 试 和 排 错 Copyright Xinjun Mao 软件测试 13 n 白 盒 测 试 白 盒 测 试 是 根 据 程 序 的 控 制 结 构 来 设 计 测 试 用例 Copyright Xinjun Mao 软件测试 14 1 2 3 6 7 8 4 5 11 9 10 n 要 设 计 多 少 测 试 用 例 ? 覆 盖 准 则 语 句 覆 盖 分 支 覆 盖 路 径 覆 盖 : 程 序 通 道 基 本 路 径 覆 盖 Copyright Xinjun Mao 软件测试 15 n 基 本 路 径 至 少 引 入 一 个 新 语 句 或 者 新 判 断 的 程 序 通 道 n 思 想 路 径 = 基 本 路 径 = 基 本 路 径 测 试n 前 提 软 件 模 块 的 逻 辑 结 构 ( 流 程 图 )n 如 何 设 计 测 试 用 例 确 保 基 本 路 径 覆 盖 = 哪 些 基 本 路 径 = 流 图 = 流 程 图 Copyright Xinjun Mao 软件测试 16 2,3 6 7 8 9 10 4,5 11 程序流图 1 2 3 6 7 8 4 5 11 9 10 模块流程图 Copyright Xinjun Mao 软件测试 17 void Func(int nPosX, int nPosY) while (nPosX 0) int nSum = nPosX + nPosY;if (nSum 1) nPosX-; nPosY-;else if (nSum 0) int nSum = nPosX + nPosY;if (nSum 1) nPosX-; nPosY-;else if (nSum 0) int nSum = nPosX + nPosY;if (nSum 1) nPosX-; nPosY-;else if (nSum -1) nPosX -= 2; else nPosX -= 4; / end of while 2,3 6 7 8 9 10 4,5 11 程 序 流 图 Copyright Xinjun Mao 软件测试 25 n 黑 盒 测 试 技 术 测 试 软 件 是 否 满 足 功 能 和 性 能 要 求 , 它 不 涉 及模 块 的 内 部 过 程 性 细 节n 主 要 的 黑 盒 测 试 技 术 等 价 分 类 法 边 界 分 类 法 Copyright Xinjun Mao 软件测试 26 n 思 想 把 程 序 的 输 入 数 据 集 合 按 输 入 条 件 划 分 为 若 干个 等 价 类 , 每 一 个 等 价 类 对 于 输 入 条 件 而 言 为一 组 有 效 或 者 无 效 的 输 入 , 然 后 为 每 一 个 等 价类 设 计 一 个 测 试 用 例n 优 点 减 少 测 试 次 数 , 不 丢 失 发 现 错 误 的 机 会 Copyright Xinjun Mao 软件测试 27 n 输 入 条 件 为 一 范 围 划 分 出 三 个 等 价 类 : (1) 有 效 等 价 类 (在 范 围 内 ), (2) 大于 输 入 最 大 值 , (3)小 于 输 入 最 少 值n 输 入 条 件 为 一 值 划 分 为 三 个 等 价 类 : (1) 有 效 , (2) 大 于 , (3) 小 于n 输 入 条 件 为 集 合 划 分 二 个 等 价 类 : (1) 有 效 (在 集 合 内 ), (2) 无 效 (在 集 合 外 )n 输 入 条 件 为 一 个 布 尔 量 划 分 二 个 等 价 类 , (1) 有 效 (此 布 尔 量 ), (2)无 效 (布 尔 量的 非 ) Copyright Xinjun Mao 软件测试 28 n z = func(x, y): 当 0 x 1024 并 且 y = 0, z = -1 否 则 , z = x * lg(y)n 关 于 x的 等 价 类 : (0, 1024), (-#, 0, 1024, +#) n 关 于 y的 等 价 类 : 0, (-#, 0), (0, +#) n 测 试 用 例 : 9个 , , ; , , ; , , Copyright Xinjun Mao 软件测试 29 n 输 入 条 件 是 一 范 围 (a,b) a,b以 及 紧 挨 a,b左 右 的 值 应 作 为 测 试 用 例n 输 入 条 件 为 一 组 数 选 择 这 组 数 的 最 大 者 和 最 小 者 , 次 大 和 次 小 者作 为 测 试 用 例n 如 果 程 序 的 内 部 数 据 结 构 是 有 界 的 应 设 计 测 试 用 例 使 它 能 够 检 查 该 数 据 结 构 的 边界 Copyright Xinjun Mao 软件测试 30 1. 基 本 概 念2. 软 件 测 试 技 术3. 软 件 测 试 策 略4. 基 于 CASE的 软 件 测 试 和 排 错 Copyright Xinjun Mao 软件测试 31 n 对 软 件 的 最 小 单 元 模 块 进 行 测 试 多 采 用白 盒 测 试(1) 模 块 接 口 测 试(2) 模 块 局 部 数 据 结 构 测 试(3) 模 块 独 立 执 行 路 径 测 试(4) 模 块 中 各 条 错 误 处 理 通 道 测 试(5) 模 块 边 界 条 件 测 试 Copyright Xinjun Mao 软件测试 32 Copyright Xinjun Mao 软件测试 33 n 模 块 相 互 调 用 时 引 入 接 口 问 题 = 集 成 测 试n 集 成 测 试 方 法 (1) 自 顶 向 下 集 成从 目 标 软 件 系 统 的 主 控 模 块 开 始 , 按 照 软 件 的控 制 层 次 结 构 , 以 深 度 优 先 或 者 广 度 优 先 的 策略 把 各 个 模 块 集 成 在 一 起 进 行 测 试 (2) 自 底 向 上 集 成从 软 件 结 构 最 底 层 模 块 开 始 自 底 向 上 进 行 组 装和 测 试 Copyright Xinjun Mao 软件测试 34 M1 M2 M3 M4 M5 M6 M8 M7 Copyright Xinjun Mao 软件测试 35 n 任 务 判 断 目 标 软 件 系 统 是 否 满 足 用 户 的 功 能 和 性 能需 求 ; 文 档 资 料 是 否 完 整 、 准 确n 依 据 和 标 准 软 件 需 求 规 格 说 明 书n 确 认 测 试 的 类 型 测 试 测 试 Copyright Xinjun Mao 软件测试 36 测试用例 排错 执行某个测试用例 结果 假想错误 追加测试 确定了错误原因 修正程序 回归测试 n 测 试 是 为 了 发 现 错 误 , 当 发 现 错 误 后 就 要 将它 改 正 , 改 正 错 误 主 要 依 靠 排 错 技 术n 排 错 过 程 Copyright Xinjun Mao 软件测试 37 n 排 错 方 法 原 始 法 回 溯 法 排 除 法 基 于 归 纳 和 演 绎 的 方 法 :收 集 与 出 错 有 关 的 所 有数 据 , 假 想 一 组 出 错 的 原 因 , 用 这 组 数 据 证 明或 者 反 驳 之 Copyright Xinjun Mao 软件测试 38 1. 基 本 概 念2. 软 件 测 试 技 术3. 软 件 测 试 策 略4. 基 于 CASE的 软 件 测 试 和 排 错 Copyright Xinjun Mao 软件测试 39 n 静 态 分 析 器 通 过 静 态 的 扫 描 源 程 序 , 找 出 可 能 导 致 程 序 出 错 的 异 常情 况n 代 码 审 查 器 检 查 源 程 序 代 码 是 否 满 足 最 基 本 的 代 码 标 准n 断 言 处 理 器 检 查 程 序 员 关 于 程 序 行 为 的 断 言 在 程 序 执 行 过 程 中 是 否成 立n 测 试 数 据 产 生 器 Copyright Xinjun Mao 软件测试 40 n 目 的 发 现 错 误 ; 定 位 和 纠 正 错 误n 独 立 性 可 有 独 立 的 测 试 小 组 进 行 ; 必 须 由 开 发 人 员 完成 Copyright Xinjun Mao 软件测试 41 1. 基 本 概 念 (软 件 测 试 的 概 念 、 目 标 , 方 法 和过 程 等 )2. 软 件 测 试 技 术 (白 盒 和 黑 盒 软 件 测 试 方 法 )3. 软 件 测 试 策 略 (步 骤 ,方 法 等 )4. 基 于 CASE的 软 件 测 试 和 排 错 Copyright Xinjun Mao 软件测试 42 n 思 考 题 只 要 设 计 足 够 多 的 测 试 用 例 , 软 件 测 试 是 否 完全 可 以 发 现 软 件 中 的 所 有 错 误 ? Copyright Xinjun Mao 软件测试 43Practice, Practice, and Practice
展开阅读全文