01.07.2015 Views

下载地址一 - 51Testing软件测试网

下载地址一 - 51Testing软件测试网

下载地址一 - 51Testing软件测试网

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

51Testing 软 件 测 试 网<br />

TestManager 使 用 手 册<br />

翻 译<br />

测 试 部 : 姚 伟<br />

日 期 :2003-7-1


51Testing 软 件 测 试 网<br />

前前 言 (Preface)<br />

Rational TestManager 是 一 个 开 放 的 可 扩 展 的 构构 架架 , 他 统 一 了 所 有 的 工 具 、 成 品品 (artifacts)<br />

和和 数 据 , 而 数 据 是 由 测 试 工 作 产 生 并 与 测 试 工 作 (effort<br />

effort) 关 联 的 。 在 这 个 唯 一 的 “ 保 护 伞 ”<br />

(umbrella) 下 , 测 试 工 作 中 的 所 有 负 责 人 (Stakeholder<br />

Stakeholder) 和和 参 与 者 能 够 定 义 和和 提 炼 他 们 将 要<br />

达 到到 的 质 量 目 标标 。<br />

本本 手 册 描 述 了 如 何 使 用 Rational TestManager 去 支 持 在 RUP 中 定 义 的 五 个 测 试 活 动 , 以 及 如 何 使<br />

用 Rational TestManager 进 行 功 能 和和 性 能 测 试 。<br />

读 者 (Audience)<br />

本本 手 册 面 向 项 目 分 析析 人 员员 , 项 目 设 计 人 员员 和和 开 发 人 员员 , 质 量 保 证 组 成 员员 , 项 目 经 理 , 以 及 任 何<br />

包包 含 在 此 次 测 试 工 作 中 的 其 他 负 责 人 。<br />

其 他 资 源 (Other Resources)<br />

●TestManager 包包 含 完 整 的 在 线 帮 助 。 从 主 工 具 栏栏 中 , 选 择 Help 菜 单 中 的 一 个 选 项 。<br />

注 意 事 项 : 本本 手 册 包包 含 概 念 性 的 信 息 。 对 于 过 程 的 详 细 说 明 , 参 阅 TestManager 的 帮 助 。<br />

● 所 有 手 册 都 是 可 在 线 利 用 的 , 格 式 为 HTML 或 PDF。 这 些 手 册 在 Rational Solutions for Windows<br />

的 在 线 文 档 CD 中 。<br />

● 更 多 有 关 培 训 机机 会 的 信 息 , 参 阅 Rational University 站 点 :http://www.rational.com/university.<br />

与 Rational 技 术术 发 布 的 联 系 (Contacting Rational Technical<br />

Publications)<br />

要 发 送 有 关 Rational 产 品品 文 档 的 反 馈 信 息 , 请 发 送 e-mail 到到 我 们 的 技 术术 发 布 部 门 , 地 址 为<br />

techpubs@rational.com.


51Testing 软 件 测 试 网<br />

与 Rational 技 术术 支 持 的 联 系 (Contacting Rational Technical<br />

Support)<br />

如 果果 在 你 安 装 , 使 用 和和 维 护 本本 产 品品 时 , 出 现 了 问 题 , 请 你 与 下 面 的 Rational 技 术术 支 持 联 系 :<br />

注 意 事 项 : 在 你 与 Rational 技 术术 支 持 联 系 时 , 请 准 备 提 供 下 面 的 信 息 :<br />

● 你 的 姓 名 , 电 话 号 码 和和 公 司 名 称 。<br />

● 你 的 电 脑 种 类 和和 型 号 。<br />

● 你 所 用 的 操 作 系 统 和和 版 本本 号 。<br />

● 产 品品 发 布 号 码 和和 序 列 号 。<br />

● 你 的 用 例 ID 号 码 ( 如 果果 你 是 在 跟 踪 一 个 先 前前 已 记 录 过 的 问 题 )。


51Testing 软 件 测 试 网<br />

Part 1:<br />

Using<br />

TestManager to Manage<br />

Testing Projects<br />

简 介 (Introducing Rational TestManager)1<br />

本本 章 节 将 向 你 介 绍 Rational TestManager。 它 包包 括 下 面 的 主 题 :<br />

□ 什 么 是 Rational TestManager<br />

□TestManager 的 工 作 流 程<br />

□TestManager 和和 其 他 Rational 产 品品<br />

□TestManager 与 其 扩 展 性<br />

□ 虚 拟 的 测 试 人 员员<br />

□ 功 能 和和 性 能 测 试<br />

□ 本本 地 和和 代 理 的 测 试 用 机机<br />

□Suites<br />

□ 开 始 运 行 Rational TestManager<br />

□TestManager 的 主 要 窗 口


51Testing 软 件 测 试 网<br />

什 么 是 Rational TestManager (What Is Rational TestManager)<br />

测 试 是 软 件 开 发 中 的 反 馈 过 程 。 它 告告 诉 你 在 一 个 开 发 过 程 中 任 意 给 定 迭 代 的 规 定 过 程 , 哪哪 里 需<br />

要 做 修 改 。 同 时 , 也 告告 诉 你 关 于 你 将 开 发 的 系 统 的 现 存 质 量 。<br />

包包 含 在 项 目 中 的 每 个 人 都 是 定 义 系 统 质 量 如 何 被 评 估 并 对 问 题 做 出 修 改 的 一 个 “stakeholder”。<br />

例 如 :<br />

● 项 目 分 析析 员员 需 要 了 解 系 统 的 可 用 性 , 完 整 性 , 和和 系 统 use cases 的 质 量 , 系 统 特 征 , 以 及 系 统<br />

的 需 求 支 持 。<br />

● 项 目 设 计 人 员员 和和 开 发 人 员员 需 要 理 解 他 们 设 计 或 开 发 的 组 件 说 明 和和 子 系 统 。<br />

● 质 量 保 证 组 成 员员 需 要 编 制 计 划 以 测 试 系 统 。 此 外 , 他 们 需 要 理 解 和和 定 义 测 试 计 划 的 要 素 与 开<br />

发 过 程 的 其 他 要 素 之 间 的 关 系 。 这 里 的 跟 踪 能 力力 关 系 允 许 QA 组 去 理 解 如 何 在 他 们 工 作 的 项 目<br />

中 做 全 局 修 改 , 并 去 定 义 他 们 将 要 测 试 的 系 统 要 素 。<br />

● 项 目 经 理 需 要 这 些 测 试 结 果果 提 供 的 信 息 来来 做 出 决 定 , 系 统 对 于 发 布 的 可 接 受 性 和和 准 备 性 。 他<br />

们 的 决 定 将 以 其 他 组 成 员员 的 输 入 为 基 础 , 比 如 分 析析 人 员员 和和 开 发 人 员员 , 他 们 由 那 些 相 同 的 衡 量<br />

标标 准 来来 勾勾 勒勒 出 系 统 的 说 明 蓝 图 。<br />

测 试 工 作 经 常 表 现 为 整 个 项 目 过 程 的 25–50%。 收 集 需 求 数 据 , 跟 踪 测 试 资 产 之 间 的 关 系 , 并 提<br />

供 一 个 普 通 的 测 试 过 程 输 出 的 说 明 描 述 , 当 然 测 试 过 程 往 往 包包 含 了 多 种 工 具 的 使 用 。 这 可 以 使<br />

它 几 乎 不 可 能 去 有 效 地 跟 踪 依 赖 的 结 果果 , 和和 得 到到 一 个 简 要 , 以 及 系 统 说 明 的 连 续 视 图 。<br />

Rational TestManager 是 一 个 开 放 的 可 扩 展 的 构构 架架 , 他 统 一 了 所 有 的 工 具 、 制 造 (artifacts)<br />

和和 数 据 , 而 数 据 是 由 测 试 工 作 产 生 并 与 测 试 工 作 (effort<br />

effort) 关 联 的 。 在 这 个 唯 一 的 保 护 伞<br />

(umbrella) 下 , 测 试 工 作 中 的 所 有 负 责 人 (Stakeholder<br />

Stakeholder) 和和 参 与 者 能 够 定 义 和和 提 炼 他 们 将 要<br />

达 到到 的 质 量 目 标标 。 项 目 组 定 义 计 划 用 来来 实 施 以 符 合 那 些 质 量 目 标标 。 而 且 , 最 重 要 的 是 , 它 提 供<br />

给 了 整 个 项 目 组 一 个 及 时 地 在 任 何 过 程 点 上 去 判 断 系 统 状 态 的 地 方 。<br />

质 量 保 证 专 家 可 以 使 用 TestManager 去 协 调 和和 跟 踪 他 们 的 测 试 活 动 。 测 试 人 员员 使 用 TestManager<br />

去 了 解 需 要 的 工 作 是 什 么 , 以 及 这 些 工 作 需 要 的 人 和和 数 据 。 测 试 人 员员 也 可 以 了 解 到到 , 他 们 工 作<br />

的 范 围 是 要 受 到到 开 发 过 程 中 全 局 变 化化 的 影 响响 的 。TestManager 是 这 样 一 个 地 方 , 它 会 提 供 与 系 统<br />

质 量 相 关 联 的 所 有 问 题 的 答 案 。


51Testing 软 件 测 试 网<br />

工 作 流 程 (TestManager Workflow)<br />

TestManager 工 作 流 程 支 持 RUP 定 义 的 5 个 主 要 的 测 试 活 动 , 他 们 是 一 个 软 件 工 程 过 程 :<br />

● 测 试 的 计 划<br />

● 测 试 的 设 计<br />

● 测 试 的 实 施<br />

● 测 试 的 执 行<br />

● 测 试 的 评 估<br />

这 些 活 动 的 每 一 个 都 与 测 试 资 产 有 输 入 和和 输 出 的 交 互 , 如 下 图 所 示 :<br />

编 制 测 试 计 划 (Planning Tests)<br />

测 试 计 划 活 动 包包 含 对 下 面 问 题 的 回 答 :<br />

● 什 么 和和 哪哪 里 ?―― 需 求 , 虚 拟 模 型 , 和和 其 他 的 测 试 输 入 告告 诉 你 要 测 试 什 么 和和 在 哪哪 里 执 行 这 些


51Testing 软 件 测 试 网<br />

测 试 。<br />

● 为 什 么 ?―― 测 试 输 入 告告 诉 你 为 什 么 要 做 某某 种 测 试 。 例 如 , 测 试 可 以 使 系 统 的 需 求 被 有 效 地<br />

执 行 。<br />

● 什 么 时 候 ?―― 迭 代 的 计 划 告告 诉 你 什 么 时 候 测 试 必 须 执 行 和和 必 须 通 过 。<br />

● 谁 ?―― 测 试 计 划 , 迭 代 计 划 , 或 项 目 计 划 告告 诉 你 由 谁 来来 执 行 这 些 测 试 活 动 。<br />

更 多 关 于 测 试 计 划 的 信 息 , 参 阅 23 页 Planning Tests 的 内 容 。<br />

测 试 的 输 入 (Test Inputs)<br />

你 的 测 试 计 划 编 制 的 第 一 步 是 去 确 定 测 试 输 入 。 一 个 “ 测 试 输 入 ”(test input) 是 测 试 的 依 靠<br />

或 是 测 试 需 要 的 验 证 。 测 试 输 入 帮 助 你 决 定 你 需 要 测 试 的 内 容 。 他 们 也 帮 助 你 确 定 基 于 开 发 过<br />

程 中 可 能 需 要 的 变 化化 。 迭 代 的 开 发 过 程 是 重 要 的 , 而 在 开 发 过 程 中 的 变 化化 是 一 个 频 繁 的 必 要 的<br />

过 程 部 分 。<br />

TestManager 有 两 个 内 置 的 测 试 输 入 类 型 :<br />

● 在 一 个 Rational RequisitePro 项 目 中 的 需 求<br />

● 在 一 个 Rational Rose 虚 拟 模 型 中 的 元 素<br />

这 些 内 置 测 试 输 入 类 型 使 你 容 易 地 获 得 需 求 和和 模 型 元 素 , 并 让 你 将 这 些 输 入 与 其 他 用 以 跟 踪 目<br />

的 的 测 试 资 产 相 关 联 。<br />

TestManager 也 支 持 常 规 的 测 试 输 入 类 型 。 使 用 一 个 在 TestManager 内 部 的 常 规 测 试 输 入 , 你 需 要<br />

写 一 个 测 试 输 入 适 配 器 (Test Input Adapter) 或 使 用 一 个 由 Rational Software 或 Rational’s 合 作 者<br />

提 供 的 适 配 器 。 例 如 , 使 用 Microsoft Excel 表 格 中 的 数 值 作 为 一 个 测 试 输 入 , 你 将 需 要 为 Excel<br />

写 一 个 测 试 输 入 的 适 配 器 。 更 多 信 息 , 参 阅 13 页 Defining Custom Test Input Types 的 内 容 。<br />

测 试 计 划 (Test Plans)<br />

在 你 确 定 了 你 的 测 试 输 入 , 你 就 可 以 使 用 TestManager 来来 创 建 一 个 测 试 计 划 。 测 试 计 划 为 项 目 中<br />

其 他 的 测 试 资 产 提 供 一 个 组 织 结 构构 。<br />

测 试 计 划 可 以 包包 含 一 个 信 息 的 多 样 采 集 和和 提 出 的 很 多 问 题 , 包包 括 :<br />

● 什 么 测 试 是 必 须 要 被 执 行 的 ?<br />

● 什 么 时 候 测 试 必 须 被 执 行 并 被 期 望 通 过 ?


51Testing 软 件 测 试 网<br />

● 对 于 每 个 测 试 由 谁 负 责 ?<br />

● 哪哪 里 必 须 是 测 试 被 执 行 的 ? 换 句 话 说 , 在 什 么 样 的 硬 件 和和 软 件 配 置 下 , 测 试 必 须 被 执 行 ?<br />

项 目 可 包包 含 多 样 的 测 试 计 划 。 你 可 以 为 测 试 的 每 一 个 阶 段 编 制 一 个 计 划 。 不 同 的 工 作 组 可 以 有<br />

他 们 自 己 的 测 试 计 划 。 一 般 地 , 每 一 个 计 划 应 当 有 一 个 唯 一 的 高 水 平 的 测 试 目 标标 ( 例 如 , 测 试<br />

文 件 的 维 持 效 用 )。<br />

每 一 个 测 试 计 划 都 包包 含 了 测 试 用 例 文 件 夹 和和 测 试 用 例 。<br />

测 试 用 例 文 件 夹 (Test Case Folders)<br />

在 一 个 测 试 计 划 中 , 你 可 以 创 建 测 试 用 例 文 件 夹 (test case folders) 来来 分 层 次 地 组 织 你 的 测 试 用<br />

例 。 普 通 的 组 织 可 以 反 映 系 统 构构 架架 , 主 要 的 用 例 (use cases), 需 求 , 或 是 他 们 的 混 合 体 。<br />

测 试 用 例 (Test Cases)<br />

测 试 用 例 是 TestManager 中 的 测 试 资 产 , 它 可 以 回 答 这 个 问 题 ,“ 我 将 要 测 试 什 么 ?” 你 开 发<br />

测 试 用 例 去 定 义 单 个 的 事 件 , 有 效 地 确 保 系 统 工 作 在 假 定 的 方 式 下 , 以 及 在 你 成 品品 之 前前 对 于 质<br />

量 的 必 然 的 建 立 。<br />

每 一 个 测 试 用 例 都 被 一 个 组 内 成 员员 所 拥 有 。 这 也 是 问 题 “ 谁 将 进 行 测 试 ?” 的 答 案 。<br />

迭 代 (Iterations)<br />

使 用 迭 代 去 确 定 一 个 测 试 用 例 在 什 么 时 候 必 须 通 过 。 一 个 迭 代 是 在 一 个 项 目 期 间 被 定 义 的 时 间<br />

跨 度 。 一 个 迭 代 的 结 束束 是 一 个 里 程 碑 (milestone)。 在 一 个 迭 代 期 间 , 处 于 一 些 及 时 点 上 , 产<br />

品品 需 要 符 合 一 个 确 定 的 质 量 标标 准 来来 达 到到 一 个 里 程 碑 。 质 量 标标 准 由 那 些 必 须 通 过 的 测 试 用 例 定 义 。<br />

迭 代 可 能 由 几 组 成 员员 来来 定 义 , 比 如 项 目 经 理 , 产 品品 经 理 , 和和 分 析析 人 员员 ―― 反 复 地 遍 及 整 个 测 试<br />

过 程 。<br />

配 置 (Configurations)<br />

使 用 配 置 确 定 测 试 用 例 在 哪哪 里 执 行 ―― 在 什 么 硬 件 和和 软 件 配 置 下 。 例 如 , 要 确 保 你 的 测 试 用 例


51Testing 软 件 测 试 网<br />

可 以 在 4 种 不 同 的 操 作 系 统 下 执 行 , 你 就 可 以 为 每 一 个 操 作 系 统 创 建 一 个 配 置 。 然 后 将 这 4 种 配<br />

置 与 测 试 用 例 联 系 起 来来 , 以 创 建 成 配 置 的 测 试 用 例 。 为 使 测 试 用 例 通 过 , 需 要 所 有 的 成 配 置 的<br />

测 试 用 例 必 须 通 过 。<br />

配 置 可 能 由 几 组 成 员员 来来 定 义 , 比 如 项 目 经 理 , 产 品品 经 理 , 和和 分 析析 人 员员 ―― 反 复 地 遍 及 整 个 测 试<br />

过 程 。<br />

测 试 的 设 计 (Designing Tests)<br />

设 计 测 试 的 活 动 可 以 回 答 这 个 问 题 ,“ 我 将 如 何 执 行 测 试 ?”。 一 个 完 全 的 测 试 设 计 会 告告 知 读<br />

者 , 有 关 需 要 与 系 统 被 获 得 的 活 动 和和 他 们 应 该 期 待 观 察 的 行 为 和和 特 性 , 当 然 , 如 果果 系 统 正 在 适<br />

当 地 运 行 的 话 。<br />

设 计 测 试 是 一 个 迭 代 的 和和 行 进 中 的 过 程 。 你 应 当 能 够 在 任 何 系 统 执 行 之 前前 开 始 测 试 的 设 计 , 他<br />

们 基 于 用 例 (use cases), 需 求 , 原 型 , 和和 其 他 等 等 。 当 系 统 被 描 述 的 更 加 清 晰 时 , 测 试 设 计<br />

应 当 与 系 统 一 起 更 加 细 节 化化 。<br />

注 意 事 项 : 一 个 测 试 设 计 不 同 于 设 计 工 作 , 它 应 当 被 用 来来 确 定 如 何 建 立 你 的 测 试 实 施 。<br />

在 TestManager 中 , 你 可 以 设 计 你 的 测 试 用 例 :<br />

● 指 明 基 本本 步 骤 需 要 与 应 用 和和 系 统 交 互 , 以 便 执 行 测 试 。<br />

● 指 明 如 何 有 效 的 使 特 征 恰 当 地 工 作 。<br />

● 说 明 测 试 的 前前 置 条条 件 和和 后 置 条条 件 。<br />

● 说 明 测 试 的 可 接 受 标标 准 。<br />

软 件 开 发 给 定 的 迭 代 性 质 , 设 计 比 一 个 手 工 测 试 的 执 行 要 更 抽 象 , 但 是 它 可 以 容 易 地 发 展 成 一<br />

个 测 试 执 行 。 更 多 有 关 设 计 测 试 的 信 息 , 参 阅 47 页 Designing Tests 的 内 容 。<br />

测 试 的 实 施 (Implementing Tests)<br />

测 试 实 施 的 活 动 包包 括 了 可 复 用 测 试 脚 本本 (test scripts) 的 设 计 和和 开 发 , 测 试 脚 本本 用 来来 实 施 你 的 测<br />

试 用 例 。 在 你 创 建 了 实 施 之 后 , 你 可 以 将 他 与 测 试 用 例 联 系 在 一 起 。<br />

在 每 一 个 进 行 测 试 的 项 目 中 , 实 施 都 是 不 相 同 的 。 一 个 项 目 里 , 你 可 能 决 定 既 创 建 自 动 测 试 的<br />

脚 本本 又 有 手 工 测 试 的 脚 本本 。 另 外 一 个 项 目 中 , 你 可 能 需 要 写 一 个 模 块 使 用 一 个 工 具 的 组 合 。<br />

TestManager 提 供 下 面 的 内 置 的 测 试 脚 本本 类 型 以 支 持 实 施 :


51Testing 软 件 测 试 网<br />

测 试 脚 本本 的 类 型<br />

GUI<br />

说 明<br />

一 种 用 SQABasic 编 写 的 功 能 测 试 脚 本本 , 一 种 Rational 专 有 的 类 Basic<br />

脚 本本 语 言 。 由 Rational Robot 创 建 。( 仅 仅 在 已 安 装 Rational Robot<br />

的 情 况 下 可 用 。)<br />

VU 一 种 用 VU 编 写 的 性 能 测 试 脚 本本 , 一 种 Rational 专 有 的 类 C 脚 本本 语 言 。<br />

由 Rational Robot 创 建 。( 仅 仅 在 已 安 装 Rational Robot 的 情 况 下 可<br />

用 。)<br />

注 意 事 项 : 当 你 启启 动 记 录 一 个 VU 测 试 脚 本本 时 , 你 实 际 上 记 录 了 一<br />

个 session。 你 可 以 从 被 记 录 的 session 中 生 成 VU 或 VB 脚 本本 , 这 依 赖<br />

于 你 在 Robot 中 选 择 的 记 录 选 项 。<br />

Manual 一 个 测 试 指 令 集 , 以 被 人 工 执 行 。 由 Rational Manual Test 创 建 。<br />

TestManager 也 支 持 已 注 册 的 测 试 脚 本本 其 他 类 型 的 实 施 。 更 多 信 息 , 参 阅 13 页 Defining Custom Test<br />

Script Types 的 内 容 。<br />

你 也 可 以 使 用 suites 去 实 施 测 试 。 一 个 suite 是 一 个 容 器 , 允 许 你 设 计 一 个 更 大 的 测 试 用 例 集 合 和和<br />

你 想 要 执 行 的 实 施 。 一 个 suite 可 以 有 参 数 , 诸 如 order( 顺 序 ),dependencies( 依 赖 ),iterations<br />

( 迭 代 ),random operations( 随 机机 操 作 ), 和和 其 他 等 等 。 更 多 有 关 实 施 测 试 用 例 的 信 息 , 参 阅<br />

55 页 Implementing Tests 的 内 容 。


51Testing 软 件 测 试 网<br />

测 试 的 执 行 (Executing Tests)<br />

你 的 测 试 执 行 活 动 包包 含 了 测 试 实 施 的 执 行 已 确 保 系 统 功 能 的 正 确 性 。 在 TestManager 中 , 你 可 以<br />

执 行 :<br />

● 一 个 单 独 的 测 试 脚 本本<br />

● 一 个 或 更 多 的 测 试 用 例<br />

● 一 个 suite, 执 行 一 些 测 试 用 例 和和 测 试 脚 本本 的 混 合 体 , 通 过 一 台 或 更 多 的 测 试 用 机机 和和 虚 拟 测 试<br />

者 。<br />

TestManager 提 供 下 面 内 置 的 支 持 执 行 的 测 试 脚 本本 类 型 :<br />

测 试 脚 本本 的 类 型<br />

GUI<br />

说 明<br />

一 种 用 SQABasic 编 写 的 功 能 测 试 脚 本本 , 一 种 Rational 专 有 的 类 Basic<br />

脚 本本 语 言 。<br />

VU 一 种 用 VU 编 写 的 性 能 测 试 脚 本本 , 一 种 Rational 专 有 的 类 C 脚 本本 语 言 。<br />

Manual 一 个 测 试 指 令 集 , 以 被 人 工 执 行 。<br />

VB 一 种 用 Visual Basic 语 言 编 写 的 测 试 脚 本本 。<br />

Java 一 种 用 Java 语 言 编 写 的 测 试 脚 本本 。<br />

Command Line<br />

一 个 文 件 ( 例 如 , 一 个 .exe 文 件 , 一 个 .bat 文 件 , 或 一 个 UNIX shell<br />

脚 本本 ) 包包 含 了 从 command line 中 可 被 执 行 的 论 点 和和 一 个 初 始 化化 的 路<br />

径 。


51Testing 软 件 测 试 网<br />

TestManage 也 支 持 已 注 册 的 测 试 脚 本本 其 他 类 型 的 执 行 。 更 多 信 息 , 参 阅 13 页 Defining Custom Test<br />

Script Types 的 内 容 。<br />

更 多 有 关 测 试 执 行 的 信 息 , 参 阅 87 页 Executing Tests 的 内 容 。<br />

测 试 的 评 估 (Evaluating Tests)<br />

测 试 的 评 估 活 动 包包 括 :<br />

● 确 定 实 际 测 试 执 行 的 有 效 性 。 执 行 的 是 否 完 全 ? 执 行 失 败 是 否 因 为 不 符 合 前前 置 条条 件 ?<br />

● 分 析析 测 试 输 出 以 确 定 结 果果 。 在 执 行 测 试 过 程 中 , 你 查查 看 报 告告 上 已 产 生 的 数 据 来来 检 验 该 执 行 是<br />

否 是 可 接 受 的 。<br />

● 查查 看 合 计 的 结 果果 以 检 查查 对 测 试 计 划 , 测 试 输 入 , 配 置 等 的 覆 盖 程 度 。 这 也 可 以 被 用 来来 衡 量 测<br />

试 的 进 展 和和 对 分 析析 的 趋 向 。<br />

更 多 有 关 测 试 评 估 的 信 息 , 参 阅 127 页 Evaluating Tests 的 内 容 。<br />

TestManager 和 其 他 Rational 产 品 (TestManager and Other<br />

Rational Products)<br />

TestManager 可 以 单 独 购 买 或 作 为 其 他 Rational 包包 的 一 部 分 。<br />

当 你 与 其 他 的 Rational 产 品品 一 起 安 装 时 , 它 会 与 那 些 产 品品 紧 紧 地 结 合 在 一 起 。<br />

Rational 统 一 开 发 过 程 (The Rational Unified Process)<br />

Rational 统 一 开 发 过 程 是 一 个 一 个 软 件 工 程 过 程 , 以 提 高 针 对 关 键 性 活 动 的 团 队 开 发 效 率 。 它 讲<br />

述 了 软 件 最 优 实 践 经 过 的 指 导 方 针 , 模 板板 , 和和 工 具 指 导 。<br />

快 速 地 查查 看 直 接 关 系 到到 测 试 的 RUP 的 范 围 :<br />

● 在 TestManager 中 , 点 击 Help > Extended Help。<br />

如 果果 已 经 安 装 了 Rational Suite, 可 查查 看 完 整 的 RUP 在 线 版 本本 :<br />

● 点 击 Start > Programs > Rational Suite > Rational Unified Process。


51Testing 软 件 测 试 网<br />

项 目 和和 Rational 管 理 员员 ( Projects and the Rational<br />

Administrator)<br />

与 TestManager 一 起 工 作 时 , 在 Rational projects 中 保 存 那 些 你 创 建 的 信 息 。 你 使 用 Rational<br />

Administrator 来来 创 建 和和 管 理 Rational 项 目 。 一 个 Rational 项 目 保 存 软 件 的 测 试 和和 开 发 信 息 。 在 你 测<br />

试 用 机机 上 的 所 有 Rational 组 件 从 相 同 的 项 目 中 更 新 和和 回 收 数 据 。<br />

注 意 事 项 : 一 个 Rational 项 目 中 的 数 据 类 型 依 赖 于 你 已 经 安 装 的 Rational 软 件 。<br />

一 个 Rational 项 目 可 以 的 组 成 如 下 :<br />

●Rational Test datastore―― 保 存 应 用 程 序 的 测 试 信 息 , 诸 如 测 试 计 划 , 测 试 用 例 , 测 试 日 志 、<br />

报 告告 和和 构构 架架 。<br />

●Rational RequisitePro project―― 保 存 产 品品 或 系 统 需 求 , 软 件 和和 硬 件 需 求 , 及 用 户 需 求 。 当 一<br />

个 RequisitePro datastore 与 一 个 在 Rational Administrator 中 的 项 目 建 立 了 关 联 时 ,TestManager<br />

会 自 动 地 使 用 在 datastore 中 的 需 求 作 为 测 试 的 输 入 。<br />

●Rational Rose models―― 保 存 业 务 过 程 , 软 件 组 件 , 类 和和 对 象 的 虚 拟 模 型 , 以 及 分 布 和和 配 置<br />

部 署 的 虚 拟 模 型 。<br />

●Rational ClearQuest database―― 保 存 对 于 软 件 开 发 的 变 化化 需 求 , 包包 括 增 加 的 需 求 , 缺 陷 报 告告 ,<br />

和和 文 档 的 修 改 。<br />

对 于 Rational Test Datastore 的 安 全 和和 权 限 (Security and<br />

Privileges for the Rational Test Datastore)<br />

当 管 理 员员 使 用 Rational Administrator 创 建 了 一 个 Rational 项 目 时 , 他 们 确 定 Rational Test datastore<br />

的 安 全 。 他 们 创 建 测 试 用 户 , 这 些 测 试 用 户 默 认 为 Public test group( 公 共 测 试 组 ) 的 部 分 。 测<br />

试 用 户 获 得 该 测 试 组 的 权 限 。 一 个 管 理 员员 可 以 使 用 Rational Administrator 来来 改 变 组 权 限 和和 创 建 新<br />

组 。<br />

下 面 的 图 示 展 现 了 在 Rational Administrator 中 的 Test Group 属 性 对 话 框 :


51Testing 软 件 测 试 网<br />

更 多 有 关 权 限 设 置 的 信 息 , 参 阅 Using the Rational Administrator 手 册 或 Rational Administrator 的<br />

帮 助 。<br />

自 动 测 试 脚 本本 与 Rational Robot (Automated Test Scripts and<br />

Rational Robot)<br />

使 用 Rational Robot, 你 可 以 为 功 能 测 试 和和 性 能 测 试 开 发 自 动 测 试 脚 本本 。<br />

使 用 Robot:<br />

● 执 行 完 全 的 功 能 测 试 。 记 录 那 些 通 过 你 的 应 用 程 序 导 航 和和 检 验 点 测 试 目 标标 状 态 的 测 试 脚 本本 。<br />

● 执 行 完 全 的 性 能 测 试 。 记 录 测 试 脚 本本 , 而 这 些 脚 本本 帮 助 你 确 定 在 变 化化 的 负 载 下 , 一 个 系 统 是<br />

否 在 用 户 定 义 的 响响 应 时 间 的 标标 准 范 围 内 运 行 。<br />

● 测 试 用 IDEs( 集 成 开 发 环 境 ) 开 发 的 应 用 程 序 , 诸 如 Java,HTML,Visual Basic,Oracle Forms,<br />

Delphi, 和和 PowerBuilder。 你 可 以 测 试 那 些 即 使 是 在 应 用 程 序 的 接 口 中 不 可 见 的 对 象 。<br />

● 在 测 试 脚 本本 的 录 制 回 放 期 间 , 收 集 关 于 一 个 应 用 程 序 的 诊 断 信 息 。Robot 集 合 了 Rational<br />

Purify ,Rational Quantify, 和和 Rational PureCoverage。 你 可 以 在 一 个 诊 断 工 具 下 录 制 回 放 测 试<br />

脚 本本 , 在 TestManager 中 的 测 试 日 志 中 查查 看 结 果果 。


51Testing 软 件 测 试 网<br />

组 件 测 试 与 Rational QualityArchitect (Component Testing<br />

and Rational QualityArchitect)<br />

Rational QualityArchitect 是 对 于 测 试 由 诸 如 EJB 和和 COM 技 术术 建 立 的 中 间 件 组 件 时 的 一 个 集 成 工<br />

具 集 合 。<br />

QualityArchitect, 与 Rational Rose 关 联 , 为 你 的 Rose 模 型 中 的 组 件 和和 交 互 产 生 测 试 脚 本本 。 当 脚 本本<br />

产 生 时 , 可 以 编 辑 并 在 你 的 部 署 配 置 环 境 或 RationalTestManager 中 执 行 。<br />

使 用 QualityArchitect, 你 可 以 :<br />

● 生 成 测 试 脚 本本 , 针 对 单 元 测 试 的 独 立 方 法 或 一 个 在 测 试 下 的 组 件 中 的 功 能 。<br />

● 生 成 在 一 个 集 成 组 件 集 合 中 实 现 的 业 务 逻 辑 的 测 试 脚 本本 。 测 试 脚 本本 可 以 从 Rose 交 互 图 或 使 用<br />

Session Recorder 现 存 组 件 中 直 接 生 成 。<br />

● 生 成 你 可 以 隔 离 使 用 测 试 组 件 的 stubs, 与 其 他 的 测 试 下 的 组 件 相 分 离 。<br />

● 通 过 Rational PureCoverage 进 行 跟 踪 代 码 覆 盖 , 通 过 Rational TestManager 进 行 模 型 水 平 覆 盖 。<br />

需 求 与 Rational RequisitePro (Requirements and Rational<br />

RequisitePro)<br />

Rational RequisitePro 是 帮 助 项 目 组 控 制 开 发 过 程 的 一 个 需 求 管 理 工 具 。RequisitePro 由 对 需 求 的<br />

Word 文 档 的 连 接 和和 提 供 的 跟 踪 能 力力 来来 组 织 你 的 需 求 , 并 在 整 个 项 目 生 命命 周周 期 中 变 更 管 理 。<br />

在 你 使 用 Rational Administrator 创 建 一 个 Rational 项 目 时 , 你 可 以 将 一 个 RequisitePro 项 目 与 这 个<br />

管 理 项 目 关 联 起 来来 。 然 后 , 你 可 以 使 用 在 RequisitePro 项 目 中 的 需 求 作 为 TestManager 中 你 的 测 试<br />

计 划 的 测 试 输 入 , 可 以 容 易 地 建 立 需 求 与 测 试 用 例 之 间 的 关 联 。<br />

你 也 可 以 使 用 在 其 他 RequisitePro 项 目 中 的 需 求 作 为 测 试 输 入 。<br />

模 型 元 素 与 Rational Rose (Model Elements and Rational<br />

Rose)<br />

Rational Rose 帮 助 你 具 体 化化 , 明 确 化化 , 构构 筑 和和 描 述 你 的 系 统 架架 构构 的 组 织 和和 行 为 。 利 用 Rose, 你 可


51Testing 软 件 测 试 网<br />

以 使 用 UML( 统 一 建 模 语 言 ) 为 系 统 提 供 一 个 可 视 化化 的 概 述 ,UML 是 可 视 化化 的 和和 描 述 软 件 系 统<br />

的 工 业 标标 准 语 言 。<br />

你 可 以 在 TestManager 中 使 用 Rose 模 型 元 素 作 为 测 试 输 入 , 并 可 容 易 的 建 立 模 型 元 素 与 测 试 用 例<br />

之 间 的 关 联 。<br />

缺 陷 与<br />

Rational ClearQuest ( Defects and Rational<br />

ClearQuest)<br />

Rational ClearQuest 是 一 个 需 求 变 更 管 理 工 具 , 以 跟 踪 和和 管 理 整 个 开 发 过 程 中 的 缺 陷 , 及 需 求 的<br />

变 更 。 利 用 ClearQuest, 你 可 以 管 理 每 一 种 与 软 件 开 发 相 关 联 的 变 更 活 动 的 类 型 , 包包 括 扩 充 需 求 ,<br />

缺 陷 报 告告 , 和和 文 档 修 改 。<br />

利 用 TestManager, 你 可 以 直 接 从 一 个 测 试 日 志 里 提 交 缺 陷 到到 ClearQuest 中 。TestManager 自 动 地<br />

填 充 缺 陷 到到 ClearQuest 里 的 一 些 区 域 , 缺 陷 信 息 来来 源 于 测 试 日 志 。<br />

报 告告 与 Rational SoDA (Reports and Rational SoDA)<br />

Rational SoDA 生 成 最 新 的 项 目 数 据 报 告告 , 而 这 些 数 据 是 由 Rational Suite 中 的 一 个 或 多 个 工 具 收<br />

取 出 来来 的 。SoDA 可 以 与 一 个 Rational 工 具 一 起 工 作 , 诸 如 RequisitePro, 或 是 从 多 个 工 具 组 合 信<br />

息 , 比 如 RequisitePro,Rose,TestManager, 和和 ClearQuest。 这 些 报 告告 提 供 你 的 团 队 交 流 的 更 加<br />

有 效 和和 持 续 的 一 个 方 法 。<br />

比 如 , 利 用 SoDA 你 可 以 创 建 关 于 一 个 软 件 开 发 项 目 的 报 告告 :<br />

● 从 RequisitePro 而 来来 的 需 求<br />

● 从 Rose 而 来来 的 软 件 模 型<br />

● 从 TestManager 而 来来 的 测 试 标标 准<br />

● 从 ClearQuest 而 来来 的 缺 陷 跟 踪 信 息<br />

TestManager 与 可 扩 充 性 (TestManager and Extensibility)<br />

利 用 提 供 的 多 样 的 应 用 程 序 接 口 (APIs),TestManager 不 是 有 限 地 支 持 软 件 开 发 资 产 和和 由<br />

Rational 工 具 产 生 的 测 试 资 产 。APIs 提 供 TestManager 软 件 入 口 , 能 够 实 施 suits 特 定 测 试 目 的


51Testing 软 件 测 试 网<br />

的 插 入 功 能 性 (The APIs provide hooks into and from the TestManager software,enabling<br />

implementers to plug in functionality that suits specific testing purposes.)。 除 内 置 的 测 试 输 入 类 型<br />

和和 测 试 脚 本本 类 型 外 ,TestManager 支 持 常 规 的 测 试 输 入 类 型 和和 测 试 脚 本本 类 型 。<br />

定 义 常 规 的 测 试 输 入 类 型 (Defining Custom Test Input Types)<br />

对 于 测 试 的 任 何 一 种 对 象 都 可 以 被 定 义 和和 管 理 为 一 个 测 试 输 入 类 型 ―― 例 如 , 在 Microsoft<br />

Project 文 件 或 Excel 表 格 中 的 对 象 。<br />

作 为 一 个 例 子 , 你 可 以 定 义 C++ 语 言 项 目 文 件 以 作 为 一 个 测 试 输 入 类 型 , 如 果果 你 想 知 道 在 一 个<br />

源 文 件 改 变 时 哪哪 些 测 试 需 要 被 改 变 和和 返 回 。<br />

由 于 TestManager 支 持 一 个 常 规 测 试 输 入 类 型 , 这 里 必 须 是 一 个 用 户 实 施 动 态 链 接 库<br />

(user-implemented DLL), 被 称 为 一 个 测 试 输 入 适 配 器 (TIA)。 这 个 适 配 器 包包 含 了 对 于 任 务<br />

的 功 能 , 而 对 于 的 任 务 , 诸 如 链 接 和和 断 开 测 试 输 入 源 , 检 查查 一 个 输 入 是 否 被 更 改 , 及 设 置 多 种<br />

过 滤 器 。 更 多 有 关 常 规 适 配 器 的 信 息 , 参 阅 Rational TestManager Extensibility Reference 手 册 。<br />

有 关 在 TestManager 中 定 义 新 的 测 试 输 入 类 型 的 信 息 , 参 阅 27 页 Custom Test Input Types 的 内 容 。<br />

定 义 常 规 的 测 试 脚 本本 类 型 ( Defining Custom Test Script<br />

Types)<br />

TestManager 的 可 扩 展 的 测 试 脚 本本 类 型 的 功 能 性 可 以 让 你 使 用 任 何 与 你 测 试 环 境 相 适 应 的 测 试<br />

工 具 来来 实 施 常 规 测 试 脚 本本 。<br />

这 里 有 几 种 扩 展 TestManager 的 方 法 以 支 持 一 个 新 的 测 试 脚 本本 类 型 :<br />

● 使 用 Command Line Test Script Console Adapter 去 创 建 , 打 开 和和 编 辑 测 试 脚 本本 。<br />

● 建 立 一 个 常 规 的 Test Script Console Adapter 或 使 用 Rational( 或 它 的 合 作 商 ) 提 供 的 一 个 适 配<br />

器 去 打 开 ( 可 选 择 性 地 创 建 和和 编 辑 ) 测 试 脚 本本 。( 更 多 有 关 常 规 适 配 器 的 信 息 , 参 阅 Rational<br />

TestManager Extensibility Reference 手 册 。)<br />

● 使 用 Command Line Test Script Execution Adapter 去 执 行 测 试 脚 本本 。<br />

● 建 立 一 个 常 规 的 Test Script Execution Adapter 或 使 用 Rational( 或 它 的 合 作 商 ) 提 供 的 一 个 适 配<br />

器 去 执 行 测 试 脚 本本 。( 更 多 有 关 常 规 适 配 器 的 信 息 , 参 阅 Rational TestManager Extensibility<br />

Reference 手 册 。)


51Testing 软 件 测 试 网<br />

有 关 在 TestManager 中 定 义 测 试 脚 本本 类 型 的 信 息 , 参 阅 57 页 Custom Test Script Types 的 内 容 。<br />

虚 拟 的 测 试 者 (Virtual Testers)<br />

一 个 虚 拟 的 测 试 者 是 在 一 台 测 试 机机 上 执 行 测 试 脚 本本 的 一 个 单 一 的 实 例 。 对 于 功 能 测 试 , 在 一 台<br />

测 试 机机 上 , 仅 仅 是 每 次 一 个 虚 拟 的 测 试 者 可 执 行 。 对 于 性 能 测 试 , 一 台 测 试 机机 上 可 以 同 时 执 行<br />

多 个 虚 拟 测 试 者 。<br />

注 意 事 项 : 虚 拟 的 测 试 者 执 行 在 已 安 装 了 代 理 (Agent) 软 件 的 测 试 机机 上 。 有 关 信 息 , 参 阅 15<br />

页 Local and Agent Computers 的 内 容 。<br />

一 个 虚 拟 的 测 试 者 执 行 一 个 客 户 端 与 其 服 务 器 之 间 的 仿 真 通 信 。 例 如 , 当 你 在 Robot 中 记 录 一 个<br />

session 时 ,Robot 记 录 一 个 客 户 端 到到 服 务 器 的 请 求 ―― 诸 如 Oracle,Microsoft SQL Server, 和和 HTTP<br />

请 求 。<br />

性 能 测 试 允 许 你 添 加 一 个 工 作 量 到到 一 个 C/S 系 统 在 一 台 服 务 器 上 执 行 多 个 虚 拟 的 测 试 者 。 虚 拟 的<br />

测 试 者 也 能 让 你 确 定 可 测 量 性 和和 衡 量 服 务 器 响响 应 次 数 。<br />

功功 能 和 性 能 测 试 (Functional and Performance Testing)<br />

当 你 计 划 测 试 时 , 你 可 能 需 要 考 虑 是 否 需 要 功 能 测 试 , 性 能 测 试 或 两 者 皆 有 。<br />

功 能 测 试 (Functional Testing)<br />

在 功 能 测 试 中 , 代 表 性 地 测 试 应 用 程 序 的 准 确 性 和和 如 何 在 不 同 的 测 试 机机 上 运 行 。<br />

功 能 测 试 趋 向 于 已 明 确 的 对 象 和和 结 果果 。 例 如 , 如 果果 有 一 个 特 征 是 向 disk 存 储 文 件 , 那 么 测 试 这<br />

个 特 征 是 相 对 简 单 的 。 如 果果 一 个 文 件 被 正 确 地 存 储 , 那 它 就 通 过 了 该 测 试 。 反 之 , 如 果果 没 有 被<br />

正 确 地 存 储 , 那 它 就 失 败 了 。<br />

有 关 功 能 测 试 的 信 息 , 参 阅 第 二 部 分 ,Functional Testing with Rational TestManager.<br />

性 能 测 试 (Performance Testing)<br />

在 性 能 测 试 中 , 你 可 以 衡 量 下 面 的 内 容 :


51Testing 软 件 测 试 网<br />

● 客 户 端 响响 应 时 间 。 这 是 整 个 结 束束 到到 结 束束 的 作 为 一 个 用 户 看 到到 的 响响 应 时 间 。 这 个 时 间 被 认 为 是<br />

一 个 用 户 输 入 一 个 请 求 , 服 务 器 端 响响 应 该 请 求 , 和和 用 户 最 终 看 到到 响响 应 结 果果 的 时 间 。<br />

● 服 务 器 响响 应 时 间 。 这 个 时 间 被 认 为 是 服 务 器 处 理 一 个 请 求 的 时 间 。<br />

性 能 测 试 比 功 能 测 试 复 杂 的 多 , 因 为 性 能 测 试 本本 身 是 主 观 的 。 像 这 样 , 一 个 用 户 可 能 觉 得 太 慢 ,<br />

而 另 一 个 用 户 可 能 认 为 这 是 可 以 接 受 的 。 因 此 , 在 编 制 性 能 测 试 的 测 试 计 划 时 , 你 需 要 加 入 一<br />

些 看 法 到到 构构 成 的 可 接 受 性 能 中 去 。<br />

另 一 个 性 能 测 试 的 复 杂 性 是 性 能 依 赖 工 作 量 条条 件 下 变 化化 的 巨 大 。<br />

查查 询 一 个 系 统 上 的 数 据 库 , 主 要 使 用 是 针 对 CPU-intensive 活 动 产 生 的 一 个 响响 应 时 间 , 而 在 针 对<br />

于 产 生 I/O-intensive 数 据 库 报 告告 的 情 况 下 , 执 行 相 同 的 查查 询 , 得 到到 的 响响 应 时 间 是 与 前前 者 不 相 同 的 。<br />

(Querying a database on a system that is primarily used for CPU-intensive activities yields a<br />

different response time than performing the same query on a system used primarily for generating<br />

I/O-intensive database reports.)<br />

相 关 性 能 测 试 的 信 息 , 参 阅 第 三 部 分 ,Performance Testing with Rational TestManager。<br />

本 地 与 代 理 测 试 机 (Local and Agent Computers)<br />

你 协 调 从 一 台 运 行 TestManager 的 单 一 窗 口 的 测 试 机机 上 而 来来 的 你 所 有 的 测 试 用 例 、 测 试 脚 本本 和和<br />

suites 的 活 动 。 这 就 是 所 说 的 本本 地 测 试 机机 (Local computer)<br />

在 一 个 测 试 执 行 期 间 , 你 在 一 台 本本 地 机机 或 一 台 被 设 计 为 代 理 机机 (Agent computers) 上 录 制 回 放<br />

测 试 脚 本本 。 你 使 用 一 台 代 理 机机 如 下 :<br />

● 添 加 工 作 量 到到 服 务 器 。 如 果果 你 执 行 一 个 有 大 量 虚 拟 测 试 者 的 测 试 , 那 么 你 可 以 使 用 代 理 机机 来来<br />

添 加 工 作 量 到到 服 务 器 。<br />

● 在 多 于 一 台 测 试 机机 上 执 行 测 试 脚 本本 。 如 果果 你 正 在 执 行 一 个 功 能 测 试 , 那 么 你 可 以 在 一 台 代 理<br />

机机 上 执 行 测 试 脚 本本 来来 节 约 时 间 , 而 这 台 可 利 用 的 代 理 机机 代 替 了 执 行 所 有 测 试 脚 本本 的 本本 地 机机 。<br />

● 执 行 有 多 个 虚 拟 测 试 者 的 功 能 测 试 。 如 果果 你 正 在 执 行 一 个 有 多 个 虚 拟 测 试 者 的 功 能 suite, 那<br />

么 你 就 需 要 一 个 代 理 机机 , 因 为 一 个 虚 拟 测 试 者 仅 仅 执 行 在 一 台 测 试 机机 上 。<br />

● 测 试 配 置 。 如 果果 你 正 在 测 试 不 同 的 硬 件 和和 软 件 配 置 , 那 么 你 可 以 在 不 同 的 代 理 机机 上 执 行 测 试<br />

脚 本本 , 而 这 些 代 理 机机 设 置 了 你 需 要 的 配 置 。


51Testing 软 件 测 试 网<br />

Suites<br />

多 重 测 试 脚 本本 和和 并 联 的 测 试 机机 可 以 包包 含 在 一 个 测 试 中 去 。Suites 能 让 你 去 协 调 测 试 脚 本本 执 行 的 方<br />

法 。 在 功 能 测 试 中 ,suites 让 你 在 一 台 可 用 的 测 试 机机 上 并 行 地 执 行 测 试 脚 本本 , 以 便 你 的 测 试 可 以<br />

执 行 地 更 快 点 。 在 性 能 测 试 中 ,suites 添 加 工 作 量 到到 服 务 器 中 。<br />

在 你 已 经 使 用 TestManager 创 建 了 一 个 suites, 你 可 以 执 行 这 些 suites 反 复 地 对 照 产 品品 的 连 续 构构 建 ,<br />

然 后 使 用 TestManager 的 报 告告 工 具 分 析析 结 果果 。<br />

关 于 suites 的 信 息 , 参 阅 67 页 Implementing Tests as Suites 的 内 容 。<br />

Rational TestManager<br />

的 开 始 ( Starting Rational<br />

TestManager)<br />

在 你 开 始 使 用 TestManager 之 前前 , 你 需 要 :<br />

● 安 装 Rational TestManager。 有 关 信 息 , 参 阅 Installing Rational Testing Products 手 册 。<br />

● 一 个 Rational 产 品品 。 有 关 信 息 , 参 阅 Using the Rational Administrator 手 册 或 Rational Administrator<br />

帮 助 。<br />

登 录 到到 TestManager(Logging into TestManager)<br />

当 你 登 陆 TestManager 时 , 你 需 要 提 供 你 的 用 户 ID 和和 密 码 , 这 些 是 你 的 管 理 员员 分 配 给 你 的 。 你 也<br />

可 以 指 定 项 目 来来 进 入 。<br />

登 陆 :<br />

● 点 击 Start > Programs > Rational product name > Rational TestManager 打 开 Rational<br />

Test 登 陆 对 话 框 。


51Testing 软 件 测 试 网<br />

从 TestManager 进 入 其 他 的 Rational 产 品品 和和 组 件 (Starting<br />

Other Rational Products and Components from TestManager)<br />

在 你 进 入 到到 TestManager 中 , 你 可 以 从 其 他 的 工 具 菜 单 或 工 具 栏栏 中 开 始 其 他 的 Rational 产 品品 和和 组<br />

件 。<br />

TestManager<br />

的 主 要 窗 口 ( The TestManager Main<br />

Window)<br />

下 图 展 示 了 TestManager 的 主 要 窗 口 和和 它 的 一 些 子 窗 口 :


51Testing 软 件 测 试 网<br />

测 试 资 产 工 作 区 (Test Asset Workspace)<br />

Test Asset Workspace 给 你 项 目 中 的 测 试 资 产 不 同 的 视 图 。 它 有 4 个 标标 签 : 计 划 编 制 , 执 行 , 结 果果<br />

和和 分 析析 。<br />

● 点 击 View > Test Asset Workspace。<br />

右 键 点 击 在 Workspace 中 的 任 何 一 个 测 试 资 产 来来 显 示 一 个 捷 径 菜 单 。<br />

右 键 点 击 窗 口 底 部 附 近 ( 在 一 个 空 区 域 ) 来来 允 许 Workspace 的 进 入 或 使 它 浮 动 在 主 窗 口 中 。<br />

编 制 计 划 标标 签 (Planning Tab)<br />

Planning 标标 签 编 列 项 目 中 的 测 试 计 划 和和 迭 代 。


51Testing 软 件 测 试 网<br />

右 键 点 击 任 意 一 个 测 试 资 产 来来 显 示 一 个 捷 径 菜 单 。<br />

有 关 测 试 计 划 的 信 息 , 参 阅 28 页 上 的 Creating a Test Plan 的 内 容 。<br />

有 关 迭 代 的 信 息 , 参 阅 43 页 上 的 Specifying When to Run Tests 的 内 容 。<br />

执 行 标标 签 (Execution Tab)<br />

Execution 标标 签 编 列 项 目 中 的 suites, 测 试 机机 , 和和 测 试 机机 列 表 。<br />

右 键 点 击 任 意 一 个 测 试 资 产 来来 显 示 一 个 捷 径 菜 单 。<br />

有 关 suites 的 信 息 , 参 阅 67 页 Implementing Tests as Suites 的 内 容 。<br />

有 关 测 试 机机 和和 测 试 机机 列 表 的 信 息 , 参 阅 69 页 Defining Agent Computers and Computer Lists 的 内 容 。


51Testing 软 件 测 试 网<br />

结 果果 标标 签 (Results Tab)<br />

Results 标标 签 编 列 项 目 中 的 builds, 测 试 日 志 文 件 夹 , 和和 测 试 日 志 。<br />

右 键 点 击 任 意 一 个 测 试 资 产 来来 显 示 一 个 捷 径 菜 单 。<br />

有 关 builds, 测 试 日 志 文 件 夹 和和 测 试 日 志 , 参 阅 127 页 Evaluating Tests 的 内 容 。<br />

分 析析 标标 签 (Analysis Tab)<br />

Analysis 标标 签 编 列 项 目 中 的 报 告告 。


51Testing 软 件 测 试 网<br />

右 键 点 击 任 意 一 个 测 试 资 产 来来 显 示 一 个 捷 径 菜 单 。<br />

有 关 报 告告 的 信 息 , 参 阅 145 页 Reporting Results 和和 291 页 Reporting Performance Testing Results 的 内<br />

容 。<br />

其 他 TestManager 窗 口 (Other TestManager Windows)<br />

下 图 所 示 的 表 编 列 了 其 他 的 TestManager 窗 口 和和 有 关 这 些 窗 口 的 信 息 搜 寻 。


51Testing 软 件 测 试 网<br />

窗 口<br />

说 明<br />

参 阅<br />

Test Input 显 示 测 试 输 入 与 项 目 的 关 联 24 页<br />

Test Plan 显 示 一 个 测 试 计 划 和和 它 含 有 的 28 页<br />

全 部 测 试 用 例 文 件 夹 和和 测 试 用<br />

例<br />

Configuration 显 示 所 有 的 配 置 和和 项 目 中 的 配 35 页<br />

置 属 性<br />

Suite 显 示 包包 含 在 一 组 suite 中 所 有 的 67 页<br />

条条 目<br />

Monitoring 显 示 在 测 试 用 例 , 测 试 脚 本本 , 或 103 页<br />

suite 执 行 时 的 更 新 信 息<br />

Test Log 在 你 执 行 一 组 suite, 测 试 用 例 , 127 页<br />

或 测 试 脚 本本 后 , 显 示 被 创 建 的 测<br />

试 日 志 。<br />

Reports 显 示 报 告告 的 执 行 结 果果 145 页


51Testing 软 件 测 试 网<br />

2<br />

测 试 的 计 划 (Planning Tests)<br />

这 一 章 描 述 如 何 计 划 我 们 的 测 试 , 它 包包 括 以 下 的 内 容 :<br />

□ 关 于 测 试 的 计 划 编 制<br />

□ 确 定 测 试 需 要 的 条条 件 输 入<br />

□ 创 建 测 试 计 划<br />

□ 组 织 测 试 用 例 文 件 夹<br />

□ 创 建 测 试 用 例<br />

注 意 条条 款 : 对 于 细 节 过 程 , 参 见 TestManager 的 帮 助 文 档 。<br />

◆ 关 于 测 试 计 划 的 编 制制 (About Test Planning)<br />

测 试 计 划 编 制 的 动 机机 就 是 下 面 这 个 问 题 的 答 案 :“ 在 我 们 需 要 达 到到 agree-upon 质 量 目 标标 的 测 试<br />

时 , 我 们 该 做 什 么 ?”<br />

当 我 们 完 成 测 试 计 划 时 , 你 已 经 有 了 一 份 限 定 了 你 将 要 测 试 什 么 的 测 试 计 划 。<br />

测 试 计 划 的 编 制 是 跨 时 间 的 , 你 偶 尔 可 以 加 一 些 要 测 试 的 东 西 到到 它 里 面 去 。<br />

在 一 个 团 队 中 , 有 不 同 的 成 员员 和和 角 色 , 就 如 产 品品 ( 项 目 ) 经 理 , 分 析析 人 员员 , 测 试 人 员员 和和 开 发 人<br />

员员 , 会 提 出 你 需 要 定 义 的 一 些 新 的 测 试 用 例 , 你 需 要 测 试 的 一 些 新 的 情 况 , 以 及 你 仅 仅 只 需 要<br />

学 习 的 新 的 特 征 。<br />

换 句 话 说 , 你 不 在 测 试 的 开 始 阶 段 制 定 测 试 计 划 , 那 么 你 的 目 标标 是 停 滞 和和 不 灵 活 的 。<br />

测 试 计 划 是 一 个 迭 代 定 义 的 不 断 完 善 的 测 试 资 产 。<br />

在 TestManager 中 , 一 个 测 试 计 划 包包 含 很 多 测 试 用 例 , 而 测 试 用 例 在 测 试 用 例 文 件 夹 中 被 组 织<br />

起 来来 。<br />

在 TestManager 中 , 测 试 计 划 的 编 制 有 以 下 几 个 主 要 工 作 组 成 :<br />

□ 收 集 并 确 定 测 试 输 入<br />

□ 创 建 测 试 计 划


51Testing 软 件 测 试 网<br />

□ 创 建 测 试 用 例 文 件 夹<br />

□ 创 建 测 试 用 例<br />

□ 限 定 你 需 要 测 试 时 的 资 源 配 置<br />

□ 定 义 你 的 迭 代 , 在 你 执 行 测 试 时<br />

◆ 确 定 测 试 需 要 的 测 试 输 入 (Identifying What to Test by<br />

Using Test Inputs)<br />

当 你 首 先 开 始 编 制 测 试 计 划 时 , 你 的 目 标标 应 该 是 创 建 一 个 测 试 列 表 , 让 他 的 里 面 包包 含 你 所 有 需<br />

要 测 试 的 东 西 。<br />

一 个 方 法 是 在 你 编 制 计 划 开 始 阶 段 , 去 找 那 些 可 利 用 的 资 源 , 它 们 能 够 帮 助 你 决 定 需 要 测 试 的<br />

是 什 么 。<br />

举 个 例 子 , 你 可 以 看 到到 :<br />

□ 原 型<br />

□ 软 件 构构 架架<br />

□ 功 能 描 述<br />

□ 需 求 分 析析<br />

□ 可 视 模 型<br />

□ 源 代 码 文 档<br />

□ 需 求 变 化化<br />

作 为 一 个 测 试 人 员员 可 能 看 到到 的 那 些 资 源 , 帮 助 你 决 定 :“ 你 需 要 测 试 什 么 ?” 这 些 资 源 (materials)<br />

就 是 你 的 测 试 输 入 。 他 们 是 测 试 计 划 编 制 阶 段 时 的 输 入 。 他 们 帮 助 你 构构 建 测 试 列 表 。<br />

在 你 构构 建 了 你 的 测 试 列 表 , 也 就 是 确 定 了 你 需 要 的 测 试 之 后 , 你 就 可 以 创 建 你 的 测 试 用 例 了 。<br />

测 试 用 例 限 定 你 以 测 试 输 入 为 基 础 , 将 要 进 行 的 测 试 。 于 是 , 你 能 够 把 测 试 输 入 和和 测 试 用 例 结<br />

合 起 来来 对 测 试 目 的 进 行 跟 踪 , 在 搭 建 起 这 些 联 系 时 , 你 能 够 更 容 易 地 跟 踪 到到 这 些 测 试 输 入 的 改<br />

变 , 而 这 些 改 变 可 能 引 起 测 试 用 例 的 变 化化 , 或 是 改 变 这 些 测 试 用 例 的 实 施 。 对 于 该 内 容 , 可 见<br />

45 页 的 利 用 测 试 输 入 搭 建 跟 踪 (Trace ability)。<br />

你 也 可 以 执 行 报 告告 (Run reports) 来来 确 定 这 些 将 用 例 和和 用 例 实 施 联 系 在 一 起 的 测 试 输 入 , 以 及<br />

确 定 那 些 已 经 执 行 过 的 测 试 用 例 。 举 个 例 子 , 分 析析 人 员员 可 能 对 基 于 需 求 方 面 的 报 告告 感 兴 趣 , 而<br />

设 计 人 员员 对 基 于 模 型 元 素 方 面 的 报 告告 感 兴 趣 。 对 于 相 关 报 告告 的 内 容 , 可 见 145 页 的 报 告告 的 结 果果


51Testing 软 件 测 试 网<br />

(Reporting Results)<br />

几 乎 任 何 的 事 物 都 能 够 作 为 测 试 的 输 入 , 而 TestManager 提 供 了 内 置 的 测 试 输 入 类 型 , 当 然 ,<br />

你 也 可 以 定 义 自 己 习 惯 的 测 试 输 入 的 类 型 , 以 作 为 你 测 试 环 境 的 需 求 。<br />

为 看 到到 这 些 可 利 用 的 测 试 输 入 :<br />

点 击 View 菜 单 下 的 Test Inputs(View > Test Inputs) 打 开 测 试 输 入 窗 口 。<br />

内 置 测 试 输 入 的 类 型 (Built-in Test Input Types)<br />

TestManager 有 两 种 内 置 的 测 试 输 入 的 类 型 :<br />

□ 在 一 个 Rational RequisitePro 工 程 中 的 需 求 类 型 。<br />

□ 在 一 个 Rational Rose 可 视 模 型 中 的 元 素 类 型 。<br />

来来 自 Rational RequisitePro 中 的 需 求 (Requirements from<br />

Rational RequisitePro)<br />

你 可 以 方 便 地 利 用 RequisitePro 中 的 需 求 作 为 你 测 试 的 输 入 。 你 或 者 管 理 人 员员 可 以 利 用 Rational<br />

Administrator 将 一 个 RequisitePro 中 的 工 程 和和 一 个 Rational 中 的 工 程 联 系 起 来来 , 当 你 这 么 做 时 ,<br />

这 些 需 求 会 自 动 出 现 在 你 测 试 输 入 的 窗 口 中 , 不 过 , 你 得 先 登 陆 到到 TestManager 的 工 程 中 。 然<br />

后 , 你 可 以 创 建 一 个 联 合 体 , 在 需 求 与 测 试 用 例 之 间 。 你 也 可 以 利 用 其 他 的 一 些 RequisitePro<br />

工 程 中 的 需 求 作 为 你 的 测 试 用 例 。<br />

注 意 条条 款 : 在 RequisitePro 中 , 需 求 自 己 被 创 建 和和 管 理 , 但 你 能 够 从 TestManager 中 修 改 需 求 的<br />

属 性 。 下 图 展 示 了 一 些 来来 自 于 一 个 RequisitePro 工 程 中 的 需 求 。 当 你 打 开 测 试 输 入 的 窗 口 时 ,<br />

你 就 可 以 这 些 需 求 了 。


51Testing 软 件 测 试 网<br />

即 使 你 没 有 将 RequisitePro 工 程 和和 Rational 中 的 工 程 联 系 起 来来 , 你 也 一 样 可 以 利 用 一 个 或 者 更 多<br />

的 RequisitePro 工 程 来来 作 为 你 制 定 测 试 输 入 的 资 源 。 然 而 , 既 然 是 那 样 , 你 必 须 将 RequisitePro<br />

工 程 与 TestManager 一 起 注 册 。<br />

注 册 一 个 RequisitePro 工 程 作 为 测 试 输 入 的 资 源 :<br />

1. 点 击 Tools 菜 单 中 的 Manage 项 , 打 开 Test Input Types。(Tools > Manage > Test Input<br />

Types)<br />

2. 打 开 Rational RequisitePro, 并 点 击 编 辑 (Edit)。<br />

注 意 : 如 果果 Edit 不 可 用 , 那 就 是 你 还 没 有 管 理 员员 权 限 。 对 于 该 内 容 , 可 参 见 Rational 管 理 员员 使 用<br />

手 册 (Using the Rational Administrator manua) 或 他 的 帮 助 文 档 。<br />

3. 点 击 Sources 标标 识 和和 Insert 项 。


51Testing 软 件 测 试 网<br />

惯 用 的 测 试 输 入 的 类 型 (Custom Test Input Types)<br />

TestManager 还 支 持 除 RequisitePro 需 求 和和 Rational Rose 模 型 元 素 之 外 的 测 试 输 入 的 类 型 。 举 个<br />

例 子 , 你 可 能 想 使 用 Microsoft Excel 的 电 子 数 据 表 中 的 数 值 作 为 测 试 的 输 入 。<br />

如 果果 你 想 知 道 在 资 源 文 件 发 生 变 化化 时 , 哪哪 些 需 要 的 测 试 会 被 改 变 或 返 回 , 你 就 可 以 定 义 C++ 中<br />

的 工 程 文 件 作 为 测 试 输 入 的 类 型 。<br />

对 于 TestManager 支 持 的 一 个 扩 展 类 型 , 就 需 要 你 这 个 测 试 组 中 的 某某 个 人 写 一 个 习 惯 的 测 试 输 入<br />

转 换 器 。 一 个 转 换 器 是 一 个 为 TestManager 必 要 时 调 用 的 动 态 连 接 库 (DLL), 和和 某某 种 需 要 的 函<br />

数 。 就 像 这 个 例 子 , 当 连 接 到到 测 试 输 入 资 源 或 从 该 资 源 断 开 的 时 候 。 除 了 要 你 的 这 个 测 试 组 写<br />

转 换 器 外 ,Rational 公 司 的 软 件 或 者 他 的 合 作 伙 伴 有 一 些 可 利 用 的 惯 用 转 换 器 。( 对 于 该 内 容 ,<br />

可 参 见 Rational TestManager 扩 展 机机 制 参 考 手 册 (Rational TestManager Extensibility Reference<br />

manual).<br />

在 实 施 DLL 之 后 , 你 需 要 在 TestManager 中 定 义 新 的 类 型 , 并 且 需 要 注 册 资 源 。<br />

有 如 下 操 作 :<br />

□ 点 击 Tools > Manage > Test Input Types。<br />

□ 点 击 New。<br />

注 意 事 项 : 如 果果 点 击 New 无 效 , 那 就 是 你 还 不 具 有 管 理 员员 的 权 限 。<br />

以 上 内 容 可 参 见 Rational 管 理 员员 使 用 手 册 或 是 他 的 帮 助 文 档 。


51Testing 软 件 测 试 网<br />

有 关 此 方 面 更 多 的 信 息 , 可 参 见 TestManager 帮 助 文 档 索 引 中 的 新 测 试 输 入 类 型 的 注 册 (test<br />

input types:registering new)<br />

在 TestManager 中 定 义 新 的 类 型 , 并 且 需 要 注 册 资 源 后 , 资 源 显 示 在 测 试 输 入 的 窗 口 中 。<br />

(View > Test Inputs)<br />

◆ 创 建 测 试 计 划 (Creating a Test Plan)<br />

在 TestManager 中 , 一 个 测 试 计 划 是 一 个 Rational Test 数 据 存 储 的 资 产 。<br />

你 可 以 在 一 个 项 目 中 有 一 个 或 多 个 测 试 计 划 , 可 以 用 任 何 方 法 来来 组 织 它 们 , 而 这 些 方 法 应 该 为<br />

你 的 测 试 情 况 做 出 判 断 。<br />

例 如 , 你 有 了 一 个 完 整 测 试 的 项 目 的 测 试 计 划 , 或 者 是 测 试 一 个 项 目 的 主 要 模 块 的 测 试 计 划 。<br />

每 个 测 试 计 划 都 能 够 包包 含 复 合 的 测 试 用 例 文 件 夹 和和 测 试 用 例 。<br />

在 测 试 计 划 窗 口 中 (Test Plan window), 你 与 测 试 计 划 一 起 工 作 。<br />

打 开 测 试 计 划 窗 口 :<br />

● 在 测 试 资 产 工 作 区 的 计 划 编 制 标标 签 (Planning tab) 中 , 右 键 点 击 测 试 计 划 , 点 击 Open。<br />

在 下 面 的 例 子 中 , 名 为 功 能 测 试 的 测 试 计 划 包包 含 了 复 合 的 测 试 用 例 文 件 夹 和和 测 试 用 例 。


51Testing 软 件 测 试 网<br />

你 可 以 运 行 报 告告 来来 观 察 一 个 项 目 的 测 试 计 划 的 信 息 。 更 多 有 关 报 告告 的 信 息 , 请 参 见 Reporting<br />

Results 中 145 页 的 内 容 。<br />

创 建 测 试 计 划 (Creating Test Plans)<br />

TestManager 为 你 提 供 一 个 名 为 Test Plan1( 默 认 ) 的 空 测 试 计 划 , 你 可 以 使 用 它 开 始 你 的 计 划<br />

编 制 。 当 然 , 你 也 可 以 创 建 自 己 命命 名 的 测 试 计 划 。<br />

开 始 创 建 新 的 测 试 计 划 :<br />

● 在 测 试 资 产 工 作 区 (Test Asset Workspace) 的 计 划 编 制 标标 签 (Planning tab) 中 , 右 键 点 击<br />

测 试 计 划 , 点 击 New Test Plan。<br />

注 意 事 项 : 如 果果 New Test Plan 菜 单 命命 令 不 可 用 , 说 明 你 还 不 具 有 管 理 员员 的 权 限 。 更 多 信 息 ,<br />

请 参 见 the Using the Rational Administrator 手 册 或 帮 助 。<br />

如 图 所 示 的 新 建 测 试 计 划 :


51Testing 软 件 测 试 网<br />

测 试 计 划 的 属 性 (Properties of a Test Plan)<br />

一 个 测 试 计 划 具 有 很 多 的 属 性 , 这 里 包包 括 :<br />

● 测 试 计 划 的 名 称 ( 必 需 的 )。<br />

● 测 试 计 划 的 描 述 。<br />

● 测 试 计 划 所 有 者 , 请 参 见 Specifying the Owner 中 34 页 的 内 容 。<br />

● 对 于 测 试 计 划 的 配 置 关 联 。 更 多 信 息 请 参 见 Defining the Configurations to Test 中 35 页 的 内 容 。<br />

● 对 于 测 试 计 划 的 迭 代 关 联 。 更 多 信 息 请 参 见 Specifying When to Run Tests 中 43 页 的 内 容 。<br />

● 对 于 测 试 计 划 的 外 部 文 档 关 联 。 比 如 , 你 能 够 建 立 一 个 记 录 有 关 你 测 试 计 划 细 节 信 息 的 Word<br />

文 档 的 关 联 。<br />

测 试 计 划 的 名 称 是 必 需 的 。 对 于 所 有 其 他 的 属 性 , 你 能 够 在 第 一 次 创 建 测 试 计 划 时 添 加 它 们 ,<br />

或 者 在 晚 些 时 候 添 加 或 修 改 它 们 。<br />

注 意 事 项 : 你 能 够 定 制 一 些 测 试 资 产 (Test assets) 的 属 性 , 在 Tools 工 具 栏栏 中 选 择 Customize<br />

菜 单 (Tools > Customize)。<br />

任 何 对 于 测 试 计 划 的 迭 代 关 联 和和 配 置 关 联 , 系 统 自 动 建 立 与 新 测 试 用 例 文 件 夹 的 关 联 , 这 些 测<br />

试 用 例 文 件 夹 是 直 属 与 测 试 计 划 。<br />

换 句 话 说 , 如 果果 你 在 测 试 计 划 的 窗 口 中 创 建 直 属 与 一 个 测 试 计 划 的 测 试 用 例 文 件 夹 , 这 个 新 的<br />

文 件 夹 将 继 承 所 有 的 对 于 该 测 试 计 划 的 迭 代 关 联 和和 配 置 关 联 。<br />

你 能 够 容 易 的 改 变 那 些 不 合 适 的 文 件 夹 的 关 联 。<br />

开 始 改 变 测 试 计 划 的 属 性 :<br />

● 在 测 试 计 划 窗 口 或 者 是 测 试 资 产 工 作 区 的 计 划 编 制 标标 签 (Planning tab) 中 , 右 键 点 击 测 试<br />

计 划 , 点 击 属 性 (Properties) 菜 单 。<br />

你 也 可 以 复 制 一 个 已 存 在 的 测 试 计 划 和和 它 的 所 有 属 性 。<br />

◆ 组 织 测 试 用 例 文 件 夹 ( Organizing Test Cases with<br />

Folders)<br />

在 一 个 测 试 计 划 里 , 你 可 以 创 建 测 试 用 例 文 件 夹 来来 分 层 次 组 织 你 的 测 试 用 例 。 你 可 以 用 任 一 种<br />

方 法 来来 组 织 测 试 用 例 , 这 些 方 法 应 该 为 你 的 测 试 结 果果 做 出 判 断 。<br />

例 如 , 你 已 经 创 建 了 一 个 测 试 用 例 文 件 夹 :


51Testing 软 件 测 试 网<br />

● 对 于 你 项 目 组 中 的 每 一 个 测 试 人 员员 。<br />

● 对 于 测 试 每 一 个 种 类 或 类 型 ( 单 元 测 试 , 功 能 测 试 , 执 行 测 试 和和 其 他 )。<br />

● 对 于 系 统 的 每 一 个 用 例 (use case)。<br />

● 对 于 应 有 程 序 的 每 一 个 主 要 模 块 。<br />

● 对 于 测 试 过 程 的 每 一 个 阶 段 。<br />

你 可 以 在 测 试 用 例 文 件 夹 (test case folders) 中 再 创 建 一 个 test case folders。 例 如 , 你 已 经 有 了<br />

一 个 测 试 人 员员 的 文 件 夹 , 然 后 那 个 测 试 人 员员 可 以 为 每 一 个 需 要 测 试 的 功 能 块 继 续 创 建 文 件 夹 ,<br />

当 然 是 在 已 有 的 这 个 文 件 夹 中 。<br />

创 建 一 个 test case folder:<br />

● 在 测 试 计 划 窗 口 中 , 右 键 点 击 测 试 计 划 或 测 试 用 例 文 件 夹 (test case folder), 点 击 Insert<br />

Test Case Folder。<br />

就 像 测 试 计 划 一 样 , 一 个 测 试 用 例 文 件 夹 (test case folder) 有 确 定 的 属 性 。<br />

这 里 包包 括 :<br />

● 文 件 夹 的 名 称 ( 必 需 的 )。<br />

● 文 件 夹 的 一 个 描 述 。<br />

● 文 件 夹 的 所 有 者 。 更 多 信 息 , 请 参 见 Specifying the Owner 中 34 页 的 内 容 。<br />

● 文 件 夹 的 配 置 关 联 。 更 多 信 息 请 参 见 Defining the Configurations 中 35 页 的 内 容 。<br />

● 文 件 夹 的 迭 代 关 联 。 更 多 信 息 请 参 见 Specifying When to Run Tests 中 43 页 的 内 容 。<br />

文 件 夹 的 名 称 是 必 需 的 。 对 于 其 他 所 有 的 属 性 , 你 可 以 在 第 一 次 创 建 文 件 夹 的 时 候 来来 添 加 它 们 ,<br />

或 者 在 晚 些 时 候 添 加 或 是 修 改 这 些 属 性 。


51Testing 软 件 测 试 网<br />

任 何 对 于 一 个 测 试 用 例 文 件 夹 (test case folder) 的 迭 代 关 联 和和 配 置 关 联 , 系 统 自 动 建 立 与 新 文<br />

件 夹 和和 测 试 用 例 的 关 联 , 这 些 测 试 用 例 是 测 试 用 例 文 件 夹 (test case folder) 的 直 接 子 集 。<br />

换 句 话 说 , 如 果果 你 在 测 试 计 划 的 窗 口 中 创 建 直 属 与 一 个 test case folder 的 测 试 用 例 , 那 个 新 的 测<br />

试 用 例 将 继 承 所 有 的 对 于 该 test case folder 的 迭 代 关 联 和和 配 置 关 联 。 你 还 能 够 容 易 的 改 变 那 些 不<br />

合 适 的 测 试 用 例 的 关 联 。<br />

◆ 创 建 测 试 用 例 (Creating Test Cases)<br />

测 试 用 例 集 中 于 测 试 计 划 。 在 你 定 义 了 你 的 测 试 输 入 和和 决 定 自 己 如 何 测 试 之 后 ,<br />

你 就 可 以 创 建 自 己 的 测 试 用 例 了 。<br />

(The test case is the test asset in TestManager that answers the question, “What am I<br />

going to test?” You develop test cases to validate that the system is working the way<br />

that it's supposed to work and is built with the quality necessary before you can ship<br />

it.)<br />

测 试 用 例 作 为 Test Manager 中 的 测 试 资 产 , 也 是 “ 我 将 要 测 试 什 么 ?” 的 问 题 的 答 案 。 你 开 发 测<br />

试 用 例 为 使 系 统 有 效 的 工 作 在 假 定 的 方 式 下 , 以 及 在 你 成 品品 之 前前 对 于 质 量 的 必 然 的 建 立 。<br />

一 个 测 试 用 例 经 常 是 属 于 一 个 测 试 计 划 中 一 个 测 试 用 例 文 件 夹 的 。<br />

你 可 以 用 两 种 途 径 来来 创 建 测 试 用 例 :<br />

● 在 测 试 计 划 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 文 件 夹 , 点 击 Insert Test Case。<br />

● 在 测 试 输 入 窗 口 中 , 右 键 点 击 一 个 测 试 输 入 , 点 击 Insert Test Case。<br />

注 意 事 项 : 你 可 以 运 行 若 干 类 型 的 测 试 用 例 报 告告 来来 收 集 相 关 项 目 的 测 试 用 例 信 息 。 更 多 关 于 报<br />

告告 的 信 息 , 请 参 阅 Reporting Results 中 的 145 页 的 相 关 内 容 。


51Testing 软 件 测 试 网<br />

测 试 用 例 的 属 性 (Properties of a Test Case)<br />

一 个 测 试 用 例 有 很 多 属 性 。<br />

这 里 包包 括 :<br />

● 测 试 用 例 的 名 称 ( 必 需 的 )。<br />

● 测 试 用 例 的 一 个 描 述 。<br />

● 测 试 用 例 的 所 有 者 。 更 多 信 息 , 请 参 阅 Specifying the Owner 中 34 页 的 内 容 。<br />

● 对 于 测 试 用 例 的 配 置 关 联 。 更 多 信 息 , 请 参 阅 Defining the Configurations to Test 中 35 页 的 内 容 。<br />

● 对 于 测 试 用 例 的 迭 代 关 联 。 更 多 信 息 , 请 参 阅 Specifying When to Run Tests 中 43 页 的 内 容 。<br />

● 对 于 测 试 用 例 的 任 何 测 试 输 入 关 联 。 更 多 信 息 , 请 参 阅 Setting up Traceability Using Test Inputs<br />

中 45 页 的 内 容 。<br />

● 对 于 测 试 用 例 的 任 何 外 部 文 档 的 关 联 。<br />

● 测 试 用 例 手 册 和和 测 试 用 例 的 自 动 执 行 。 这 里 有 可 以 运 行 的 实 际 的 测 试 脚 本本 。 更 多 信 息 , 请 参<br />

阅 Implementing Tests 中 55 页 的 内 容 。<br />

● 测 试 用 例 的 设 计 ( 换 句 话 说 , 当 测 试 用 例 被 实 施 时 , 用 例 执 行 的 步 骤 和和 检 验 点 )。 更 多 信 息 ,<br />

请 参 阅 Specifying the Testing Steps and Verification Points 中 49 页 的 内 容 。<br />

● 前前 置 条条 件 , 后 置 条条 件 , 和和 测 试 用 例 的 验 收 标标 准 。 更 多 信 息 , 请 参 阅 Specifying Conditions and<br />

Acceptance Criteria of Test Cases 中 49 页 的 内 容 。<br />

测 试 用 例 的 名 称 是 必 需 的 。 对 于 其 他 所 有 的 属 性 , 你 可 以 在 第 一 次 创 建 测 试 用 例 的 时 候 添 加 ,<br />

或 是 在 晚 些 时 候 添 加 或 修 改 它 们 。<br />

注 意 事 项 : 你 可 以 定 制 一 些 测 试 资 产 的 属 性 , 选 择 Tools 工 具 栏栏 中 的 Customize 菜 单 (Tools ><br />

Customize)。<br />

改 变 测 试 用 例 的 属 性 :<br />

● 在 测 试 计 划 窗 口 中 , 右 键 点 击 测 试 用 例 , 点 击 Properties。<br />

指 定 所 有 者 (Specifying the Owner)<br />

你 可 以 在 新 测 试 用 例 (New Test Case) 对 话 框 的 General 标标 签 中 的 Owner 列 表 中 选 择 测 试 用 例<br />

的 所 有 者 。


51Testing 软 件 测 试 网<br />

在 Owner 列 表 中 包包 含 测 试 用 例 的 用 户 ID, 这 些 用 户 ID 是 在 早 些 时 候 通 过 Rational Administrator<br />

添 加 到到 项 目 中 的 。( 更 多 信 息 , 请 参 阅 Using Rational Administrator 的 手 册 和和 帮 助 。)<br />

所 有 者 对 于 计 划 的 编 制 和和 目 的 的 跟 踪 是 很 重 要 的 。 例 如 , 你 可 以 运 行 一 个 测 试 用 例 的 分 布 记 录 ,<br />

用 以 了 解 测 试 用 例 针 对 所 有 者 的 分 布 。 更 多 有 关 记 录 的 信 息 , 请 参 阅 Reporting Results 中 145 页<br />

的 内 容 。<br />

对 测 试 进 行 配 置 定 义 (Defining the Configurations to Test)<br />

你 能 够 使 用 配 置 (configurations) 来来 设 立 测 试 用 例 , 以 便 他 们 在 特 定 的 硬 件 和和 软 件 支 持 下 的 电<br />

脑 上 自 动 运 行 。 举 个 例 子 , 你 可 能 需 要 确 定 一 个 测 试 用 例 , 他 能 够 成 功 的 在 某某 种 操 作 系 统 和和 浏<br />

览 器 下 运 行 。 你 可 以 在 测 试 中 对 每 一 个 操 作 系 统 和和 浏 览 器 分 别 进 行 配 置 。 或 者 , 你 可 能 需 要 在<br />

某某 种 混 和和 (combinations) 操 作 系 统 和和 浏 览 器 一 起 工 作 的 情 况 下 进 行 测 试 。<br />

For example, a test case might need to run successfully on the following combinations<br />

of an operating system and a Web browser:<br />

举 个 例 子 , 一 个 测 试 用 例 可 能 需 要 在 以 下 的 混 和和 (combinations) 操 作 系 统 和和 Web 浏 览 器 上 成 功<br />

运 行 :<br />

●Windows 2000 and Internet Explorer 4<br />

●Windows 2000 and Netscape 4<br />

●Windows NT 4 and Internet Explorer 4<br />

●Windows NT 4 and Netscape 4<br />

这 些 混 和和 体 的 每 一 种 都 是 你 需 要 测 试 的 一 个 配 置 。 在 你 用 TestManager 定 义 了 配 置 之 后 , 你 可 以<br />

将 配 置 与 测 试 用 例 关 联 起 来来 , 从 而 创 建 配 置 的 测 试 用 例 (configured test cases)。 然 后 , 你 就 可<br />

以 在 合 适 的 电 脑 上 来来 运 行 这 些 配 置 的 测 试 用 例 。<br />

在 你 设 置 配 置 时 , 主 要 有 一 下 的 四 个 步 骤 :<br />

1 由 于 许 多 属 性 并 非 TestManager 已 经 内 置 的 属 性 , 所 以 要 定 义 常 规 的 常 规 的 属 性 和和 他 们 可 能 的<br />

值 。( 参 阅 Defining Configuration Attributes and their Values 36 页 的 内 容 。)<br />

例 如 , 浏 览 器 就 不 是 内 置 属 性 。 你 要 创 建 一 个 命命 名 为 “ 浏 览 器 ” 的 属 性 , 而 他 的 属 性 值 则 是 “Internet


51Testing 软 件 测 试 网<br />

Explorer 4” 和和 “Netscape 4”。<br />

2 为 你 将 要 运 行 一 个 “ 配 置 的 测 试 用 例 ”(configured test case) 的 电 脑 创 建 一 个 命命 名 为<br />

“tmsconfig.csv” 的 文 件 。 这 个 文 件 包包 含 为 那 台 电 脑 设 置 的 常 规 属 性 和和 适 当 的 属 性 值 。( 更 多 信<br />

息 , 参 阅 “Setting Up Custom Attributes in tmsconfig.csv ”38 页 的 内 容 。)<br />

例 如 , 假 设 一 台 电 脑 使 用 “Internet Explorer 4”, 那 么 , 你 必 须 在 电 脑 上 创 建 一 个 “tmsconfig.csv”<br />

文 件 , 用 来来 指 明 这 个 浏 览 器 就 是 该 电 脑 上 使 用 的 浏 览 器 。<br />

3 定 义 你 需 要 测 试 的 特 定 配 置 。( 参 阅 “Defining the Configurations You Need to Test”39 页 的 内<br />

容 。)<br />

4 每 一 个 配 置 与 一 个 测 试 用 例 相 关 联 , 来来 创 建 一 个 “ 配 置 的 测 试 用 例 ”(configured test case)<br />

( 参 阅 “Associating a Configuration with a Test Case”42 页 的 内 容 。)<br />

例 如 , 你 的 测 试 用 力力 需 要 运 行 在 “Windows 2000” 和和 “Internet Explorer 4” 中 , 你 要 将 这 些 配<br />

置 与 测 试 用 例 关 联 起 来来 。<br />

定 义 属 性 和和 配 置 是 一 个 迭 代 的 过 程 , 你 将 最 大 可 能 地 继 续 在 整 个 测 试 项 目 中 去 添 加 和和 精 炼 这 些<br />

属 性 和和 配 置 。<br />

定 义 配 置 的 属 性 和和 属 性 的 值 ( Defining Configuration<br />

Attributes and their Values)<br />

当 你 开 始 计 划 你 的 测 试 类 型 时 , 考 虑 到到 如 何 兼 有 这 些 恰 当 的 配 置 属 性 ( 例 如 ,“ 浏 览 器 ” 和和 “ 操<br />

作 系 统 ”), 以 用 来来 定 义 与 测 试 形 成 对 照 的 配 置 ( 例 如 ,“ 浏 览 器 ”=Netscape 4 和和 “ 操 作 系 统 ”<br />

=Windows)。<br />

记 住 一 点 , 你 可 以 在 运 行 了 你 的 测 试 用 例 后 , 来来 运 行 与 这 些 配 置 相 对 照 的 报 告告 。 例 如 , 你 可 以<br />

创 建 并 运 行 一 个 测 试 用 例 的 结 果果 分 布 报 告告 , 而 这 个 分 布 结 果果 覆 盖 了 这 些 配 置 。 由 于 这 些 报 告告 是<br />

可 用 的 , 你 必 须 适 当 地 定 义 你 的 属 性 。 这 个 过 程 是 迭 代 的 。 遍 及 整 个 测 试 项 目 , 你 将 有 可 能 继<br />

续 去 扩 充 和和 精 炼 这 个 ( 属 性 ) 列 表 。<br />

例 如 , 当 你 开 始 项 目 时 , 你 可 能 仅 仅 需 要 去 测 试 “Internet Explorer 4” 和和 “Netscape 4”。 在 项<br />

目 进 行 的 晚 些 时 候 , 分 析析 员员 可 能 决 定 你 也 需 要 测 试 “Internet Explorer 5”。 你 可 以 打 开 命命 名 为 “ 浏<br />

览 器 ” 的 配 置 属 性 , 添 加 “Internet Explorer 5” 作 为 一 个 新 的 属 性 值 。<br />

查查 看 内 置 的 配 置 属 性 (Viewing Built-in Configuration Attributes)


51Testing 软 件 测 试 网<br />

TestManager 伴 随 着 许 多 的 内 置 属 性 。 这 些 属 性 包包 括 : 显 示 颜 色 , 显 示 分 辨 率 , 内 存 , 操 作 系<br />

统 ,OS service pack,OS 版 本本 ,CPU 大 小 ,CPU 数 目 , 以 及 CPU 类 型 。<br />

查查 看 这 些 内 置 属 性 和和 属 性 的 值 :<br />

1 点 击 Tools > Manage > Configuration Attributes.<br />

2 查查 看 每 一 个 属 性 的 properties, 选 择 属 性 并 点 击 Edit。<br />

任 何 被 定 义 的 属 性 值 出 现 在 列 表 中 的 属 性 值 区 域 中 , 像 下 面 图 示 的 这 个 例 子 :<br />

如 果果 一 个 属 性 在 列 表 中 有 了 一 个 值 , 那 你 可 以 在 创 建 一 个 配 置 时 来来 选 择 那 个 值 。 当 你 运 行 一 个<br />

配 置 的 测 试 用 例 时 ,TeatManager 检 测 测 试 用 机机 并 决 定 是 否 与 该 值 存 在 一 个 匹 配 。<br />

注 意 事 项 : 如 果果 对 于 属 性 的 值 , 其 来来 源 设 置 为 Dynamic, 你 可 以 在 你 创 建 一 个 配 置 时 写 入 一 个<br />

值 。 为 了 确 定 测 试 用 机机 的 适 合 值 , 可 在 该 测 试 用 机机 上 运 行 一 个 测 试 脚 本本 , 并 在 可 Test Log 窗 口<br />

中 查查 看 本本 测 试 用 机机 的 配 置 。 更 多 信 息 , 参 阅 “Viewing Events Details”133 页 内 容<br />

定 义 常 规 的 配 置 属 性 (Defining Custom Configuration Attributes)<br />

要 使 用 一 个 非 内 置 的 配 置 属 性 , 你 将 定 义 一 个 常 规 属 性 。<br />

定 义 一 个 常 规 的 配 置 属 性 :<br />

● 点 击 Tools > Manage > Configuration Attributes。 点 击 New 按 钮 。<br />

注 意 事 项 : 如 果果 New 按 钮 不 可 用 , 说 明 你 还 不 具 有 管 理 员员 的 权 限 。 更 多 信 息 。 参 阅 Using the


51Testing 软 件 测 试 网<br />

Rational Administrator manual 或 相 关 帮 助 。<br />

如 果果 你 在 一 个 配 置 中 使 用 一 个 常 规 属 性 , 你 需 要 为 你 将 要 运 行 该 “ 配 置 ”(configured ) 的 测<br />

试 用 机机 创 建 一 个 命命 名 为 “tmsconfig.csv” 的 文 件 。 更 多 信 息 , 参 阅 下 一 节 ,Setting Up Custom<br />

Attributes in tmsconfig.csv。<br />

在 tmsconfig.csv 文 件 中 设 置 常 规 属 性 (Setting Up Custom<br />

Attributes in tmsconfig.csv)<br />

在 前前 一 节 已 经 说 明 , 如 果果 你 已 经 定 义 了 常 规 属 性 和和 他 的 值 , 那 么 你 就 需 要 在 你 将 要 运 行 一 个 配<br />

置 的 测 试 用 例 的 测 试 机机 上 创 建 一 个 tmsconfig.csv 文 件 。 对 于 那 台 测 试 机机 而 言 , 这 个 文 件 包包 含 了 恰<br />

当 的 属 性 和和 属 性 值 。 在 你 运 行 一 个 配 置 的 测 试 用 例 , 只 有 当 常 规 和和 内 置 属 性 匹 配 与 该 测 试 用 例<br />

的 配 置 时 ,TestMannager 检 查查 该 文 件 并 运 行 此 测 试 用 例 。<br />

例 如 , 假 设 你 有 了 一 个 仅 仅 运 行 在 已 安 装 了 Internet Explorer 4 的 测 试 机机 上 的 配 置 的 测 试 用 例 。 你<br />

已 经 定 义 了 常 规 属 性 , 并 点 击 Tools > Manage > Configuration Attributes, 再 点 击 按 钮 New,<br />

从 而 定 义 了 他 的 值 , 就 像 前前 一 节 描 述 的 那 样 。 你 现 在 就 需 要 创 建 一 个 tmsconfig.csv 文 件 , 且 包包 含<br />

了 关 于 那 台 测 试 机机 的 属 性 和和 属 性 值 。


51Testing 软 件 测 试 网<br />

设 置 常 规 属 性 和和 属 性 值 :<br />

1 创 建 名 为 “tmsconfig.csv” 的 文 件 。 你 可 以 通 过 Excel 或 通 过 任 何 一 种 文 本本 编 辑 器 来来 创 建 这 个<br />

文 件 。( 要 确 定 将 文 件 保 存 为 csv 格 式 。)<br />

2 向 文 件 中 添 加 成 对 的 合 适 属 性 和和 值 。<br />

在 这 个 例 子 中 , 该 测 试 机机 运 行 的 是 Internet Explorer 4。 因 此 , 这 个 配 置 文 件 包包 含 :<br />

Browser,Internet Explorer 4<br />

在 tmsconfig.csv 文 件 中 那 些 属 性 和和 值 成 对 的 用 例 必 须 匹 配 与 你 在 TestManager 中 定 义 的 用 例 , 这<br />

些 包包 含 常 规 属 性 和和 属 性 值 的 用 例 。<br />

3 将 文 件 保 存 为 tmsconfig.csv。<br />

4 在 恰 当 的 本本 地 或 代 理 测 试 机机 上 , 将 该 tmsconfig.csv 文 件 异 动 到到 Rational Test 文 件 夹 中 。<br />

如 果果 一 个 测 试 用 例 的 配 置 使 用 常 规 属 性 , 而 这 些 属 性 完 全 匹 配 与 测 试 机机 上 tmsconfig.csv 文 件 中 定<br />

义 的 属 性 , 则 这 个 配 置 的 测 试 用 例 将 仅 仅 运 行 该 测 试 机机 上 。<br />

定 义 你 需 要 测 试 的 配 置 (Defining the Configurations You Need<br />

to Test)<br />

现 在 你 已 经 定 义 了 配 置 的 属 性 和和 属 性 值 , 你 就 可 以 定 义 你 需 要 测 试 的 配 置 了 。 这 个 过 程 是 迭 代<br />

的 。 通 过 进 行 测 试 的 项 目 , 你 将 可 能 继 续 扩 充 和和 精 炼 这 个 列 表 。<br />

定 义 一 个 配 置 :<br />

1 点 击 Tools > Manage > Configurations。 点 击 New 按 钮 。<br />

注 意 事 项 : 如 果果 New 按 钮 不 可 用 , 那 么 你 还 不 具 有 管 理 员员 的 权 限 。 更 多 信 息 , 参 阅 Using the<br />

Rational Administrator 手 册 或 帮 助 。<br />

在 这 副副 图 中 , 配 置 的 名 称 是 Win2000-IE4。 这 个 名 称 说 明 了 测 试 机机 上 将 被 用 来来 进 行 测 试 的 配 置 ,


51Testing 软 件 测 试 网<br />

显 然 他 是 一 个 Windows 2000 和和 Internet Explorer 4 的 混 合 体 。<br />

2 点 击 Attributes 标标 签 。<br />

在 这 个 标标 签 中 , 你 可 以 :<br />

● 为 每 一 个 合 适 的 内 置 配 置 属 性 选 择 一 个 属 性 值 ( 在 此 例 中 , 是 操 作 系 统 和和 OS 版 本本 )。<br />

● 从 你 已 创 建 配 置 属 性 时 定 义 的 值 的 列 表 中 , 为 每 一 个 常 规 配 置 属 性 选 择 一 个 属 性 值 ( 在 此 例<br />

中 , 为 浏 览 器 )。<br />

注 意 事 项 : 如 果果 配 置 属 性 被 定 义 为 动 态 的 , 你 将 需 要 写 入 一 个 属 性 值 。 对 于 常 规 属 性 , 有 效 的<br />

属 性 值 应 在 测 试 机机 的 tmsconfig.csv 文 件 中 。 对 于 内 置 属 性 , 为 测 试 机机 确 定 合 适 的 属 性 值 , 在 测 试<br />

机机 上 运 行 任 何 测 试 脚 本本 , 并 可 在 Test Log 的 Log Event 窗 口 中 查查 看 该 测 试 机机 的 配 置 。 更 多 信 息 ,<br />

参 阅 Viewing Events Details133 页 的 内 容 。<br />

查查 看 并 编 辑 你 的 配 置 (Viewing and Editing Your Configurations)<br />

你 可 以 容 易 地 查查 看 并 编 辑 任 何 存 在 与 Configurations 窗 口 中 的 配 置 。<br />

打 开 Configurations 窗 口 :<br />

● 点 击 View > Configurations。


51Testing 软 件 测 试 网<br />

Configurations 窗 口 打 开 , 你 就 可 以 由 Edit 菜 单 插 入 配 置 的 属 性 和和 相 关 的 配 置 , 或 者 , 右 键 点 击<br />

窗 口 中 的 一 行 。<br />

将 一 个 配 置 与 一 个 测 试 用 例 相 关 联 ( Associating a<br />

Configuration with a Test Case)<br />

在 你 创 建 了 配 置 后 , 你 可 以 将 一 个 配 置 与 一 个 测 试 用 例 相 联 系 , 从 而 创 建 一 个 配 置 的 测 试 用 例 。<br />

你 需 要 使 一 个 功 能 块 可 以 有 效 地 工 作 在 多 种 配 置 下 , 在 这 个 时 候 , 配 置 的 测 试 用 例 是 很 有 用 的 。<br />

例 如 , 假 设 你 有 一 个 测 试 用 例 ,“ 关 闭 应 用 程 序 。” 你 需 要 有 效 地 将 这 个 测 试 用 例 通 过 两 种 配<br />

置 :Windows 2000 与 Internet Explorer 4,Windows 2000 与 Netscape 4。 你 应 该 创 建 两 种 配 置 的<br />

测 试 用 例 与 主 要 的 测 试 用 例 相 关 联 。 要 使 这 些 测 试 用 例 通 过 , 就 需 要 所 有 的 配 置 的 测 试 用 例 都<br />

通 过 。<br />

在 运 行 配 置 的 测 试 用 例 之 后 , 你 可 以 创 建 一 个 测 试 用 例 的 结 果果 分 布 报 告告 , 这 个 报 告告 被 过 滤 的 只<br />

含 有 你 感 兴 趣 的 那 些 特 定 的 配 置 。 更 多 有 关 报 告告 的 信 息 , 参 阅 Reporting Results145 页 的 内 容 。<br />

你 可 以 用 下 面 的 几 种 方 法 来来 建 立 配 置 与 测 试 用 例 的 关 联 :<br />

● 在 创 建 一 个 新 的 测 试 用 例 时 , 在 New Test Case 的 对 话 框 中 点 击 Iterations – Configurations<br />

标标 签 。<br />

● 在 对 一 个 现 存 测 试 用 例 的 属 性 进 行 编 辑 时 , 在 Test Case Properties 对 话 框 中 点 击 Iterations<br />

-Configurations 标标 签 。<br />

● 在 Test Plan 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 , 并 点 击 Associate Configuration。 选 择 配 置 进<br />

行 关 联 。<br />

你 也 可 以 将 配 置 与 测 试 计 划 和和 测 试 用 例 文 件 夹 相 关 联 。 当 你 建 立 了 一 个 配 置 与 一 个 测 试 计 划 或


51Testing 软 件 测 试 网<br />

文 件 夹 的 关 联 时 , 这 些 配 置 会 自 动 地 与 所 有 的 直 属 与 这 个 测 试 计 划 或 文 件 夹 的 测 试 资 产 相 关 联 。<br />

当 你 在 Test Plan 窗 口 中 关 联 了 一 个 配 置 时 , 你 也 可 以 将 此 配 置 与 该 测 试 计 划 或 文 件 夹 的 所 有 现<br />

存 子 集 相 关 联 。<br />

配 置 的 测 试 用 例 会 出 现 在 Test Plan 窗 口 中 测 试 用 例 的 下 面 :<br />

在 执 行 测 试 时 进 行 指 定 说 明 (Specifying When to Run Tests)<br />

许 多 测 试 组 织 计 划 比 之 在 任 意 给 定 时 间 内 实 际 执 行 具 有 更 多 的 测 试 用 例 。<br />

你 可 以 在 TestManager 中 创 建 所 有 的 测 试 用 例 , 然 后 使 用 迭 代 去 确 定 你 实 际 需 要 执 行 和和 通 过 的 那<br />

些 特 定 的 测 试 用 例 。<br />

在 一 个 项 目 期 间 , 一 个 迭 代 是 一 个 被 定 义 的 时 间 跨 度 。 一 个 迭 代 的 结 束束 是 典 型 的 一 个 主 要 的 项<br />

目 里 程 碑 。 在 一 个 迭 代 中 , 产 品品 符 合 一 个 指 定 的 质 量 标标 准 来来 达 到到 一 个 里 程 碑 。 质 量 标标 准 被 测 试<br />

用 例 定 义 , 而 这 些 用 例 是 必 须 通 过 的 。 在 许 多 组 织 中 , 测 试 人 员员 与 一 个 分 析析 人 员员 或 项 目 经 理 一<br />

起 工 作 来来 确 定 需 要 通 过 的 测 试 用 例 。<br />

例 如 , 在 项 目 的 初 始 阶 段 , 你 开 始 创 建 能 够 为 该 系 统 考 虑 到到 的 所 有 的 测 试 用 例 。 分 析析 人 员员 查查 阅<br />

你 的 测 试 计 划 并 说 明 用 例 1,2,3 和和 8 对 于 ”Construction 2 iteration” 是 重 要 的 。 你 或 者 分 析析 人 员员<br />

进 入 TestManager 中 并 建 立 这 4 个 测 试 用 例 与 “Construction 2 iteration” 的 关 联 。<br />

在 你 进 行 测 试 期 间 , 你 提 供 另 一 个 测 试 用 例 。 分 析析 人 员员 决 定 用 例 对 于 “Construction 2” 是 一 个<br />

重 要 的 测 试 用 例 , 于 是 你 向 这 个 用 例 添 加 迭 代 。<br />

TestManager 提 供 一 个 基 于 RUP 的 初 始 迭 代 设 置 。( 对 于 这 些 迭 代 的 一 个 描 述 , 参 阅 TestManage<br />

帮 助 和和 RUP 相 关 文 档 。) 你 可 以 使 用 这 些 迭 代 , 或 添 加 你 自 己 的 , 而 添 加 的 这 些 迭 代 是 基 于 你<br />

的 机机 构构 形 成 的 观 念 的 。


51Testing 软 件 测 试 网<br />

创 建 并 编 辑 迭 代 (Creating and Editing Iterations)<br />

创 建 或 编 辑 迭 代 :<br />

1 选 择 Tools > Manage > Iterations。<br />

2 点 击 New 创 建 一 个 新 的 迭 代 , 或 选 择 一 个 现 存 的 迭 代 并 点 击 Edit。<br />

注 意 事 项 : 如 果果 New 和和 Edit 按 钮 不 可 用 , 说 明 你 还 不 具 有 管 理 员员 的 权 限 。 更 多 信 息 , 参 阅 Using<br />

the Rational Administrator 手 册 或 帮 助 。<br />

你 也 可 以 右 键 点 击 Iterations 或 是 Test Asset Workspace 的 Planning 标标 签 中 的 一 个 特 定 的 迭 代 。<br />

建 立 迭 代 与 测 试 用 例 的 关 联 (Associating Iterations with a Test<br />

Case)<br />

你 可 以 用 下 面 的 方 法 来来 建 立 一 个 迭 代 与 一 个 测 试 用 例 的 关 联 :<br />

● 在 你 创 建 一 个 新 的 测 试 用 例 时 , 点 击 New Test Case 对 话 框 中 的 Iterations – Configurations<br />

标标 签 。<br />

● 在 你 编 辑 一 个 现 存 的 测 试 用 例 的 属 性 时 , 点 击 Test Case Properties 对 话 框 中 的 Iterations -<br />

Configurations 标标 签 。<br />

● 在 Test Plan 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 并 点 击 Associate Iteration。<br />

你 也 可 以 建 立 迭 代 与 测 试 计 划 和和 用 例 文 件 夹 的 关 联 。 在 你 将 一 个 迭 代 与 一 个 测 试 计 划 或 文 件 夹<br />

关 联 起 来来 的 时 , 这 个 迭 代 会 自 动 地 与 所 有 的 直 属 与 这 个 测 试 计 划 或 文 件 夹 的 测 试 资 产 相 关 联 。


51Testing 软 件 测 试 网<br />

当 你 在 Test Plan 窗 口 中 关 联 了 一 个 迭 代 时 , 你 也 可 以 将 此 配 迭 代 与 该 测 试 计 划 或 文 件 夹 的 所 有<br />

现 存 子 集 相 关 联 。<br />

你 可 以 执 行 关 联 与 一 个 特 定 迭 代 的 所 有 的 测 试 用 例 。 更 多 信 息 , 参 阅 Running a Test Case91 页 的<br />

内 容 。<br />

你 可 以 创 建 并 执 行 分 布 覆 盖 迭 代 的 测 试 用 例 报 告告 。 例 如 , 你 创 建 分 布 覆 盖 一 个 特 定 迭 代 的 测 试<br />

用 例 结 果果 分 布 报 告告 。 对 于 给 定 的 迭 代 , 当 定 义 你 的 质 量 验 收 标标 准 的 所 有 的 测 试 用 例 一 通 过 , 对<br />

于 那 个 里 程 碑 而 言 , 你 就 已 经 符 合 了 你 的 质 量 目 标标 。<br />

使 用 测 试 输 入 建 立 跟 踪 (Setting up Traceability Using Test<br />

Inputs)<br />

正 如 Identifying What to Test by Using Test Inputs24 页 的 内 容 所 描 述 的 , 测 试 输 入 帮 助 你 决 定 测 试<br />

内 容 。 当 你 创 建 你 的 测 试 用 例 时 , 你 可 以 建 立 测 试 输 入 与 他 们 的 关 联 。 这 样 做 , 你 可 以 确 定 一<br />

个 测 试 用 例 是 否 需 要 修 改 , 因 为 他 关 联 的 测 试 输 入 发 生 了 改 变 。<br />

你 也 可 以 使 用 关 联 来来 确 定 是 否 有 一 个 测 试 用 例 覆 盖 了 这 些 测 试 输 入 。 例 如 , 假 设 你 用 需 求 作 为<br />

测 试 输 入 。 当 每 个 测 试 输 入 与 一 个 测 试 用 例 相 关 联 时 , 你 知 道 了 你 的 所 有 需 求 都 被 覆 盖 到到 了 。<br />

当 每 个 测 试 用 例 通 过 时 , 你 知 道 了 所 有 的 测 试 输 入 都 生 效 了 。<br />

你 可 以 用 下 面 的 方 法 建 立 一 个 测 试 输 入 与 一 个 测 试 用 例 的 关 联 :<br />

● 在 你 创 建 一 个 新 的 测 试 用 例 时 , 点 击 New Test Case 对 话 框 中 的 Test Inputs 标标 签 。<br />

● 在 你 编 辑 一 个 现 存 的 测 试 用 力力 属 性 时 , 点 击 Test Case Properties 对 话 框 中 的 Test Inputs 标标 签 。<br />

● 在 Test Plan 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 并 点 击 Associate Test Input。<br />

● 在 Test Inputs 窗 口 中 , 右 键 点 击 一 个 测 试 输 入 并 点 击 Associate Test Case。


51Testing 软 件 测 试 网<br />

测 试 设 计 (Designing Tests)<br />

3<br />

本本 章 描 述 如 何 设 计 测 试 。 它 包包 含 了 以 下 标标 题 内 容 :<br />

● 关 于 测 试 的 设 计<br />

● 指 明 测 试 步 骤 和和 检 验 点 。<br />

● 指 明 测 试 用 例 的 前前 置 条条 件 , 后 置 条条 件 和和 可 接 受 标标 准 。<br />

● 一 个 测 试 设 计 的 例 子 。<br />

注 意 事 项 : 过 程 的 细 节 化化 , 参 阅 TestManager 帮 助 。<br />

关 于 测 试 的 设 计 (About Designing Tests)<br />

一 旦 你 已 经 定 义 了 需 要 去 测 试 的 特 征 , 你 就 需 要 决 定 如 何 去 进 行 测 试 。 测 试 的 设 计 活 动 首 先 回<br />

答 问 题 “ 我 如 何 执 行 这 个 测 试 用 例 ?”<br />

作 为 测 试 用 例 设 计 的 部 分 , 你 可 以 确 定 :<br />

● 以 执 行 测 试 需 要 的 基 本本 步 骤 集 合 。<br />

● 如 何 使 你 测 试 的 项 目 或 特 征 有 效 适 当 地 工 作 。


51Testing 软 件 测 试 网<br />

● 测 试 用 例 的 前前 置 条条 件 ―― 如 何 设 置 应 有 程 序 和和 系 统 以 便 测 试 用 例 可 以 执 行 。<br />

● 测 试 用 例 的 后 置 条条 件 ―― 如 何 在 测 试 用 例 执 行 后 做 清 除 。<br />

● 可 接 受 标标 准 ―― 如 何 决 定 测 试 用 例 是 否 通 过 。<br />

在 实 际 的 系 统 实 施 之 前前 或 期 间 , 你 应 当 能 够 设 计 基 于 测 试 输 入 ―― 诸 如 特 征 描 述 和和 软 件 说 明 ( 例<br />

如 , 需 求 ), 来来 设 计 你 的 测 试 。 这 是 一 个 测 试 与 系 统 的 实 施 并 行 开 发 的 关 键 方 面 。<br />

一 些 人 应 当 到到 那 时 能 够 获 得 测 试 的 设 计 和和 一 个 系 统 ( 伴 随 文 档 的 ) 实 施 , 以 及 知 道 如 何 实 施 这<br />

些 测 试 。<br />

例 如 , 如 果果 你 正 在 使 用 一 个 自 动 测 试 工 具 , 像 Rational Robot, 那 么 你 应 当 能 够 启启 动 你 的 工 具 和和<br />

按 照 在 测 试 用 例 的 设 计 中 记 述 的 步 骤 去 创 建 一 个 自 动 测 试 脚 本本 。 这 个 测 试 脚 本本 成 为 被 设 计 的 测<br />

试 用 例 的 一 个 实 施 , 因 此 也 是 测 试 用 例 本本 身 。<br />

正 如 另 外 一 个 例 子 , 在 你 实 施 测 试 用 例 之 前前 , 你 可 以 看 到到 所 有 的 测 试 设 计 ( 一 对 一 的 测 试 用 例 )。<br />

你 可 能 发 现 在 测 试 用 例 中 的 模 式 , 它 显 示 一 个 更 为 有 效 的 方 法 以 实 施 这 些 测 试 用 例 。 例 如 , 你<br />

可 能 看 到到 每 一 个 测 试 设 计 开 始 的 第 一 步 都 这 样 说 :“ 从 Start 菜 单 中 , 启启 动 应 用 程 序 。” 你 可 能<br />

决 定 不 必 在 每 一 个 测 试 脚 本本 中 记 录 这 一 步 骤 , 因 为 如 果果 这 个 应 有 程 序 的 名 称 发 生 变 更 , 那 么 所<br />

有 的 脚 本本 都 需 要 被 变 更 。 相 反 的 , 你 可 能 创 建 一 个 子 程 序 来来 启启 动 这 个 应 有 , 并 有 测 试 脚 本本 来来 调<br />

用 那 个 子 程 序 。 这 将 借 对 测 试 设 计 的 考 虑 而 变 得 显 而 易 见 。<br />

你 可 以 轻 易 地 输 入 一 个 测 试 设 计 到到 手 工 测 试 脚 本本 中 , 到到 那 时 手 工 测 试 脚 本本 成 为 测 试 用 例 的 实 施 。<br />

有 关 手 工 测 试 脚 本本 的 信 息 , 参 阅 61 页 Creating Manual Test Scripts 的 内 容 。<br />

指 明 测 试 步 骤 和 检 验 点 (Specifying the Testing Steps and<br />

Verification Points)<br />

在 第 一 次 创 建 测 试 用 例 或 晚 些 时 候 , 你 可 以 设 计 一 个 测 试 用 例 。<br />

设 计 一 个 新 的 测 试 用 例 :<br />

● 在 Test Plan 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 文 件 夹 。 点 击 Insert Test Case。


51Testing 软 件 测 试 网<br />

测 试 一 个 现 存 的 测 试 用 例 :<br />

● 在 Test Plan 窗 口 中 , 右 键 点 击 测 试 用 例 。 点 击 Design。<br />

使 用 Design Editor 来来 包包 含 测 试 步 骤 和和 检 验 点 , 它 们 应 当 被 包包 含 在 测 试 脚 本本 中 。<br />

步 骤 ―― 在 应 有 或 系 统 中 被 获 得 的 一 个 活 动 。 在 你 第 一 次 开 始 设 计 时 , 这 可 以 是 一 般 的 , 久 而<br />

久 之 会 变 得 更 明 确 具 体 。<br />

检 验 点 ―― 在 一 个 测 试 脚 本本 中 的 一 个 检 验 点 可 以 进 一 步 确 定 一 个 或 更 多 目 标标 的 状 态 。<br />

在 你 点 击 Design Editor 中 的 OK 时 , 那 个 设 计 成 为 测 试 用 例 的 一 个 属 性 。<br />

测 试 设 计 将 形 成 开 发 的 迭 代 过 程 。。 当 你 熟 悉 了 系 统 将 如 何 实 施 的 更 多 细 节 时 , 你 可 以 添 加 更<br />

多 的 步 骤 和和 检 验 点 到到 设 计 中 去 。<br />

注 意 事 项 : 由 一 个 测 试 用 例 设 计 创 建 一 个 手 工 测 试 脚 本本 : 点 击 Implementation 标标 签 , 然 后 点 击<br />

Import from Test Case Design 按 钮 。 更 多 信 息 , 参 阅 61 页 Creating Manual Test Scripts 的 内 容 。


51Testing 软 件 测 试 网<br />

指 明 测 试 用 例 的 条 件 和 可 接 受 标 准 (Specifying Conditions<br />

and Acceptance Criteria of Test Cases)<br />

前前 置 条条 件 (Preconditions) 和和 后 置 条条 件 (post-conditions) 为 测 试 执 行 者 提 供 信 息 。 他 们 描 述 在<br />

一 个 操 作 开 始 或 结 束束 时 必 须 是 准 确 的 系 统 约 束束 , 因 此 要 确 保 测 试 用 例 可 以 恰 当 地 执 行 并 脱 离 系<br />

统 在 一 个 适 合 的 状 态 中 。 一 个 前前 置 条条 件 或 后 置 条条 件 的 失 败 并 不 意 味味 着 测 试 的 行 为 或 功 能 不 能 工<br />

作 。 它 意 味味 着 与 约 束束 不 符 。<br />

可 接 受 标标 准 表 明 为 一 个 特 殊 测 试 用 例 需 要 被 明 确 的 东 西 , 用 以 该 测 试 用 例 的 通 过 。<br />

指 明 条条 件 和和 可 接 受 标标 准 :<br />

1 在 Test Plan 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 。 点 击 Properties。<br />

2 点 击 Implementation 标标 签 。<br />

例 如 , 如 果果 测 试 用 例 需 要 验 证 登 陆 到到 一 个 系 统 的 响响 应 时 间 是 否 是 可 接 受 的 , 那 么 你 可 以 在 一 个<br />

测 试 用 例 中 包包 含 以 下 信 息 :<br />

前前 置 条条 件 ―― 你 必 须 拥 有 可 登 陆 系 统 的 合 适 的 用 户 ID, 系 统 必 须 是 在 一 个 退 出 状 态 中 。<br />

后 置 条条 件 ―― 在 你 登 陆 并 成 功 地 验 证 该 测 试 用 例 后 , 你 需 要 退 出 登 陆 ( 或 引 导 系 统 为 随 后 的 测<br />

试 回 到到 一 个 已 知 状 态 中 )。


51Testing 软 件 测 试 网<br />

可 接 受 标标 准 ―― 针 对 此 测 试 用 例 的 通 过 , 响响 应 时 间 的 范 围 应 当 在 0.5 和和 2.0 秒 之 间 。<br />

在 另 一 个 例 子 中 , 你 可 以 有 5 个 检 验 点 在 你 的 测 试 中 。 不 过 , 在 某某 个 验 证 点 , 为 测 试 用 例 的 通 过<br />

而 仅 仅 需 要 他 们 中 的 3 个 通 过 即 可 。 在 这 个 用 例 中 , 可 接 受 标标 准 可 能 基 于 迭 代 进 行 变 更 。<br />

一 个 测 试 设 计 的 例 子 (Example of a Test Design)<br />

这 一 节 提 供 针 对 测 试 用 例 的 一 个 设 计 实 例 。 由 于 测 试 设 计 是 基 于 测 试 输 入 的 , 所 以 他 可 以 在 任<br />

何 代 码 编 写 之 前前 被 开 发 。<br />

在 这 个 例 子 中 , 你 正 在 测 试 一 个 自 动 取 款 机机 (ATM)。 你 的 需 求 包包 括 由 一 个 确 定 的 帐 户 类 型 来来<br />

提 取 现 金 的 测 试 用 例 。 另 外 一 个 需 求 是 确 定 去 执 行 与 ATM 的 任 意 交 易 , 用 户 必 须 被 确 定 和和 使 之<br />

有 效 。 由 这 些 需 求 , 你 定 义 一 个 测 试 用 例 来来 确 保 你 可 以 提 取 一 笔 现 金 , 当 然 , 需 要 一 个 检 查查 帐<br />

户 , 帐 户 在 开 始 此 次 交 易 时 包包 含 的 金 额 多 余 提 取 的 金 额 数 。<br />

首 次 测 试 设 计 的 迭 代 可 能 是 :<br />

前前 置 条条 件<br />

● 确 保 我 们 有 一 个 有 效 的 帐 户 设 立 和和 已 知 的 用 户 ID, 以 及 有 效 的 信 息 ( 密 码 或 PIN)。<br />

● 确 保 这 里 有 一 个 该 用 户 的 检 查查 帐 户 , 以 及 我 们 所 知 道 的 现 金 余 额 。<br />

● 现 金 余 额 必 须 大 于 0。<br />

设 计<br />

● 步 骤 ―― 确 认 用 户 使 用 ATM 并 使 之 有 效 。<br />

● 检 验 点 ―― 确 认 我 们 已 经 登 陆 。<br />

● 步 骤 ―― 选 择 “Checking” 作 为 帐 户 类 型 , 选 择 “Withdraw” 作 为 交 易 类 型 。<br />

● 步 骤 ―― 指 明 提 取 金 额 小 于 现 金 余 额 。<br />

● 检 验 点 ―― 确 保 被 分 配 的 金 额 与 指 明 的 金 额 匹 配 。<br />

● 检 验 点 ―― 执 行 帐 户 余 额 交 易 以 确 保 新 的 余 额 等 于 旧 的 余 额 减 去 提 取 的 数 量 。<br />

后 置 条条 件<br />

● 确 保 用 户 退 出 对 ATM 的 使 用 。<br />

可 接 受 标标 准<br />

所 有 的 检 验 点 必 须 成 功 。<br />

在 更 多 的 系 统 细 节 成 为 可 利 用 时 ―― 在 你 移 动 通 过 对 测 试 资 产 的 迭 代 , 像 可 视 化化 模 型 , 软 件 的<br />

详 细 说 明 , 原 型 等 等 ―― 你 可 以 添 加 更 多 的 细 节 到到 测 试 设 计 中 去 。 例 如 , 你 可 能 在 晚 些 时 候 了


51Testing 软 件 测 试 网<br />

解 到到 用 户 将 自 己 通 过 提 款 卡 和和 PIN 来来 确 认 。 你 可 以 更 新 设 计 来来 添 加 步 骤 - 插 卡 , 输 入 PIN, 并 在<br />

结 束束 时 取 回 提 款 卡 。<br />

测 试 的 实 施 (Implementing Tests)<br />

4<br />

本本 章 描 述 如 何 实 施 测 试 。 它 包包 括 以 下 标标 题 内 容 :<br />

● 关 于 测 试 的 实 施<br />

● 测 试 用 例 的 实 施<br />

● 从 测 试 脚 本本 中 调 用 Test Script Services<br />

● 创 建 手 工 测 试 脚 本本<br />

● 建 立 一 个 实 施 与 一 个 测 试 用 例 的 关 联<br />

● 实 施 的 测 试 作 为 suites


51Testing 软 件 测 试 网<br />

关 于 测 试 的 实 施 (About Implementing Tests)<br />

在 你 为 每 一 个 测 试 用 例 创 建 了 测 试 设 计 后 , 你 已 经 可 以 准 备 去 实 施 测 试 用 例 了 。 实 施 测 试 用 例<br />

是 通 过 创 建 一 个 测 试 脚 本本 并 建 立 测 试 脚 本本 与 测 试 用 例 的 关 联 来来 实 现 。<br />

在 每 个 组 织 中 , 实 施 都 是 不 相 同 的 。 你 可 以 使 用 你 更 喜 欢 的 工 具 或 手 工 测 试 去 创 建 任 何 一 种 针<br />

对 你 的 测 试 的 合 适 的 测 试 脚 本本 。<br />

例 如 , 一 个 测 试 组 织 可 能 决 定 通 过 使 用 Rational Robot 记 录 测 试 脚 本本 来来 实 施 所 有 的 测 试 用 例 。<br />

另 一 个 组 织 可 能 决 定 去 写 模 块 化化 的 软 件 , 使 用 一 个 可 视 化化 的 测 试 脚 本本 , 批 处 理 文 件 和和 Perl 脚 本本 的<br />

混 合 体 , 然 后 有 计 划 地 将 他 们 组 织 在 一 起 形 成 一 个 更 高 级 别 的 脚 本本 。<br />

在 你 实 施 一 个 测 试 脚 本本 后 , 你 可 以 在 TestManager 中 建 立 它 与 一 个 测 试 用 例 的 关 联 。 有 关 信 息 ,<br />

参 阅 65 页 上 Associating an Implementation with a Test Case 的 内 容 。<br />

然 后 你 可 以 在 TestManager 中 执 行 测 试 用 例 或 测 试 脚 本本 。 你 也 可 以 插 入 测 试 脚 本本 到到 一 个 suite 中 ,<br />

并 执 行 这 个 suite。 有 关 执 行 实 施 的 信 息 , 参 阅 87 页 Executing Tests 的 内 容 。<br />

测 试 用 例 的 实 施 (Implementing Test Cases)<br />

你 可 以 通 过 创 建 一 个 测 试 脚 本本 或 一 个 suite 来来 实 施 一 个 测 试 用 例 。<br />

当 你 创 建 了 一 个 测 试 脚 本本 时 , 你 可 以 使 用 一 个 Rational 测 试 实 施 工 具 去 创 建 一 个 内 置 类 型 的 测 试<br />

脚 本本 , 或 者 你 可 以 创 建 一 个 常 规 类 型 的 测 试 脚 本本 。<br />

内 置 测 试 类 型 (Built-in Test Scripts Types)<br />

TestManager 紧 密 地 集 成 了 Rational 的 测 试 实 施 工 具 。 由 TestManager 启启 动 , 你 可 以 容 易 地 实 施 :<br />

● 在 Rational Robot 中 记 录 的 自 动 测 试 脚 本本<br />

● 在 Rational ManualTest 中 创 建 的 手 工 测 试 脚 本本


51Testing 软 件 测 试 网<br />

自 动 测 试 脚 本本 (Automated Test Scripts Recorded in Rational<br />

Robot)<br />

TestManager 包包 含 下 面 的 内 置 的 测 试 脚 本本 类 型 以 提 供 给 测 试 的 实 施 ( 如 果果 安 装 了 Rational Robot,<br />

这 些 测 试 脚 本本 在 其 中 执 行 ):<br />

●GUI――<br />

用 SQABasic 编 写 的 一 种 测 试 脚 本本 , 一 种 Rational 专 有 的 类 Basic 脚 本本 语 言 。GUI 测 试 脚<br />

本本 主 要 被 用 来来 做 功 能 测 试 。<br />

●VU―― 用 VU 编 写 的 一 种 测 试 脚 本本 , 一 种 Rational 专 有 的 类 C 语 言 的 脚 本本 语 言 。VU 测 试 脚 本本 主<br />

要 被 用 来来 做 性 能 测 试 。<br />

( 在 你 开 始 记 录 一 个 VU 测 试 脚 本本 时 , 你 实 际 上 记 录 了 一 个 session。 你 可 以 由 这 个 被 记 录 的<br />

session 中 产 生 VU 或 VB 测 试 脚 本本 , 依 赖 你 在 Robot 中 选 择 的 一 个 记 录 选 项 。)<br />

在 Robot 中 记 录 一 个 测 试 脚 本本 , 开 始 于 TestManager:<br />

● 点 击 File > Record Test Script > GUI 或 VU。<br />

这 样 就 启启 动 了 Robot 并 打 开 了 Record 对 话 框 。<br />

有 关 记 录 测 试 脚 本本 的 信 息 , 参 阅 Using Rational Robot 手 册 和和 Robot 帮 助 。<br />

手 工 测 试 脚 本本 (Manual Test Scripts Created in Rational<br />

ManualTest)<br />

TestManager 包包 含 内 置 的 手 工 测 试 脚 本本 类 型 以 提 供 给 测 试 的 实 施 , 这 些 手 工 测 试 脚 本本 在 Rational<br />

ManualTest 中 实 施 。 一 个 手 工 测 试 脚 本本 包包 含 一 个 测 试 指 令 集 合 以 人 为 的 执 行 测 试 。<br />

有 关 信 息 , 参 阅 61 页 Creating Manual Test Scripts 的 内 容 。<br />

常 规 的 测 试 脚 本本 类 型 (Custom Test Script Types)<br />

TestManager 扩 展 测 试 脚 本本 的 功 能 性 可 以 让 你 去 实 施 其 他 工 具 的 测 试 脚 本本 , 当 然 这 些 测 试 工 具 要<br />

符 合 你 的 测 试 环 境 。


51Testing 软 件 测 试 网<br />

Command Line and Custom Adapters<br />

这 里 有 两 种 方 法 来来 扩 展 TestManager 以 支 持 一 种 新 的 测 试 脚 本本 类 型 :<br />

● 使 用 command line 适 配 器 。<br />

● 创 建 常 规 适 配 器 或 使 用 Rational 和和 她 的 合 作 商 提 供 的 适 配 器 。<br />

Command Line Adapters<br />

TestManager 提 供 两 种 command line 适 配 器 :<br />

●Command Line Test Script Console Adapter- 测 试 脚 本本 的 测 试 工 具 或 编 辑 器 针 对 测 试 脚<br />

本本 创 建 和和 编 辑 提 供 一 个 command-line 接 口 时 , 测 试 脚 本本 可 以 以 标标 准 的 File Open 对 话 框 形 式 被 打<br />

开 时 ( 例 如 ,Perl 脚 本本 ), 可 以 使 用 该 适 配 器 。<br />

●Command Line Test Script Execution Adapter- 测 试 脚 本本 的 测 试 工 具 针 对 测 试 脚 本本 的 执<br />

行 提 供 一 个 command-line 接 口 时 , 可 以 使 用 该 适 配 器 。<br />

使 用 这 些 适 配 器 的 优 势势 是 他 们 不 需 要 常 规 的 编 程 。<br />

你 正 好 需 要 在 TestManager 中 去 定 义 新 的 测 试 脚 本本 类 型 , 有 关 信 息 , 参 阅 58 页 Defining a New Test<br />

Script Type 的 内 容 。<br />

常 规 适 配 器 (Custom Adapters)<br />

代 替 command line 适 配 器 的 使 用 , 你 可 以 创 建 自 己 的 常 规 适 配 器 或 使 用 Rational Software 和和 她 的<br />

合 作 商 提 供 的 适 配 器 。 一 个 适 配 器 就 是 一 个 动 态 连 接 库 (DLL)。<br />

这 里 有 两 种 类 型 的 常 规 适 配 器 :<br />

●Custom Test Script Console Adapter- 在 测 试 工 具 针 对 测 试 脚 本本 的 创 建 和和 编 辑 不 提 供 一<br />

个 command-line 接 口 时 , 对 于 测 试 脚 本本 不 以 标标 准 的 File Open 对 话 框 形 式 打 开 时 , 需 要 使 用 该 适<br />

配 器 。<br />

●Custom Test Script Execution Adapter- 如 果果 测 试 工 具 针 对 测 试 脚 本本 的 执 行 不 提 供 一 个<br />

command-line 接 口 , 就 需 要 使 用 该 适 配 器 。<br />

有 关 创 建 常 规 适 配 器 的 信 息 , 参 阅 Rational TestManager Extensibility Reference 手 册 。<br />

在 这 些 适 配 器 被 创 建 之 后 , 你 或 者 其 他 属 于 测 试 组 的 人 员员 必 须 在 TestManager 中 定 义 新 的 测 试 脚<br />

本本 类 型 并 注 册 该 DLL。( 有 关 信 息 , 参 阅 下 一 节 ,Defining a New Test Script Type。) 你 应 当 可<br />

以 到到 那 时 打 开 并 执 行 那 种 类 型 的 测 试 脚 本本 。 依 赖 于 Test Script Console Adapter 的 如 何 实 施 , 你 也<br />

可 能 创 建 和和 编 辑 那 种 测 试 脚 本本 类 型 。


51Testing 软 件 测 试 网<br />

定 义 一 种 新 的 测 试 脚 本本 类 型 (Defining a New Test Script Type)<br />

在 TestManager 中 定 义 一 个 新 的 测 试 脚 本本 类 型 :<br />

● 点 击 Tools > Manage > Test Script Types。 点 击 New。<br />

注 意 事 项 : 如 果果 New 按 钮 不 可 用 , 那 么 你 还 没 有 管 理 员员 的 权 限 。 有 关 信 息 , 参 阅 Using the Rational<br />

Administrator 手 册 或 帮 助 。<br />

创 建 Suites(Suites Created in TestManager)<br />

TestManager 允 许 你 由 测 试 脚 本本 、 测 试 用 例 、 和和 其 他 物 件 来来 创 建 测 试 的 suites。<br />

Suites 为 通 过 一 个 point-and-click 接 口 创 建 的 功 能 和和 性 能 测 试 提 供 很 好 的 灵 活 性 和和 效 率 。<br />

Suite 的 基 础 部 分 参 阅 67 页 Implementing Tests as Suites 的 内 容 。 有 关 功 能 测 试 suites 的 细 节 内 容 ,<br />

参 阅 165 页 Creating Functional Testing Suites。 有 关 性 能 测 试 suites 的 细 节 内 容 , 参 阅 225 页<br />

Designing Performance Testing Suites。


51Testing 软 件 测 试 网<br />

由 测 试 脚 本 调 用 Test Script Services (Calling Test Script<br />

Services from Test Scripts)<br />

Rational Test Script Services (TSS) 是 测 试 的 服 务 , 你 可 以 由 你 的 测 试 脚 本本 使 用 Test Script<br />

Services API 中 的 命命 令 来来 调 用 。 例 如 , 你 可 以 从 测 试 脚 本本 调 用 logging, 同 步 (synchronization),<br />

定 时 (timing), 以 及 数 据 池 (datapool) 等 服 务 。 你 可 以 调 用 检 验 点 服 务 来来 验 证 (validate) 一<br />

个 组 件 或 系 统 的 状 态 和和 行 为 。 下 面 的 表 列 举 了 TSS 提 供 的 服 务 种 类 :<br />

种 类<br />

Data pool<br />

( 数 据 池 )<br />

Logging<br />

( 记 录 日 志 )<br />

Measurement<br />

( 衡 量 )<br />

Utility<br />

( 用 途 )<br />

描 述<br />

在 测 试 脚 本本 录 制 回 放 期 间 为 其 提 供 变 量 数 据 , 允 许 每 个 虚 拟 测 试<br />

者 在 对 于 各 事 务 处 理 时 , 向 服 务 器 发 送 不 同 的 数 据 。<br />

为 报 告告 和和 分 析析 提 供 日 志 (logs) 信 息 。<br />

提 供 微 调 (fine-tuning) 的 方 法 , 并 通 过 诸 如 定 时 活 动 、 设 置 考<br />

虑 时 间 延 迟 、 和和 设 置 环 境 变 量 等 操 作 来来 控 制 你 的 测 试 。<br />

执 行 一 般 的 测 试 脚 本本 操 作 , 如 回 收 错 误 信 息 , 控 制 随 机机 数 字 生 成 ,


51Testing 软 件 测 试 网<br />

和和 打 印 信 息 。<br />

Monitor<br />

( 监 控 )<br />

Synchronization<br />

( 同 步 )<br />

监 控 一 个 测 试 脚 本本 的 录 制 回 放 过 程 。<br />

同 步 化化 并 联 的 虚 拟 测 试 者 在 一 台 测 试 机机 上 或 者 通 过 并 联 的 测 试 机机<br />

执 行 。<br />

Session 管 理 ( 处 理 ) 测 试 脚 本本 session 的 执 行 和和 录 制 回 放 。<br />

Advanced<br />

( 高 级 的 )<br />

Verification Point<br />

( 检 验 点 )<br />

高 级 的 特 征 , 如 为 内 部 变 量 设 置 值 。<br />

验 证 一 个 组 件 或 系 统 的 状 态 或 行 为 。<br />

TSS 与 测 试 脚 本本 类 型 (Test Script Services and Test Script<br />

Types)<br />

VB,Java, 和和 command line 的 测 试 脚 本本 类 型 ―― 如 同 常 规 测 试 脚 本本 类 型 , 可 添 加 到到 TestManager<br />

中 ―― 可 以 带 给 TSS 以 优 势势 。<br />

你 可 以 在 测 试 脚 本本 编 辑 期 间 手 工 添 加 TSS 命命 令 到到 测 试 脚 本本 中 去 。<br />

TSS 命命 令 可 以 在 下 面 的 操 作 期 间 自 动 添 加 到到 测 试 脚 本本 中 :<br />

● 用 Rational Robot 记 录 的 VB 测 试 脚 本本 。<br />

● 用 EJB Session Recorder( 包包 括 了 Rational QualityArchitect) 的 记 录 。Session Recorder 允 许 你 可<br />

视 化化 地 与 EJBs 链 接 并 交 互 。 在 你 执 行 针 对 组 件 的 业 务 时 , 交 互 数 据 被 记 录 和和 存 储 在 一 个 扩 展<br />

的 XML 文 件 中 。 然 后 , 你 可 以 使 用 XML Script Generator 去 为 测 试 EJB 生 成 Java 测 试 脚 本本 。<br />

● 使 用 Rational QualityArchitect 产 生 测 试 脚 本本 。QualityArchitect 分 别 为 测 试 EJB 组 件 和和<br />

COM/DCOM 组 件 产 生 Java 测 试 脚 本本 和和 VB 测 试 脚 本本 。<br />

使 用 下 表 作 为 一 个 指 南 , 包包 括 了 不 同 类 型 测 试 脚 本本 的 TSS。 细 节 信 息 , 参 阅 documentation listed for<br />

each test type。


51Testing 软 件 测 试 网<br />

测 试 脚 本本<br />

添 加 的 方 法<br />

资 料<br />

类 型<br />

VB<br />

记 录 一 个 session 并 由 Rational Robot 或 手 工<br />

编 辑 生 成 测 试 脚 本本<br />

Rational Test Script<br />

Services for Visual<br />

Basic<br />

Java 手 工 编 辑 Rational Test Script<br />

Services for Java<br />

Command<br />

Line<br />

手 工 编 辑<br />

Command Line<br />

Interface to Rational<br />

Test Script Services<br />

注 意 事 项 :Robot 的 VU 和和 GUI 测 试 脚 本本 类 型 自 动 提 供 TSS。 例 如 , 在 你 用 Rational Robot 记 录 了 一<br />

个 脚 本本 时 , 这 个 脚 本本 就 包包 含 了 一 个 数 据 池 (datapool)( 如 果果 适 合 的 话 )。TestManager 也 提 供<br />

内 置 的 监 控 和和 session 函 数 。<br />

TSS 与 TestManager(Test Script Services and TestManager)<br />

TSS 为 与 TestManager 一 起 使 用 而 设 计 。 作 为 一 个 结 果果 ,TSS 的 特 征 是 包包 含 了 任 何 一 种 测 试 脚 本本<br />

类 型 ―― 包包 括 常 规 的 测 试 脚 本本 类 型 ―― 完 全 地 集 成 了 TestManager 的 报 告告 记 录 、 监 控 、 和和 分 析析 框<br />

架架 。<br />

例 如 :<br />

●TestManager 遵 守 任 何 的 同 步 和和 延 迟 你 的 功 能 测 试 脚 本本 , 当 它 录 制 回 放 ( 执 行 ) 的 时 候 , 在<br />

测 试 脚 本本 的 一 组 suite 里 面 回 放 ( 运 行 ) 测 试 脚 本本 。<br />

● 在 测 试 脚 本本 录 制 回 放 期 间 , 一 个 测 试 人 员员 可 以 通 过 测 试 脚 本本 监 控 指 令 来来 监 控 有 关 测 试 脚 本本 的


51Testing 软 件 测 试 网<br />

状 态 信 息 。<br />

● 在 测 试 脚 本本 录 制 回 放 期 间 ,TestManager 通 过 数 据 池 的 使 用 提 供 给 测 试 脚 本本 以 真 实 和和 可 变 的 数<br />

据 。<br />

● 定 时 的 活 动 结 果果 在 TestManager 报 告告 中 展 示 。<br />

●TestManager 测 试 用 例 可 以 建 立 与 测 试 脚 本本 之 间 的 关 联 , 这 些 测 试 脚 本本 包包 含 了 检 验 点 命命 令 以 验<br />

证 一 个 组 件 或 系 统 的 状 态 和和 行 为 。<br />

●TestManager 可 以 在 一 组 单 一 的 suite 中 执 行 不 同 类 型 的 测 试 脚 本本 。 例 如 ,VU、VB 和和 常 规 测 试<br />

脚 本本 类 型 可 以 全 部 在 同 一 组 suite 中 执 行 。<br />

创 建 手 工 测 试 脚 本 (Creating Manual Test Scripts)<br />

一 个 manual test script 是 一 个 测 试 的 说 明 ( 指 令 ) 集 合 以 被 一 个 真 实 测 试 人 员员 执 行 。 测 试 脚 本本 可<br />

以 由 你 输 入 到到 一 个 编 辑 器 的 步 骤 和和 检 验 点 组 成 。<br />

一 个 step 是 一 个 说 明 , 在 一 个 手 工 测 试 脚 本本 执 行 时 , 它 被 测 试 人 员员 所 执 行 。 这 可 以 像 一 个 单 一 的<br />

句 子 那 样 简 单 ( 比 如 “Reboot the computer”) 或 是 像 一 个 完 全 的 文 档 那 样 复 杂 。<br />

在 一 个 手 工 测 试 脚 本本 中 , 一 个 verification point( 检 验 点 ) 是 关 于 应 用 程 序 状 态 的 一 个 问 题 ( 例<br />

如 ,“ 应 用 程 序 开 始 了 吗 ?”)。 一 个 检 验 点 可 以 由 任 意 数 量 的 文 本本 组 成 , 但 这 些 可 能 是 一 个<br />

或 两 个 句 子 , 通 常 以 一 个 问 题 标标 志 作 为 结 束束 。<br />

在 你 创 建 一 个 手 工 测 试 脚 本本 之 后 , 你 可 以 建 立 它 与 一 个 测 试 用 例 的 关 联 。 当 你 执 行 这 些 测 试 用<br />

例 或 手 工 测 试 脚 本本 时 , 测 试 脚 本本 在 ManualTest 中 打 开 。<br />

当 你 执 行 一 个 手 工 测 试 脚 本本 时 , 你 执 行 每 一 步 并 确 定 是 否 每 一 个 检 验 点 都 通 过 或 失 败 。 你 可 以<br />

到到 那 时 打 开 TestManager 中 的 Test Log 窗 口 并 查查 看 结 果果 。 如 果果 所 有 的 检 验 点 都 通 过 了 , 那 么 测 试<br />

脚 本本 也 通 过 。 如 果果 有 任 何 一 个 检 验 点 失 败 , 那 么 测 试 脚 本本 即 失 败 。<br />

与 其 他 的 测 试 脚 本本 类 型 一 样 , 你 可 以 在 TestManager 报 告告 中 包包 含 你 的 手 工 测 试 脚 本本 。<br />

注 意 事 项 : 有 关 手 工 测 试 脚 本本 的 细 节 过 程 , 参 阅 Rational ManualTest 的 帮 助 。<br />

你 可 以 用 两 种 方 法 创 建 一 个 手 工 测 试 脚 本本 :<br />

● 通 过 一 个 测 试 用 例 设 计 的 输 入 。<br />

● 用 Rational ManualTest。


51Testing 软 件 测 试 网<br />

由 一 个 测 试 用 例 设 计 创 建 (Creating a Manual Test Script from<br />

a Test Case Design)<br />

如 同 47 页 上 About Designing Tests 的 内 容 描 述 , 一 个 测 试 用 例 的 设 计 , 首 先 要 回 答 问 题 “ 我 如 何<br />

执 行 这 个 测 试 用 例 ?” 一 设 计 可 以 包包 含 步 骤 和和 检 验 点 。<br />

你 可 以 由 一 个 测 试 用 例 的 设 计 容 易 地 创 建 一 个 手 工 测 试 脚 本本 。 设 计 中 的 步 骤 和和 检 验 点 成 为 手 工<br />

测 试 脚 本本 中 的 步 骤 和和 检 验 点 。<br />

由 一 个 测 试 用 例 设 计 创 建 一 个 手 工 测 试 脚 本本 :<br />

● 在 Test Case 对 话 框 中 , 点 击 Implementation 标标 签 。 点 击 Import from Test Case Design 按 钮 。<br />

手 工 测 试 脚 本本 成 为 测 试 用 例 的 实 施 。<br />

你 可 以 通 过 点 击 Implementation 标标 签 中 Open 按 钮 来来 查查 看 和和 编 辑 手 工 测 试 脚 本本 。 这 样 就 打 开 了<br />

Rational ManualTest。 有 关 信 息 , 参 阅 下 一 节 ,Creating a Manual Test Script in Rational<br />

ManualTest。<br />

用 Rational ManualTest 创 建 (Creating a Manual Test Script<br />

in Rational ManualTest)<br />

Rational ManualTest 与 Rational TestManager 集 成 在 一 起 。 使 用 Rational ManualTest 去 创 建 和和 执 行<br />

手 工 测 试 脚 本本 。<br />

启启 动 (Starting Rational ManualTest)<br />

启启 动 Rational ManualTest 并 创 建 一 个 新 的 手 工 测 试 脚 本本 :<br />

● 在 TestManager 中 , 点 击 File > New Test Script > Manual。


51Testing 软 件 测 试 网<br />

一 个 例 子 (Example of a Manual Test Script)<br />

下 面 的 手 工 测 试 脚 本本 包包 含 了 五 个 步 骤 和和 四 个 检 验 点 。<br />

● 步 骤 是 在 你 执 行 该 测 试 脚 本本 时 针 对 你 做 出 的 活 动 。<br />

● 检 验 点 时 你 要 回 答 的 问 题 。<br />

设 置 默 认 的 编 辑 器 (Setting the Default Editor for Manual Test<br />

Scripts)<br />

你 可 以 在 你 创 建 一 个 手 工 测 试 脚 本本 时 使 用 表 格 编 辑 器 或 文 本本 编 辑 器 。 表 格 编 辑 器 是 一 个 结 构构 化化 的 编<br />

辑 器 , 制 作 它 很 简 单 , 以 输 入 你 的 步 骤 和和 检 验 点 。 文 本本 编 辑 器 是 一 个 自 由 形 态 编 辑 器 , 制 作 简 单 以


51Testing 软 件 测 试 网<br />

操 作 文 本本 。<br />

在 ManualTest 中 设 置 默 认 的 编 辑 器 :<br />

● 点 击 Tools > Options。<br />

此 次 设 置 在 你 下 次 创 建 或 打 开 一 个 手 工 测 试 脚 本本 时 生 效 。<br />

在 下 一 个 编 辑 器 中 , 你 使 用 一 个 快 捷 菜 单 去 标标 明 条条 目 作 为 步 骤 和和 检 验 点 , 以 及 去 创 建 和和 查查 看 注<br />

意 条条 款 。<br />

一 个 条条 目 ( 步 骤 或 检 验 点 ) 的 开 始 是 被 足 迹 (footprint) 或 检 查查 标标 记 图 标标 来来 确 定 。 所 有 的 排 列 作<br />

为 先 前前 条条 目 的 一 部 分 , 排 列 不 开 始 于 这 些 图 标标 的 任 一 种 。<br />

创 建 测 试 脚 本本 问 题 (Creating Test Script Queries)<br />

Rational ManualTest 提 供 queries 以 帮 助 你 在 你 的 Rational 项 目 中 选 择 测 试 脚 本本 。Queries 允 许 你 说<br />

明 在 选 择 对 话 框 中 出 现 的 区 域 , 测 试 脚 本本 如 何 被 分 类 , 以 及 哪哪 些 测 试 脚 本本 会 出 现 。<br />

在 你 的 queries 中 使 用 filters( 过 滤 器 ) 以 说 明 从 一 个 项 目 中 回 收 的 信 息 。


51Testing 软 件 测 试 网<br />

过 滤 器 通 过 收 缩 你 要 搜 索 的 信 息 帮 助 你 使 queries 更 加 明 确 化化 。 你 可 以 创 建 简 单 的 过 滤 器 或 简 单<br />

过 滤 器 的 组 合 到到 更 复 杂 的 一 个 中 去 。 在 你 创 建 或 编 辑 一 个 query 时 可 以 使 用 过 滤 器 。<br />

创 建 一 个 新 的 query:<br />

● 点 击 Tools > Manage Script Queries。<br />

定 制 测 试 资 产 (Customizing Test Assets)<br />

当 你 创 建 一 个 手 工 测 试 脚 本本 时 , 你 可 以 添 加 常 规 属 性 去 裁 剪 术术 语 建 立 测 试 脚 本本 的 关 联 以 达 到到 你<br />

组 织 内 使 用 的 标标 准 和和 实 践 。<br />

你 可 以 做 一 个 测 试 脚 本本 的 如 下 属 性 :<br />

● 总 计 三 个 常 规 属 性 和和 值 。( 这 些 出 现 在 New Test Script/Test Script Properties 对 话 框 的 Custom<br />

标标 签 中 。)<br />

● 添 加 新 的 操 作 环 境 或 修 改 、 删 除 现 存 的 一 个 。<br />

● 添 加 一 个 新 的 目 的 或 修 改 、 删 除 现 存 的 一 个 。 你 分 配 一 个 目 的 去 说 明 你 为 什 么 会 使 用 一 个 测<br />

试 脚 本本 。<br />

在 Rational ManualTest 中 参 阅 一 个 手 工 测 试 脚 本本 的 标标 准 属 性 :<br />

● 点 击 File > Properties。<br />

在 Rational ManualTest 中 定 制 一 个 测 试 脚 本本 。<br />

● 点 击 Tools > Customize Test Script。<br />

(You can define both the property itself (the label) and the values that can be used with<br />

that property.)<br />

你 可 以 定 义 属 性 和和 值 使 用 那 些 属 性 。<br />

有 关 定 制 测 试 脚 本本 的 信 息 , 参 阅 ManualTest 的 帮 助 。<br />

你 也 可 以 在 TestManager 中 查查 看 并 定 制 任 意 测 试 脚 本本 的 属 性 。<br />

建 立 一 个 实 施 与 一 个 用 例 的 关 联 ( Associating an<br />

Implementation with a Test Case)<br />

在 你 已 经 创 建 一 个 实 施 之 后 , 你 可 以 建 立 它 与 一 个 测 试 用 例 的 关 联 。 你 可 以 到到 那 时 执 行 该 测 试<br />

用 例 , 执 行 它 的 实 施 。 通 过 建 立 测 试 脚 本本 与 测 试 用 例 的 关 联 , 你 可 以 执 行 报 告告 以 提 供 测 试 的 覆


51Testing 软 件 测 试 网<br />

盖 信 息 。<br />

TestManager 来来 自 于 内 置 型 的 提 供 给 下 面 实 施 类 型 的 关 联 :<br />

●GUI 测 试 脚 本本<br />

●VU 测 试 脚 本本<br />

●VB 测 试 脚 本本<br />

●Java 测 试 脚 本本<br />

●Command-line 可 执 行 编 程<br />

●Suites<br />

● 手 工 测 试 脚 本本<br />

TestManager 也 提 供 与 其 他 你 已 经 注 册 的 测 试 脚 本本 类 型 的 关 联 。<br />

有 关 信 息 , 参 阅 57 页 的 Custom Test Script Types。<br />

建 立 一 个 实 施 与 一 个 测 试 用 例 的 关 联 :<br />

1 在 Test Plan 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 。 点 击 Properties。<br />

2 点 击 Implementation 标标 签 。<br />

你 可 以 用 最 多 两 个 实 施 与 一 个 测 试 用 例 相 关 联 : 一 个 手 工 的 和和 一 个 自 动 的 。 如 果果 他 们 都 关 联 与<br />

一 个 测 试 用 例 , 那 么 在 你 执 行 测 试 用 例 时 ,TestManager 执 行 那 个 自 动 的 实 施 。 有 关 执 行 测 试 用<br />

例 的 信 息 , 参 阅 90 页 Running Test Cases 的 内 容 。


51Testing 软 件 测 试 网<br />

注 意 事 项 : 如 果果 你 由 Rational ManualTest Web Execution 组 件 执 行 一 个 测 试 用 例 , 那 么 手 工 测 试<br />

脚 本本 将 执 行 。 有 关 信 息 , 参 阅 351 页 About ManualTest Web Execution 的 内 容 。<br />

当 你 创 建 一 个 配 置 的 测 试 用 例 时 , 它 继 承 它 的 父 测 试 用 例 的 实 施 。 你 可 以 在 Configured Test Case<br />

对 话 框 中 通 过 点 击 Select 按 钮 来来 改 变 一 个 配 置 的 测 试 用 例 的 实 施 。<br />

Test Plan 窗 口 中 的 图 标标 指 明 了 是 否 一 个 测 试 用 例 或 配 置 的 测 试 用 例 有 一 个 实 施 , 并 是 否 是 自 动<br />

的 或 手 工 的 。 对 于 一 个 配 置 的 测 试 用 例 , 该 图 标标 也 可 以 指 明 该 实 施 是 否 继 承 于 他 的 父 测 试 用 例 。<br />

下 图 所 示 一 些 图 标标 :( 对 于 一 个 完 整 的 图 标标 列 表 , 参 阅 Rational TestManager 的 帮 助 。)<br />

注 意 事 项 : 即 使 一 个 图 标标 显 示 的 这 个 实 施 是 自 动 的 , 测 试 用 例 也 可 以 有 一 个 手 工 实 施 。<br />

实 施 测 试 作 为 Suites (Implementing Tests as Suites)<br />

Suites 是 另 一 个 在 TestManager 中 实 施 测 试 的 方 法 。 一 组 suite 展 示 了 你 要 测 试 的 工 作 的 一 个 分 层 描<br />

述 , 或 你 要 添 加 到到 系 统 中 的 工 作 量 。 它 展 示 了 诸 如 用 户 或 计 算 机机 组 之 类 的 条条 目 , 每 个 组 的 资 源<br />

分 配 , 执 行 哪哪 个 组 的 测 试 脚 本本 , 以 及 每 个 测 试 脚 本本 执 行 的 次 数 。<br />

在 实 施 的 一 个 测 试 作 为 一 组 suite 时 , 你 可 以 :<br />

● 定 义 用 户 或 计 算 机机 组 , 并 将 资 源 应 有 于 其 中 以 确 定 它 们 执 行 的 地 方 。<br />

组 是 应 用 程 序 中 执 行 相 同 任 务 的 虚 拟 测 试 者 的 集 合 。<br />

● 添 加 测 试 脚 本本 。<br />

测 试 脚 本本 是 说 明 的 集 合 。 测 试 脚 本本 可 以 被 用 来来 导 航 一 个 应 用 的 用 户 接 口 以 确 定 所 有 的 特 征 工<br />

作 , 或 去 测 试 执 行 在 接 口 后 面 的 应 用 的 活 动 。


51Testing 软 件 测 试 网<br />

● 添 加 suites 到到 suites。<br />

你 可 以 使 用 suites 作 为 suites 内 部 的 构构 建 块 。<br />

● 添 加 测 试 用 例 。<br />

一 个 测 试 用 例 是 在 一 个 目 标标 测 试 系 统 中 的 一 个 可 测 试 和和 可 验 证 的 行 为 。<br />

你 即 可 以 在 功 能 测 试 中 使 用 suites, 也 可 以 在 性 能 测 试 中 使 用 它 。 虽 然 在 两 种 测 试 类 型 中 ,suite<br />

的 概 念 是 相 同 的 , 但 是 你 将 要 插 入 不 同 的 suite 条条 目 , 并 选 择 不 同 的 选 项 , 和和 依 赖 于 你 是 否 正 在<br />

执 行 一 个 功 能 测 试 或 性 能 测 试 。 下 面 的 两 节 给 出 了 有 关 在 功 能 和和 性 能 测 试 中 使 用 suites 的 一 个 概<br />

述 。<br />

在 功 能 测 试 中 使 用 Suites (Using Suites in Functional Tests)<br />

在 你 针 对 功 能 测 试 而 使 用 一 组 suite 时 , 你 开 始 于 设 置 一 台 计 算 机机 组 。 这 个 计 算 机机 组 可 以 在 指 定<br />

的 测 试 机机 上 执 行 测 试 用 例 或 测 试 脚 本本 。 一 个 测 试 用 例 一 次 只 能 执 行 在 一 台 测 试 机机 上 。 你 可 以 设<br />

置 测 试 脚 本本 以 便 他 们 执 行 在 :<br />

● 你 预 先 指 定 的 特 定 的 测 试 机机 。<br />

● 在 执 行 期 间 指 定 的 特 定 的 测 试 机机 。<br />

● 任 何 一 台 空 闲 的 以 执 行 一 个 测 试 脚 本本 的 测 试 机机 。<br />

你 可 能 想 在 一 台 特 定 的 测 试 机机 上 执 行 一 个 功 能 测 试 。 例 如 , 你 的 测 试 可 能 被 指 定 于 一 台 特 定 的<br />

测 试 机机 上 。 或 者 , 你 的 测 试 可 能 需 要 特 殊 的 软 件 , 而 这 些 软 件 要 被 安 装 在 一 台 特 定 的 测 试 机机 上 。<br />

相 反 地 , 你 可 能 想 在 几 台 测 试 机机 上 分 布 ( 执 行 ) 一 个 功 能 测 试 的 测 试 脚 本本 。 例 如 , 你 的 测 试 可<br />

能 不 必 被 指 定 于 一 台 特 定 的 测 试 机机 上 。 你 可 能 想 在 一 个 计 算 机机 组 上 执 行 你 的 测 试 , 以 便 它 们 能<br />

够 完 全 的 尽 可 能 地 快 速 执 行 。<br />

实 施 的 一 个 测 试 作 为 一 组 suite 能 够 使 你 到到 达 每 一 个 目 标标 。 有 关 在 功 能 测 试 中 使 用 suites 的 更 多 信<br />

息 , 参 阅 165 页 Creating Functional Testing Suites 的 内 容 。<br />

在 性 能 测 试 中 使 用 Suites (Using Suites in Performance Tests)<br />

在 性 能 测 试 中 , 一 个 suite 不 仅 仅 能 够 使 你 执 行 测 试 脚 本本 , 也 可 以 模 拟 用 户 的 活 动 以 添 加 工 作 量<br />

到到 一 台 服 务 器 中 去 。 一 组 suite 可 以 如 同 一 个 虚 拟 者 执 行 一 个 测 试 脚 本本 那 样 简 单 , 或 如 同 上 百 个<br />

虚 拟 者 在 不 同 的 组 内 , 每 组 在 不 同 的 时 间 内 执 行 不 同 的 测 试 脚 本本 。


51Testing 软 件 测 试 网<br />

有 关 在 性 能 测 试 中 使 用 suites 的 更 多 信 息 , 参 阅 225 页 Designing Performance Testing Suites 的 内<br />

容 。<br />

对 于 性 能 和和 功 能 测 试 的 一 般 活 动 ( Activities Common to<br />

Performance and Functional Testing)<br />

无 论 你 是 在 执 行 性 能 测 试 还 是 功 能 测 试 , 你 将 要 执 行 某某 种 一 般 的 活 动 。 例 如 , 你 定 义 测 试 机机 和和<br />

测 试 机机 列 表 , 创 建 suites, 打 开 suites, 编 辑 测 试 脚 本本 , 并 在 suites 中 编 辑 条条 目 和和 属 性 。 这 些 章 节<br />

将 论 述 你 在 性 能 和和 功 能 测 试 suites 中 要 做 的 工 作 。<br />

定 义 代 理 测 试 机机 和和 测 试 机机 列 表 (Defining Agent Computers and<br />

Computer Lists)<br />

测 试 执 行 , 以 默 认 方 式 , 是 在 本本 地 测 试 机机 上 。 然 而 , 你 可 以 添 加 其 他 的 测 试 机机 , 名 为 Agents,<br />

对 于 你 的 测 试 环 境 。 这 些 代 理 测 试 机机 在 性 能 和和 功 能 测 试 中 是 有 用 的 。 在 性 能 测 试 中 , 你 使 用 代<br />

理 ( 测 试 机机 ) 去 添 加 工 作 量 到到 服 务 器 中 。 在 功 能 测 试 中 , 你 使 用 代 理 ( 测 试 机机 ) 来来 并 行 地 执 行<br />

你 的 测 试 , 从 而 以 节 约 时 间 。<br />

添 加 一 台 代 理 测 试 机机 (Adding an Agent Computer)<br />

添 加 一 台 代 理 测 试 机机 :<br />

● 点 击 Tools > Manage > Computers, 然 后 点 击 New。


51Testing 软 件 测 试 网<br />

在 你 添 加 一 个 代 理 测 试 机机 到到 TestManager 中 时 , 你 可 以 包包 含 下 面 的 属 性 :<br />

● 名 称 -- 测 试 机机 的 名 称 。 使 用 名 称 来来 帮 助 你 容 易 地 识 别 该 测 试 机机 , 如 果果 网 络 名 称 不 是 非 常 的<br />

具 有 描 述 性 。<br />

● 网 络 名 称 ―― 该 测 试 机机 的 名 称 作 为 其 在 计 算 机机 网 络 中 的 标标 识 。 以 检 查查 并 确 认 该 测 试 机机 的 网 络<br />

名 称 是 可 用 的 , 点 击 Ping。<br />

● 描 述 ―― 测 试 机机 的 一 个 描 述 , 在 测 试 过 程 中 可 能 注 意 到到 的 规 则 。<br />

● 记 录 的 用 途 ――TestManager 在 记 录 期 间 是 否 视 测 试 机机 为 一 台 客 户 机机 或 服 务 器 。<br />

● 录 制 回 放 的 用 途 ―― 系 统 对 于 测 试 脚 本本 的 录 制 回 放 是 否 可 用 。<br />

● 端 口 信 息 ――TCP/IP 端 口 信 息 关 联 与 系 统 。 有 关 端 口 设 置 的 信 息 , 参 阅 331 页 Configuring Local<br />

and Agent Computers 的 内 容<br />

合 并 测 试 机机 到到 列 表 中 (Combining Computers into Lists)<br />

你 已 经 在 TestManager 中 定 义 了 测 试 机机 , 之 后 , 你 可 以 合 并 他 们 到到 列 表 中 去 。 如 果果 你 在 多 台 测 试<br />

机机 上 执 行 测 试 , 那 么 列 表 是 有 用 的 , 或 者 如 果果 机机 台 测 试 机机 有 一 个 相 似 的 配 置 或 执 行 一 个 相 似 组<br />

织 的 任 务 。 通 过 使 用 一 个 列 表 , 你 可 以 参 考 列 表 以 代 替 单 个 的 测 试 机机 。<br />

创 建 一 个 测 试 机机 列 表 :<br />

● 点 击 Tools > Manage > Computer Lists, 然 后 点 击 New。


51Testing 软 件 测 试 网<br />

在 你 定 义 了 测 试 机机 列 表 以 及 它 的 一 个 名 称 和和 描 述 之 后 , 添 加 测 试 机机 到到 列 表 中 。 一 个 测 试 机机 包包 含<br />

在 一 个 列 表 之 前前 , 你 必 须 单 个 地 添 加 该 测 试 机机 到到 TestManager 中 。<br />

添 加 测 试 机机 到到 一 个 测 试 机机 列 表 :<br />

● 由 Computer List Properties 的 对 话 框 , 点 击 Select。<br />

在 你 已 经 定 义 了 测 试 机机 和和 测 试 机机 列 表 之 后 , 它 们 对 于 suites 的 执 行 就 是 可 利 用 的 资 源 了 。<br />

注 意 事 项 : 确 定 复 制 suite 需 要 的 任 何 常 规 创 建 的 外 部 C 库 ,Java 类 文 件 , 或 COM 组 件 到到 代 理 测 试<br />

机机 中 。


51Testing 软 件 测 试 网<br />

变 更 一 台 代 理 测 试 机机 的 设 置 (Changing the Settings of an<br />

Agent Computer)<br />

你 可 能 想 变 更 与 一 台 代 理 测 试 机机 关 联 的 默 认 设 置 。 代 理 测 试 机机 的 配 置 可 能 已 经 变 更 和和 在<br />

TestManager 中 的 设 置 需 要 反 映 这 。<br />

变 更 测 试 机机 的 设 置 :<br />

● 打 开 一 组 suite, 然 后 点 击 Suite > Edit Computers。<br />

创 建 一 组 Suite (Creating a Suite)<br />

你 可 以 用 几 种 方 法 来来 创 建 一 组 suite。<br />

你 创 建 一 组 suite:<br />

● 利 用 向 导 。<br />

● 基 于 一 个 Robot session 或 另 一 个 suite。<br />

● 从 开 始 , 使 用 一 个 空 白 的 模 板板 。<br />

使 用 这 些 方 法 的 任 意 一 个 创 建 一 组 suite:<br />

● 点 击 File > New Suite。


51Testing 软 件 测 试 网<br />

有 一 个 向 导 创 建 一 组 Suite (Creating a Suite from a Wizard)<br />

如 果果 你 是 新 的 测 试 , 使 用 suite 向 导 可 能 是 最 简 单 的 方 法 去 创 建 一 个 工 作 测 试 。 你 必 须 针 对 在 suite<br />

中 的 使 用 具 有 可 用 的 测 试 脚 本本 或 测 试 用 例 。<br />

在 你 利 用 性 能 测 试 向 导 创 建 一 组 suite 时 ,TestManager 帮 助 你 选 择 将 执 行 测 试 的 测 试 机机 , 并 帮 助<br />

你 关 联 测 试 脚 本本 , 这 些 测 试 脚 本本 成 为 此 次 测 试 的 根 据 。<br />

在 你 利 用 功 能 测 试 向 导 创 建 一 组 suite 时 ,TestManager 帮 助 你 选 择 测 试 用 例 和和 测 试 脚 本本 , 它 们 成<br />

为 此 次 测 试 的 根 据 。<br />

打 开 一 组 Suite (Opening a Suite)<br />

你 可 以 从 一 个 菜 单 或 是 Test Asset Workspace 中 打 开 一 组 suite。<br />

从 菜 单 中 打 开 一 组 suite:<br />

● 点 击 File > Open Suite。<br />

从 Test Asset Workspace 中 打 开 suite:<br />

● 从 Execution 标标 签 中 , 双 击 树树 中 的 suite。<br />

编 辑 一 个 测 试 脚 本本 (Editing a Test Script)<br />

在 你 正 在 用 一 组 suite 工 作 的 时 候 , 你 可 能 想 编 辑 一 个 测 试 脚 本本 。<br />

通 过 TestManager, 你 可 以 :<br />

● 编 辑 一 个 测 试 脚 本本 的 属 性 。


51Testing 软 件 测 试 网<br />

● 编 辑 一 个 测 试 脚 本本 的 文 本本 。<br />

编 辑 一 个 测 试 脚 本本 的 属 性 (Editing the Properties of a Test<br />

Script)<br />

一 个 测 试 脚 本本 可 以 有 除 测 试 脚 本本 名 称 和和 类 型 之 外 的 属 性 相 关 联 。 测 试 脚 本本 实 例 的 属 性 包包 括 测 试<br />

脚 本本 的 一 个 描 述 和和 测 试 脚 本本 的 目 的 。<br />

编 辑 一 个 测 试 脚 本本 的 属 性 :<br />

● 打 开 一 组 suite, 选 择 该 测 试 脚 本本 编 辑 , 然 后 点 击 Edit > Properties。<br />

注 意 事 项 : 在 这 个 对 话 框 中 的 标标 签 有 轻 微 地 变 化化 , 依 赖 与 你 打 开 的 测 试 脚 本本 的 类 型 。<br />

编 辑 一 个 测 试 脚 本本 的 文 本本 (Editing the Text of a Test Script)<br />

编 辑 一 个 测 试 脚 本本 的 文 本本 :<br />

● 选 择 测 试 脚 本本 , 然 后 点 击 Edit > Open Test Script。<br />

脚 本本 是 已 载 入 的 , 合 适 的 编 辑 器 是 已 启启 动 的 。<br />

有 关 编 辑 测 试 脚 本本 的 信 息 , 针 对 你 所 用 的 语 言 , 参 阅 VU Language Reference 或 Rational Test Script Services 手<br />

册 。


51Testing 软 件 测 试 网<br />

编 辑 一 组 Suite 的 属 性 (Editing the Properties of a Suite)<br />

一 组 suite 有 属 性 关 联 与 它 , 可 以 使 它 唯 一 化化 并 帮 助 你 区 分 类 似 的 suites。<br />

Suite 实 例 的 属 性 包包 括 一 个 suite 的 描 述 和和 suite 的 拥 有 者 。<br />

编 辑 一 组 suite 的 属 性 :<br />

● 打 开 suite, 然 后 点 击 File > Properties。<br />

更 换 一 组 Suite 的 条条 目 (Replacing Items in a Suite)<br />

使 用 直 接 插 入 编 辑 来来 替 换 除 delays 和和 选 择 器 之 外 的 在 suite 中 的 任 意 条条 目 。 替 换 一 个 条条 目 ―― 尤 其<br />

是 在 suite 结 构构 中 高 级 的 条条 目 。 例 如 , 你 的 suite 可 能 包包 含 复 杂 的 一 个 用 户 组 结 构构 , 测 试 脚 本本 , 和和<br />

剧剧 本本 (scenarios)。 删 除 一 个 条条 目 和和 重 新 创 建 该 suite 下 面 的 结 构构 , 不 如 去 替 换 这 些 条条 目 (item)。<br />

更 换 一 个 条条 目 :<br />

1 点 击 Tools > Options > Create Suite, 并 清 除 Show numeric values, 检 查查 box。<br />

清 除 该 选 项 允 许 你 使 用 直 接 插 入 编 辑 来来 重 命命 名 条条 目 名 称 。<br />

2 打 开 一 组 suite, 选 择 条条 目 , 并 输 入 新 条条 目 名 称 。<br />

编 辑 一 组 Suite 条条 目 的 执 行 属 性 (Editing the Run Properties of<br />

Items a Suite)<br />

在 你 的 测 试 过 程 的 进 展 中 , 你 可 能 要 编 辑 执 行 属 性 与 suite 条条 目 相 关 联 。 你 可 以 编 辑 包包 含 在 一 个


51Testing 软 件 测 试 网<br />

suite 的 任 何 条条 目 的 执 行 属 性 。<br />

编 辑 一 个 条条 目 的 执 行 属 性 :<br />

1 打 开 一 组 suite, 并 选 择 条条 目 以 编 辑 。<br />

2 点 击 Edit > Run Properties。<br />

TestManager 展 示 相 同 的 对 话 框 , 在 你 创 建 了 item 之 后 显 现 的 。<br />

你 可 以 编 辑 每 一 个 对 话 框 中 的 值 。<br />

注 意 事 项 : 当 你 编 辑 一 组 suite 条条 目 的 执 行 属 性 时 , 这 种 变 更 只 影 响响 条条 目 的 实 例 。 例 如 , 如 果果 你<br />

将 一 个 测 试 脚 本本 插 入 到到 一 组 suite, 且 插 入 了 两 次 , 并 改 变 了 第 一 个 测 试 脚 本本 的 执 行 属 性 , 那 么<br />

第 二 个 测 试 脚 本本 依 然 会 保 持 先 前前 的 执 行 属 性 。<br />

针 对 所 有 用 户 和和 计 算 机机 组 编 辑 信 息 (Editing Information for<br />

All User and Computer Groups)<br />

有 时 候 , 你 可 能 想 要 为 一 个 以 上 的 用 户 或 计 算 机机 组 编 辑 信 息 。 虽 然 你 可 以 单 个 的 编 辑 每 一 个 组 ,<br />

但 为 所 有 的 组 在 相 同 的 时 间 内 来来 编 辑 信 息 是 更 容 易 的 。<br />

为 所 有 的 组 编 辑 信 息 :<br />

● 打 开 一 组 suite, 然 后 点 击 Suite > Edit Groups。


51Testing 软 件 测 试 网<br />

针 对 虚 拟 测 试 者 编 辑 设 置 ( Editing Settings for Virtual<br />

Testers)<br />

你 可 以 改 变 与 虚 拟 测 试 者 关 联 的 默 认 设 置 。 你 可 以 设 置 TSS 环 境 变 量 来来 改 变 你 执 行 一 组 suite 时 登<br />

陆 的 信 息 。 例 如 , 如 果果 你 执 行 一 组 时 suite 有 了 问 题 , 那 么 设 置 一 个 虚 拟 测 试 者 去 log 所 有 的 事 件<br />

和和 其 他 虚 拟 测 试 者 去 失 败 log 事 件 , 只 为 了 你 可 以 更 加 充 分 地 调 查查 问 题 。<br />

编 辑 虚 拟 测 试 者 地 设 置 :<br />

● 打 开 一 组 suite, 然 后 点 击 Suite > Edit Settings。<br />

初 始 化化 TSS 环 境 变 量 ( Initializing TSS Environment<br />

Variables)<br />

你 可 以 通 过 TestManager 初 始 化化 TSS 环 境 变 量 的 大 部 分 值 。 通 过 TestManager, 一 个 环 境 变 量 被 初 始 化化<br />

时 , 属 性 值 是 有 效 针 对 一 个 实 体 suite 的 执 行 , 除 非 测 试 脚 本本 对 属 性 值 有 特 殊 的 变 更 。<br />

初 始 化化 一 个 TSS 的 环 境 变 量 :<br />

1 打 开 一 组 suite, 然 后 点 击 Suite > Edit Settings。<br />

2 在 Settings 对 话 框 中 , 点 击 TSS Environment Variables 栏栏 中 按 钮 。


51Testing 软 件 测 试 网<br />

3 在 TSS Environment Variables 对 话 框 中 , 选 择 下 面 的 标标 签 :<br />

●Logging――<br />

――Logging 环 境 变 量 隶 属 于 在 suite 中 的 任 何 测 试 脚 本本 。 它 们 允 许 你 设 置 细 节 级 别 ,<br />

这 些 细 节 出 现 在 关 联 与 一 组 suite 执 行 的 日 志 文 件 中 。<br />

●Think time――<br />

――Think time 环 境 变 量 隶 属 于 在 suite 中 的 任 何 测 试 脚 本本 。 他 们 控 制 虚 拟 测 试 者 的<br />

“think time” 行 为 。 这 是 一 个 典 型 的 用 户 延 迟 , 或 考 虑 , 及 提 交 命命 令 之 间 的 时 间 。<br />

●TSS――<br />

――TSS 能 或 不 能 提 供 测 试 脚 本本 服 务 , 将 在 下 一 节 做 描 述 。<br />

●VU Client/Server――<br />

――Client/server 环 境 变 量 隶 属 于 VU 测 试 脚 本本 , 一 个 SQL 数 据 库 的 入 口 。 这 些<br />

变 量 允 许 你 包包 括 SQL 的 行 头 (column headers), 设 置 位 数 以 包包 括 一 个 响响 应 , 以 及 在 一 个 SQL<br />

表 的 末 尾 停 止 数 据 恢 复 。<br />

●VU Connect――Connect 环 境 变 量 隶 属 于 VU 测 试 脚 本本 , 记 录 HTTP 和和 socket 协 议 。 它 们 控 制 一<br />

个 测 试 脚 本本 的 次 数 , 重 复 试 验 链 接 一 个 服 务 器 和和 重 复 使 用 测 试 脚 本本 之 间 的 延 迟 。<br />

●VU HTTP――<br />

――HTTP 环 境 变 量 隶 属 于 VU 测 试 脚 本本 , 记 录 HTTP 协 议 。 这 些 变 量 允 许 你 模 拟 对 于<br />

http 的 排 列 速 度 和和 socket 请 求 。 它 们 也 可 以 使 一 个 HTTP 测 试 脚 本本 成 功 地 录 制 回 放 , 当 然 如 果果<br />

服 务 器 有 数 据 响响 应 , 这 些 数 据 不 是 确 切 地 匹 配 于 记 录 的 内 容 ―― 例 如 , 服 务 器 有 局 部 数 据 响响<br />

应 , 响响 应 被 保 存 , 或 者 测 试 脚 本本 在 录 制 回 放 期 间 直 接 地 到到 另 一 个 服 务 器 中 。<br />

●VU Reporting――<br />

――Reporting 环 境 变 量 隶 属 于 VU 测 试 脚 本本 。 这 些 变 量 允 许 你 设 置 如 何 检 查查 SQL<br />

unread row 的 结 果果 和和 设 置 最 小 位 数 来来 接 受 一 个 SQL 响响 应 。


51Testing 软 件 测 试 网<br />

●VU Response Timeout――<br />

――Response timeout 环 境 变 量 隶 属 于 VU 测 试 脚 本本 , 记 录 HTTP, SQL,<br />

IIOP, 或 者 socket 协 议 。 这 些 变 量 允 许 你 设 置 针 对 一 个 VU 仿 真 命命 令 (emulation command) 的 超<br />

时 时 间 , 按 比 例 设 置 超 时 时 间 , 以 及 设 置 活 动 来来 获 取 是 否 有 出 现 一 个 超 时 。<br />

注 意 事 项 : 有 关 TSS 的 环 境 变 量 的 信 息 , 参 阅 VU Language Reference 或 Rational Test Script<br />

Services 手 册 。<br />

禁 用 TSS(Disabling Test Script Services)<br />

你 可 以 在 一 组 suite 执 行 期 间 禁 用 TSS。 禁 用 TSS 可 使 你 减 少 运 行 时 间 开 支 。 禁 用 也 允 许 你 创 建 一<br />

个 测 试 脚 本本 , 这 个 脚 本本 使 用 所 有 的 TSS, 然 后 , 基 于 可 用 的 或 禁 用 的 , 测 试 仅 仅 是 功 能 关 联 的<br />

或 是 性 能 关 联 的 服 务 。<br />

在 默 认 情 况 下 , 没 有 TSS 是 禁 用 的 。<br />

禁 用 TSS:<br />

1 打 开 一 组 suite, 然 后 点 击 Suite > Edit Settings。<br />

2 点 击 TSS Environment Variables 栏栏 中 的 按 钮 。<br />

3 选 择 TSS Environment Variables 对 话 框 中 的 TSS 标标 签 。


51Testing 软 件 测 试 网<br />

可 用 或 禁 用 的 服 务 :<br />

●Datapools――<br />

在 测 试 脚 本本 中 datapools 的 使 用 。<br />

●Timers――<br />

在 测 试 脚 本本 中 timers 使 用 。<br />

●Commands――<br />

在 测 试 脚 本本 中 使 用 TSS 开 始 和和 结 束束 命命 令 。Commands 将 不 被 计 时 , 命命 令 信 息<br />

不 被 作 为 事 件 而 写 入 到到 日 志 中 , 这 里 也 没 有 任 何 的 报 告告 来来 分 析析 。<br />

●Think time――<br />

在 测 试 脚 本本 中 TSS 的 使 用 think time 常 规 事 务 。<br />

●Delays――<br />

在 测 试 脚 本本 中 TSS 的 使 用 delay 常 规 事 务 。<br />

●Monitoring――<br />

一 组 suite 的 Monitoring 执 行 。<br />

●Logging――<br />

在 一 组 suite 执 行 期 间 Logging。<br />

●Verification points――<br />

在 测 试 脚 本本 中 对 检 验 点 (verification points) 的 使 用 。<br />

●Synchronization points――<br />

在 测 试 脚 本本 中 同 步 点 (synchronization points) 的 使 用 。<br />

●Shared variables――<br />

测 试 脚 本本 中 shared variables 的 使 用 。<br />

变 更 测 试 脚 本本 的 开 始 数 量 (Changing the Number of Start Test<br />

Scripts)<br />

如 果果 在 组 内 你 开 始 虚 拟 测 试 者 , 那 么 TestManager 允 许 你 确 定 测 试 脚 本本 的 数 量 , 当 然 , 在 下 一 个<br />

组 开 始 之 前前 该 组 的 虚 拟 测 试 者 必 须 完 全 成 功 。 你 可 能 需 要 这 样 做 来来 控 制 虚 拟 测 试 者 的 最 小 数 量 ,<br />

来来 在 一 个 给 定 的 时 间 内 登 陆 一 个 系 统 。<br />

例 如 , 假 定 Data Entry 用 户 组 含 有 100 个 虚 拟 测 试 者 。 每 个 虚 拟 测 试 者 执 行 一 个 登 陆 的 测 试 脚 本本 ,<br />

然 后 以 一 个 随 机机 的 顺 序 选 择 3 个 测 试 脚 本本 : 添 加 新 的 记 录 , 修 改 记 录 和和 删 除 纪 录 。 你 已 经 变 更 了<br />

执 行 期 间 的 设 置 使 得 那 100 个 虚 拟 测 试 者 并 不 是 一 次 性 的 全 部 开 始 , 而 是 开 始 该 组 的 25 个 。<br />

如 果果 你 设 置 第 一 组 的 脚 本本 开 始 数 量 , 那 么 第 二 组 25 个 是 在 第 一 组 25 个 的 每 一 个 虚 拟 测 试 者 完 成<br />

登 陆 测 试 脚 本本 时 开 始 。 同 理 , 第 三 组 的 25 个 开 始 于 第 二 组 的 25 个 中 的 每 一 个 虚 拟 测 试 者 完 成 登<br />

陆 测 试 脚 本本 时 , 等 等 。<br />

变 更 测 试 脚 本本 的 开 始 数 量 :<br />

● 打 开 一 组 suite, 然 后 点 击 Suite > Edit Settings。


51Testing 软 件 测 试 网<br />

限 制 测 试 脚 本本 的 数 量 (Limiting the Number of Test Scripts)<br />

TestManager 允 许 你 限 制 测 试 脚 本本 的 数 量 , 这 些 测 试 脚 本本 中 的 虚 拟 测 试 者 可 在 没 有 从 用 户 组 中 移<br />

除 任 何 测 试 脚 本本 的 情 况 下 执 行 。 你 可 以 测 试 suite 的 一 个 简 略 的 执 行 , 要 确 保 所 有 的 suite 条条 目 正<br />

确 地 工 作 。<br />

例 如 , 限 制 测 试 脚 本本 的 数 量 :<br />

● 你 在 一 个 suite 中 不 确 定 地 重 复 一 个 序 列 之 前前 , 确 保 它 可 执 行 在 一 个 有 限 制 的 时 间 。 假 定 , 你<br />

的 suite 有 一 个 含 有 8 个 测 试 脚 本本 的 序 列 。 确 保 虚 拟 测 试 者 能 够 开 始 、 执 行 以 及 完 成 这 个 序 列<br />

两 次 , 在 测 试 脚 本本 之 前前 插 入 一 个 连 续 的 选 择 器 , 并 设 置 Script Limits 到到 16。<br />

● 从 suite 中 暂 时 地 禁 用 一 个 用 户 或 测 试 机机 组 , 但 不 要 删 除 它 。 通 过 设 置 对 组 的 Script Limits<br />

到到 0, 你 就 禁 用 了 它 。( 你 也 可 以 通 过 设 置 虚 拟 测 试 者 的 数 量 到到 0 以 禁 用 一 个 固 定 的 组 。)<br />

● 检 查查 一 个 数 据 池 正 确 地 工 作 。 例 如 , 假 定 一 个 虚 拟 测 试 者 输 入 记 录 到到 一 个 数 据 库 100 次 。 检 查查<br />

该 虚 拟 测 试 者 进 入 一 个 唯 一 的 记 录 , 设 置 Script Limits 到到 2。 如 果果 一 个 虚 拟 测 试 者 进 入 相 同 的<br />

记 录 两 次 , 则 此 次 执 行 失 败 。<br />

限 制 测 试 脚 本本 的 数 量 :<br />

● 打 开 一 组 suite, 然 后 点 击 Suite > Edit Settings。<br />

变 更 方 法 随 机机 数 被 产 生 (Changing the Way Random Numbers<br />

Are Generated)<br />

每 一 个 虚 拟 测 试 者 有 一 个 “ 种 子 ”(seed), 它 在 一 个 测 试 脚 本本 中 产 生 随 机机 数 。 这 些 随 机机 数 影<br />

响响 一 个 虚 拟 测 试 者 的 think time, 随 机机 数 库 常 式 (routines), 以 及 在 数 据 池 中 的 随 机机 入 口 。“ 种<br />

子 ” 是 , 主 要 地 , 或 唯 一 的 , 或 相 同 的 :<br />

● 利 用 唯 一 的 种 子 , 每 一 个 执 行 相 同 测 试 脚 本本 的 虚 拟 测 试 者 有 一 个 轻 微 不 同 的 表 现 ( 行 为 )。<br />

例 如 , 如 果果 在 执 行 第 一 个 命命 令 之 前前 , 一 个 虚 拟 测 试 者 可 能 考 虑 (think for)1.3 秒 , 第 二 个 虚<br />

拟 测 试 者 可 能 考 虑 2.4 秒 。 虽 然 这 些 单 独 的 考 虑 时 间 是 变 化化 的 , 但 是 它 们 有 围 绕 一 个 平 均 值 的<br />

相 同 的 分 布 。<br />

这 些 “ 种 子 ” 也 影 响响 库 常 式 包包 含 的 随 机机 数 。 例 如 , 在 VU 语 言 中 , 如 果果 第 一 个 虚 拟 测 试 者 调 用<br />

了 统 一 常 式 (uniform routine) 两 次 并 收 到到 数 字 5 和和 3, 那 么 在 那 个 组 内 的 其 他 虚 拟 测 试 者 就


51Testing 软 件 测 试 网<br />

可 能 收 到到 不 同 的 数 字 , 只 有 被 最 小 和和 最 大 的 值 绑 定 , 这 些 值 是 在 测 试 脚 本本 中 设 置 的 。<br />

● 利 用 相 同 的 种 子 , 每 一 个 执 行 相 同 测 试 脚 本本 的 虚 拟 测 试 者 有 确 切 的 相 同 的 表 现 。<br />

例 如 :<br />

◆ 如 果果 在 第 一 个 命命 令 执 行 之 前前 , 第 一 个 虚 拟 测 试 者 考 虑 1.3 秒 , 第 二 个 虚 拟 测 试 者 ( 和和 所 有 随<br />

后 的 虚 拟 测 试 者 ) 在 那 个 命命 令 执 行 之 前前 也 考 虑 了 1.3 秒 。<br />

◆ 如 果果 第 一 个 虚 拟 测 试 者 调 用 统 一 常 式 两 次 并 收 到到 数 字 5 和和 3, 那 么 在 那 个 组 内 的 所 有 的 其 他<br />

虚 拟 测 试 者 也 接 受 到到 5 和和 3。<br />

你 也 可 以 设 置 随 机机 数 产 生 器 在 每 一 个 测 试 脚 本本 开 始 时 是 否 是 被 再 播 种 的 (reseeded)。 一 般 而 言 ,<br />

不 再 播 种 是 比 较 好 的 , 因 为 一 个 长 的 假 随 机机 (pseudorandom) 序 列 比 起 许 多 的 短 的 要 更 真 实 。<br />

“ 种 子 ” 可 用 下 面 的 方 法 定 义 :<br />

●Unique and not reseeded―― 为 每 一 个 虚 拟 测 试 者 产 生 一 个 唯 一 的 “ 种 子 ”(seed) 和和 随 机机 数<br />

产 生 器 在 每 一 个 测 试 脚 本本 开 始 时 不 再 被 播 种 (reseeded)。 每 一 个 在 一 个 用 户 组 中 的 虚 拟 测 试<br />

者 的 表 现 ( 行 为 ) 有 细 微 的 不 同 。 在 性 能 测 试 中 , 这 是 最 普 通 的 使 用 选 项 。<br />

●Unique and reseeded―― 为 每 一 个 虚 拟 测 试 者 产 生 一 个 唯 一 的 “ 种 子 ”(seed) 和和 随 机机 数 产 生<br />

器 在 每 一 个 测 试 脚 本本 开 始 时 被 再 播 种 (reseeded)。 每 一 个 在 一 个 用 户 组 中 的 虚 拟 测 试 者 的 表<br />

现 ( 行 为 ) 有 细 微 的 不 同 , 但 是 该 数 字 是 在 每 一 个 测 试 脚 本本 开 始 时 被 再 播 种 的 。 该 选 项 对 于<br />

政 府 的 LTD(Live Test Demonstration) 测 试 是 很 有 效 的 。<br />

●Same and not reseeded―― 为 每 一 个 虚 拟 测 试 者 产 生 相 同 的 “ 种 子 ”(seed) 和和 随 机机 数 产 生 器<br />

在 每 一 个 测 试 脚 本本 开 始 时 不 再 被 “ 播 种 ”(reseeded)。 这 不 是 一 般 的 一 个 去 选 择 的 可 取 选 项 ,<br />

在 模 型 化化 一 个 现 实 的 工 作 量 时 , 因 为 执 行 相 同 测 试 脚 本本 的 每 一 个 虚 拟 测 试 者 是 以 相 同 的 方 法<br />

表 示 ( 行 为 )。 然 而 , 这 个 选 项 对 于 某某 种 压 力力 测 试 类 型 可 能 是 有 用 的 。<br />

●Same and reseeded―― 为 每 一 个 虚 拟 测 试 者 产 生 相 同 的 “ 种 子 ”(seed) 和和 随 机机 数 产 生 器 在 每<br />

一 个 测 试 脚 本本 开 始 时 被 再 “ 播 种 ”(reseeded)。 这 不 是 一 般 的 一 个 去 选 择 的 可 取 选 项 , 在 模<br />

型 化化 一 个 现 实 的 工 作 量 时 , 因 为 执 行 相 同 测 试 脚 本本 的 每 一 个 虚 拟 测 试 者 是 以 相 同 的 方 法 表 示<br />

( 行 为 ), 并 且 短 的 假 随 机机 (pseudorandom) 序 列 不 是 现 实 的 。<br />

然 而 , 该 选 项 对 于 某某 种 压 力力 测 试 类 型 可 能 是 有 用 的 。 例 如 , 如 果果 你 有 一 组 suite, 它 有 一 个 共<br />

享 的 数 据 池 , 并 且 它 的 seed 设 置 为 唯 一 的 和和 不 再 被 “ 播 种 ”, 每 个 虚 拟 测 试 者 和和 迭 代 有 一 个<br />

不 同 的 “seed”, 该 “seed” 通 过 所 有 的 虚 拟 测 试 者 和和 迭 代 给 予 随 机机 数 据 。 要 在 所 有 虚 拟 测 试<br />

者 获 得 相 同 的 数 据 模 式 (pattern) 时 反 复 的 查查 看 会 发 生 什 么 , 那 就 针 对 所 有 的 虚 拟 测 试 者 将 seed<br />

设 置 为 相 同 的 和和 再 播 种 的 。


51Testing 软 件 测 试 网<br />

要 变 更 随 机机 数 产 生 器 的 默 认 行 为 :<br />

● 打 开 一 组 suite, 然 后 点 击 Suite > Edit Settings。<br />

产 生 随 机机 数 的 VU 常 式 (routines) 是 NegExp,Rand, 以 及 Uniform。<br />

有 关 这 些 常 式 的 信 息 , 参 阅 VU Language Reference 或 Rational Test Script Services 手 册 。<br />

初 始 化化 共 享 变 量 (Initializing Shared Variables)<br />

TestManager 允 许 你 在 一 组 suite 中 初 始 化化 共 享 变 量 。 一 个 共 享 变 量 通 过 所 有 的 在 一 组 suite 中 的 测<br />

试 脚 本本 包包 含 了 它 的 值 。 每 个 虚 拟 测 试 者 可 以 获 取 和和 变 更 这 些 共 享 变 量 。<br />

要 初 始 化化 一 个 共 享 变 量 :<br />

● 打 开 一 组 suite, 然 后 点 击 Suite > Edit Shared Variables。<br />

在 下 面 的 情 况 下 , 共 享 变 量 是 有 用 的 :<br />

● 在 你 需 要 比 一 个 同 步 点 提 供 的 更 加 明 确 的 协 调 时 , 使 虚 拟 测 试 者 同 步 。 例 如 , 你 可 以 限 制 一<br />

个 事 务 处 理 以 使 每 次 只 有 5 个 虚 拟 测 试 者 执 行 它 。 在 那 种 情 况 下 , 使 用 一 个 共 享 变 量 通 过 合 适<br />

的 等 候 常 式 在 你 的 脚 本本 语 言 中 。<br />

● 从 执 行 中 阻 断 一 个 虚 拟 测 试 者 直 到到 一 个 全 局 事 件 发 生 。 设 置 一 个 事 件 和和 一 个 依 赖 比 设 置 一 个<br />

共 享 变 量 更 容 易 。 然 而 , 如 果果 该 事 件 依 赖 于 一 个 测 试 脚 本本 中 的 一 些 逻 辑 , 那 么 你 就 必 须 使 用<br />

一 个 共 享 变 量 。<br />

● 计 算 在 一 个 测 试 脚 本本 中 的 循 环 次 数 。 如 果果 你 要 为 一 个 完 整 的 测 试 脚 本本 设 置 一 次 循 环 , 那 么 在<br />

suite 中 设 置 一 个 选 择 器 或 一 个 迭 代 是 更 容 易 的 。 然 而 , 如 果果 仅 仅 是 测 试 脚 本本 的 一 部 分 循 环 的<br />

话 , 那 就 要 设 置 一 个 共 享 变 量 以 控 制 那 次 循 环 的 迭 代 的 数 量 了 。


51Testing 软 件 测 试 网<br />

● 监 控 特 定 事 务 处 理 的 计 数 和和 情 况 。 在 你 监 控 一 组 suite 时 , 共 享 变 量 提 供 有 关 一 组 suite 执 行<br />

的 过 程 和和 状 态 的 细 节 信 息 。<br />

你 声 明 (declare) 一 个 共 享 变 量 在 一 个 测 试 脚 本本 或 资 源 文 件 中 , 通 过 使 用 一 个 “shared“ 常 式 。<br />

有 关 该 常 式 的 信 息 , 参 阅 VU Language Reference 或 Rational Test Script Services 手 册 。<br />

你 初 始 化化 (initialize) 一 个 共 享 变 量 在 一 组 suite 中 。 这 是 可 选 择 的 ―― 默 认 值 为 0。 通 过 在 一 个<br />

测 试 脚 本本 中 的 逻 辑 或 在 你 监 控 该 suite 时 , 你 可 以 使 用 一 个 共 享 变 量 的 值 。<br />

打 印 和和 输 入 一 组 Suite(Printing and Exporting a Suite)<br />

设 计 一 组 suite 可 以 包包 含 许 多 的 迭 代 和和 变 更 。 你 可 能 它 帮 助 去 检 查查 一 组 suite 的 打 印 预 览 。 你 可 以<br />

打 印 一 组 suite 或 作 为 一 个 “.txt” 文 件 输 出 。<br />

要 打 印 一 组 suite:<br />

● 打 开 该 suite 以 打 印 , 然 后 点 击 File > Print。<br />

要 作 为 一 个 “.txt” 文 件 输 出 :<br />

● 打 开 该 suite 以 输 出 , 然 后 点 击 File > Export to File。<br />

保 存 一 组 Suite(Saving a Suite)<br />

你 完 成 了 一 组 suite 的 修 改 之 后 , 要 保 存 你 的 变 更 。 一 组 不 能 保 存 的 suite 在 标标 题 栏栏 中 有 一 个 星 号 。<br />

执 行 一 组 suite 自 动 地 执 行 一 次 保 存 。<br />

要 手 动 的 保 存 一 组 suite:<br />

打 开 该 suite 以 保 存 , 点 击 File > Save。<br />

要 保 存 一 个 以 上 的 suite:<br />

1 点 击 File > Open Suite 去 打 开 suites 以 保 存 。<br />

2 点 击 File > Save All。<br />

注 意 事 项 : 如 果果 你 点 击 Tools > Options, 点 击 Create Suite 标标 签 , 然 后 选 择 Check suite when<br />

saving 对 话 框 , 为 每 个 要 被 保 存 的 suite 有 一 个 检 验 屏 幕 出 现 。<br />

要 在 一 个 不 同 的 名 称 下 保 存 一 组 suite:<br />

打 开 该 suite 以 保 存 , 然 后 点 击 File > Save As。


51Testing 软 件 测 试 网<br />

5<br />

测 试 的 执 行 (Executing Tests)<br />

本本 章 描 述 如 何 执 行 测 试 。 它 包包 括 了 下 面 的 标标 题 内 容 :<br />

● 有 关 测 试 的 执 行<br />

● 对 于 执 行 测 试 脚 本本 的 内 置 支 持<br />

● 自 动 化化 测 试 脚 本本 的 执 行<br />

● 手 工 测 试 脚 本本 的 执 行<br />

● 测 试 用 例 的 执 行<br />

●Suites 的 执 行<br />

●Suites 的 监 控<br />

●Suites 的 停 止<br />

注 意 事 项 : 对 于 细 节 过 程 , 参 阅 TestMnaager 的 帮 助 。


51Testing 软 件 测 试 网<br />

有 关 测 试 的 执 行 (About Running Tests)<br />

执 行 你 的 测 试 脚 本本 的 活 动 主 要 是 执 行 每 个 测 试 用 例 的 实 施 , 以 此 去 验 证 (validate) 测 试 用 例 打<br />

算 验 证 的 特 定 行 为 。<br />

在 TestManager 中 , 你 可 以 执 行 :<br />

● 自 动 化化 的 测 试 脚 本本<br />

● 手 工 测 试 脚 本本<br />

● 测 试 测 试 用 例<br />

●Suites<br />

对 于 执 行 测 试 脚 本 的 内 置 支 持 (Built-in Support for Running<br />

Test Scripts)<br />

TestManager 提 供 对 于 下 面 的 测 试 脚 本本 类 型 执 行 的 内 置 支 持 :<br />

自 动动 化化 测 试 脚 本 的 执 行 (Running Automated Test Scripts)<br />

要 执 行 来来 自 TestManager 的 一 个 自 动 化化 的 测 试 脚 本本 :<br />

1 点 击 File > Run Test Script, 并 选 择 测 试 脚 本本 类 型 。<br />

2 选 择 该 测 试 脚 本本 以 执 行 并 点 击 OK 打 开 Run Script 对 话 框 。


51Testing 软 件 测 试 网<br />

当 你 点 击 OK 时 ,TestManager 可 在 测 试 机机 列 表 中 的 第 一 台 可 用 的 测 试 机机 上 执 行 测 试 脚 本本 。 在 测<br />

试 脚 本本 执 行 时 , 你 可 以 监 控 它 的 过 程 并 在 晚 些 时 候 查查 看 测 试 日 志 中 的 结 果果 。<br />

更 多 有 关 测 试 机机 和和 测 试 机机 列 表 的 信 息 , 参 阅 69 页 Defining Agent Computers 和和 Computer Lists 的 内<br />

容 。<br />

有 关 过 程 监 控 的 信 息 , 参 阅 103 页 Monitoring Suites 的 内 容 。<br />

有 关 测 试 日 志 的 信 息 , 参 阅 127 页 About Test Logs 的 内 容 。<br />

注 意 事 项 : 在 你 执 行 一 个 测 试 脚 本本 时 , 不 生 成 测 试 用 例 的 覆 盖 结 果果 。( 即 使 是 该 测 试 脚 本本 与 一<br />

个 测 试 用 例 相 关 联 )。 要 生 成 测 试 用 例 结 果果 , 那 就 执 行 测 试 用 例 而 非 测 试 脚 本本 。 有 关 信 息 , 参<br />

阅 90 页 的 Running Test Cases 内 容 。<br />

手 工 测 试 脚 本 的 执 行 (Running Manual Test Scripts)<br />

在 你 执 行 一 个 手 工 测 试 脚 本本 时 , 你 可 以 像 下 面 这 样 做 :<br />

● 可 任 选 地 , 设 置 一 个 执 行 选 项 去 登 陆 未 加 抑 制 的 步 骤 和和 验 证 点 作 为 警 告告 。( 在 Rational<br />

ManualTest 中 , 选 择 Tools > Options)。<br />

● 指 明 你 已 经 执 行 了 的 每 个 步 骤 。<br />

● 指 明 验 证 点 首 否 通 过 或 失 败 。<br />

注 意 事 项 : 有 关 创 建 手 工 测 试 脚 本本 的 信 息 , 参 阅 61 页 Creating Manual Test Scripts 的 内 容 。<br />

要 执 行 一 个 手 工 测 试 脚 本本 , 如 下 面 的 做 法 :<br />

● 在 TestManager 中 , 点 击 File > Run Test Script > Manual 并 选 择 一 个 测 试 脚 本本 。<br />

Rational ManualTest 打 开 。


51Testing 软 件 测 试 网<br />

● 在 Rational ManualTest 中 , 点 击 File > Run 并 选 择 一 个 测 试 脚 本本 。<br />

执 行 每 一 个 在 Run Manual Script 窗 口 中 列 举 的 步 骤 和和 验 证 点 :<br />

● 对 于 一 个 步 骤 , 选 择 Result 检 查查 对 话 框 以 指 明 你 已 经 执 行 了 的 步 骤 。<br />

● 对 于 一 个 验 证 点 , 点 击 Result 单 元 , 并 点 击 None,Pass, 或 Fail。<br />

例 子 (Example of Running a Manual Test Script)<br />

下 面 的 图 说 明 一 个 手 工 测 试 脚 本本 的 执 行 结 果果 。 在 该 手 工 测 试 脚 本本 执 行 时 , 第 一 个 验 证 点 是 失 败<br />

的 。Comment 的 图 标标 指 明 这 里 有 一 个 关 于 失 败 的 注 释 。 在 你 查查 看 测 试 日 志 时 , 你 将 能 够 看 到到 失<br />

败 和和 相 关 的 注 释 。<br />

在 你 执 行 了 一 个 手 工 测 试 脚 本本 之 后 , 你 可 以 查查 看 TestManager 中 测 试 日 志 中 的 结 果果 。<br />

For information about test logs, see About Test Logs on page 127.<br />

有 关 测 试 日 志 的 信 息 , 参 阅 127 页 About Test Logs 的 内 容 。<br />

测 试 用 例 的 执 行 (Running Test Cases)<br />

当 你 执 行 一 个 测 试 用 例 时 , 你 实 际 上 执 行 的 是 该 测 试 用 例 的 实 施 。 该 实 施 是 一 个 关 联 于 这 个 测<br />

试 用 例 的 一 个 测 试 脚 本本 或 suite。


51Testing 软 件 测 试 网<br />

查查 看 被 关 联 的 实 施 (Viewing the Associated Implementations)<br />

要 查查 看 或 变 更 关 联 于 一 个 测 试 用 例 的 实 施 :<br />

1 在 Test Plan 窗 口 中 , 右 键 点 击 一 个 测 试 用 例 , 然 后 点 击 Properties。<br />

2 点 击 Implementation 标标 签 。<br />

你 可 以 有 最 多 的 2 个 实 施 关 联 到到 一 个 测 试 脚 本本 中 : 一 个 手 工 的 , 一 个 自 动 的 。 在 你 执 行 测 试 脚 本本<br />

时 ,TestManager 将 执 行 那 个 自 动 化化 的 实 施 。<br />

注 意 事 项 : 如 果果 你 执 行 来来 自 于 Rational ManualTest Web Execution 组 件 的 一 个 测 试 用 例 , 那 么 将<br />

执 行 手 工 的 测 试 用 例 。 有 关 信 息 , 参 阅 351 页 About ManualTest Web Execution 的 内 容 。<br />

有 关 测 试 用 例 的 实 施 和和 实 施 关 联 的 信 息 , 参 阅 55 页 Implementing Tests 的 内 容 。<br />

执 行 一 个 测 试 用 例 (Running a Test Case)<br />

要 执 行 一 个 测 试 用 例 , 如 下 面 的 方 法 :<br />

● 点 击 File > Run Test Case。 选 择 测 试 用 例 以 执 行 并 点 击 OK。<br />

● 点 击 File > Run Test Cases for Iteration。 选 择 迭 代 并 点 击 OK。<br />

注 意 事 项 : 在 你 执 行 一 个 测 试 用 例 时 ,TestManager 一 个 临 时 的 suite 并 实 际 执 行 这 个 suite。 在 该<br />

suite 执 行 完 成 之 后 ,TestManager 会 移 除 它 。


51Testing 软 件 测 试 网<br />

When you click OK, TestManager runs the test case as follows:<br />

在 你 点 击 OK,TestManager 依 下 列 情 况 执 行 这 个 测 试 用 例 :<br />

● 如 果果 你 执 行 一 个 已 经 有 了 一 个 自 动 实 施 的 测 试 用 例 , 那 么 它 会 执 行 在 列 表 中 的 第 一 台 可 利 用<br />

的 测 试 机机 上 。<br />

一 个 配 置 的 测 试 用 例 将 只 能 在 与 该 测 试 用 例 的 配 置 完 全 匹 配 的 测 试 机机 上 执 行 。TestManager<br />

会 考 虑 该 测 试 机机 的 内 置 配 置 属 性 的 值 和和 该 测 试 机机 的 tmsconfig.csv 文 件 中 确 定 的 常 规 属 性 的 值 。<br />

( 有 关 tmsconfig.csv 文 件 的 信 息 , 参 阅 38 页 的 Setting Up Custom Attributes in tmsconfig.csv。)<br />

例 如 , 假 设 这 个 配 置 的 测 试 用 例 指 明 它 将 会 执 行 在 一 台 有 Windows 2000 的 测 试 机机 上 , 那 么<br />

TestManager 会 检 查查 每 个 在 Computers 列 表 中 的 测 试 机机 , 直 到到 它 找 到到 了 一 台 有 Windows 2000 的<br />

机机 子 , 然 后 在 这 台 测 试 机机 上 执 行 这 个 测 试 用 例 。 如 果果 在 这 个 列 表 中 没 有 与 该 配 置 匹 配 的 测 试<br />

机机 , 那 么 在 测 试 日 志 中 会 有 出 现 一 条条 消 息 。<br />

● 如 果果 你 执 行 一 个 已 经 有 了 一 个 手 工 实 施 而 非 自 动 实 施 的 测 试 用 例 , 那 么 Rational ManualTest<br />

会 启启 动 。 你 可 以 在 该 手 工 测 试 脚 本本 中 执 行 这 些 步 骤 和和 验 证 点 , 然 后 在 测 试 日 志 中 查查 看 结 果果 。<br />

有 关 信 息 , 参 阅 89 页 Running Manual Test Scripts 的 内 容 。<br />

忽 视 配 置 的 测 试 用 例 (Ignoring Configured Test Cases)<br />

如 果果 你 选 择 Run Test Cases 对 话 框 中 的 Ignore configured test cases 检 查查 框 , 那 么 TestManager<br />

将 忽 视 该 配 置 并 将 在 任 意 一 台 可 用 的 测 试 机机 上 执 行 该 测 试 用 例 。<br />

● 如 果果 选 择 的 测 试 用 例 已 有 配 置 的 测 试 用 例 和和 一 个 实 施 ( 例 如 , 一 个 测 试 脚 本本 或 suite), 那 么<br />

TestManager 会 在 任 意 一 台 可 用 的 测 试 机机 上 执 行 这 个 被 选 择 的 测 试 用 例 , 但 是 不 会 执 行 任 意 一<br />

个 配 置 了 的 测 试 用 例 。<br />

● 如 果果 选 择 的 测 试 用 例 已 有 配 置 了 的 测 试 用 例 但 无 一 个 实 施 , 那 么 TestManager 不 执 行 这 个 测 试<br />

用 例 或 任 意 一 个 配 置 了 的 测 试 用 例 。<br />

● 如 果果 是 一 个 单 独 的 已 配 置 测 试 用 例 被 选 择 , 那 么 TestManager 会 在 被 指 定 的 配 置 下 执 行 该 测 试<br />

用 例 。<br />

Suites 的 执 行 (Running Suites)<br />

执 行 一 组 suite 将 包包 含 下 面 的 步 骤 :<br />

● 检 查查 该 suite。


51Testing 软 件 测 试 网<br />

● 检 查查 代 理 (Agent) 测 试 机机 。<br />

● 控 制 该 suite 的 执 行 期 信 息 。<br />

● 控 制 如 何 终 止 该 suite。<br />

● 为 suite 的 执 行 确 定 虚 拟 测 试 者 和和 配 置 。<br />

● 终 止 该 suite。<br />

下 面 的 章 节 将 描 述 这 些 步 骤 。 有 关 创 建 一 个 功 能 测 试 suite 的 信 息 , 参 阅 165 页 Creating Functional<br />

Testing Suites 的 内 容 。 有 关 创 建 一 个 性 能 测 试 suite 的 信 息 , 参 阅 225 页 Designing Performance<br />

Testing Suites 的 内 容 。<br />

检 查查 一 组 Suite(Checking a Suite)<br />

当 你 工 作 在 一 组 suite 中 时 , 你 可 能 改 动 了 它 以 至 它 不 能 正 确 地 执 行 。<br />

例 如 , 你 可 能 在 一 组 suite 被 记 录 之 前前 插 入 了 一 个 测 试 脚 本本 到到 它 的 里 面 。 虽 然 TestManager 在 一 组<br />

suite 执 行 之 前前 会 自 动 地 对 它 进 行 检 查查 , 但 是 , 你 可 以 在 没 有 实 际 执 行 它 的 情 况 下 来来 检 查查 一 组<br />

suite。 这 可 以 帮 助 你 确 定 和和 纠 正 问 题 。<br />

要 检 查查 一 组 suite:<br />

1 点 击 File > Open Suite, 点 击 一 组 suite。<br />

2 点 击 Suite > Check Suite。<br />

TestManager 针 对 多 种 错 误 类 型 检 查查 一 组 suite, 包包 括 下 面 的 内 容 :<br />

● 该 suite 不 包包 含 任 意 用 户 或 测 试 机机 组 。 一 组 suite 必 须 有 至 少 一 个 用 户 或 测 试 机机 组 来来 执 行 。<br />

● 该 suite 包包 含 一 个 空 用 户 或 测 试 机机 组 。 不 是 删 除 该 用 户 就 是 测 试 机机 组 , 或 者 添 加 测 试 脚 本本 和和 其<br />

他 条条 目 到到 suite 中 。<br />

● 一 个 或 测 试 机机 组 包包 含 一 个 空 的 剧剧 本本 。 不 是 删 除 该 剧剧 本本 就 是 添 加 条条 目 到到 其 中 。<br />

● 该 suite 包包 含 一 个 空 的 选 择 器 。 不 是 删 除 这 个 选 择 器 就 是 添 加 属 性 到到 其 中 。<br />

● 一 个 在 该 suite 中 的 测 试 资 产 ( 测 试 机机 , 测 试 机机 列 表 , 测 试 脚 本本 ,suite, 或 测 试 用 例 ) 已 被<br />

删 除 。<br />

注 意 事 项 : 你 可 以 设 置 选 项 以 便 你 无 论 何 时 保 存 该 suite 时 , 它 都 会 自 动 地 被 检 查查 。 要 自 动 地 检<br />

查查 该 suite, 点 击 Tools > Options, 点 击 Create Suite 标标 签 , 并 选 择 Check suite when saving<br />

检 查查 对 话 框 。


51Testing 软 件 测 试 网<br />

检 查查 代 理 测 试 机机 (Checking Agent Computers)<br />

如 果果 你 在 代 理 测 试 机机 上 执 行 虚 拟 测 试 者 , 那 么 在 你 执 行 suite 之 前前 检 查查 代 理 是 个 好 主 意 。 用 这 个<br />

方 法 , 你 可 以 在 你 执 行 该 suite 之 前前 确 定 是 否 有 问 题 存 在 。<br />

在 你 检 查查 代 理 (Agent) 测 试 机机 时 ,TestManager 确 保 :<br />

● 对 于 虚 拟 测 试 者 确 定 的 所 有 代 理 测 试 机机 实 际 存 在 。<br />

例 如 , 如 果果 你 错 误 地 输 入 了 一 台 代 理 测 试 机机 的 名 称 , 那 么 TestManager 会 提 示 你 。<br />

● 该 代 理 测 试 机机 是 可 用 的 和和 运 行 的 。<br />

● 代 理 软 件 是 运 行 的 。<br />

TestManager 软 件 的 相 同 发 布 必 须 被 安 装 在 本本 地 和和 代 理 测 试 机机 上 。<br />

要 检 查查 代 理 测 试 机机 :<br />

1 点 击 File > Open Suite, 选 择 一 组 suite。<br />

2 点 击 Suite > Check Agents。<br />

TestManager 在 一 个 单 独 的 窗 口 内 显 示 代 理 测 试 机机 的 任 何 问 题 。<br />

控 制 一 组 suite 的 执 行 期 信 息 ( Controlling Runtime<br />

Information of a Suite)<br />

针 对 一 组 suite 设 置 执 行 期 的 设 置 :<br />

1 点 击 File > Open Suite, 选 择 一 组 suite。<br />

2 点 击 Suite > Edit Runtime。


51Testing 软 件 测 试 网<br />

通 过 对 执 行 期 设 置 的 修 改 , 你 可 以 控 制 :<br />

● 启启 动 组 的 信 息 (Start group information)――<br />

在 性 能 测 试 中 , 控 制 虚 拟 测 试 者 如 何 开 始 。<br />

●Suite<br />

通 过 标标 准 (Suite pass criteria)――<br />

针 对 一 组 suite 是 否 通 过 或 失 败 的 标标 准 。<br />

● 执 行 顺 序 (Execution order)―― 在 性 能 测 试 中 , 控 制 顺 序 以 确 定 哪哪 一 个 用 户 组 会 开 始 。<br />

● 时 间 信 息 (Time information)――<br />

控 制 suite 执 行 的 时 间 长 度 。<br />

● 种 子 (Seed<br />

Seed)―― 设 置 数 字 以 提 供 给 随 机机 数 字 产 生 器 。<br />

● 可 进 行 IP 别 名 判 断 (Enable IP aliasing)―― 在 VU HTTP 脚 本本 中 控 制 别 名 判 断 。<br />

启启 动 组 信 息 (Start Group Information)<br />

在 性 能 测 试 中 ,Start group information 控 制 虚 拟 测 试 者 如 何 开 始 。 虚 拟 测 试 者 或 一 次 全 部 启启<br />

动 或 在 组 内 启启 动 。<br />

要 避 免 一 个 服 务 器 超 负 载 , 在 一 个 组 内 启启 动 虚 拟 测 试 者 , 并 确 认 该 启启 动 组 中 虚 拟 测 试 者 的 数 量 。<br />

注 意 事 项 : 如 果果 你 在 组 内 启启 动 虚 拟 测 试 者 , 那 么 你 也 应 该 对 于 该 组 确 认 开 始 的 脚 本本 数 量 。<br />

这 样 做 , 点 击 Suite > Edit Settings, 修 改 Start scripts 对 话 框 。<br />

Suite 通 过 标标 准 (Suite Pass Criteria)<br />

Suite pass criteria 控 制 一 组 suite 是 否 通 过 或 失 败 。 选 择 下 面 的 一 个 :<br />

●Suite<br />

执 行 到到 完 成 (Suite ran to completion)――<br />

――Suite 在 执 行 中 没 有 手 工 终 止 的 情 况 下 必<br />

须 执 行 到到 完 成 为 止 。


51Testing 软 件 测 试 网<br />

● 所 有 的 suite 条条 目 都 执 行 (All suite items executed)―― 所 有 在 suite 中 的 条条 目 都 必 须 完 成<br />

它 们 的 分 配 工 作 。<br />

● 所 有 的 测 试 脚 本本 都 通 过 (All test scripts passed)――<br />

无 失 败 事 件 , 无 超 时 指 令 。<br />

● 所 有 的 测 试 用 例 都 执 行 (All test cases executed)――<br />

在 suite 中 的 所 有 测 试 用 例 必 须 完 成<br />

他 们 全 部 的 分 配 工 作 。<br />

● 所 有 的 测 试 用 例 都 通 过 (All test cases passed)――<br />

所 有 的 测 试 用 例 都 通 过 , 它 的 意 思 是<br />

说 应 用 程 序 的 测 试 符 合 给 定 测 试 用 例 的 测 试 目 标标 。<br />

如 果果 不 符 合 标标 准 ,Test Log 窗 口 列 举 的 Suite Start 和和 Suite End 事 件 为 “ 失 败 ”。<br />

执 行 顺 序 (Execution Order)<br />

在 性 能 测 试 中 , 执 行 的 顺 序 定 义 哪哪 个 虚 拟 测 试 者 开 始 的 顺 序 , 如 果果 你 执 行 的 虚 拟 测 试 者 少 于 被 定<br />

义 的 最 大 数 量 , 那 么 你 可 以 决 定 哪哪 个 用 户 组 可 被 执 行 。<br />

选 择 下 面 的 其 中 之 一 :<br />

● 连 续 的 (Sequential)―― 以 一 个 连 续 的 顺 序 执 行 的 Suites 可 运 行 每 一 个 在 该 suite 中 出 现 的<br />

虚 拟 测 试 者 ( 从 顶 部 到到 低 端 )。<br />

● 均 衡 的 (Balanced)――<br />

以 一 个 均 衡 的 顺 序 执 行 的 Suites 均 匀匀 地 分 布 与 该 suite 成 比 例 的 用 户<br />

组 之 间 的 执 行 。<br />

● 执 行 固 定 的 用 户 先 (Run fixed users first)――<br />

在 可 按 比 例 增 减 用 户 组 前前 执 行 固 定 的 用 户<br />

组 , 不 考 虑 执 行 顺 序 。 如 果果 你 的 用 户 组 是 全 部 固 定 不 变 的 , 那 这 个 选 项 就 没 有 作 用 。<br />

假 定 你 已 经 定 义 了 四 个 总 数 有 101 个 虚 拟 测 试 者 的 用 户 组 , 你 的 suite 在 此 顺 序 中 包包 含 它 们 :<br />

●End of Month Accounting:1 个 虚 拟 测 试 者<br />

●Accounting:20 个 虚 拟 测 试 者<br />

●Data Entry:30 个 虚 拟 测 试 者<br />

●Sales:50 个 虚 拟 测 试 者<br />

虽 然 你 的 suite 包包 含 101 个 虚 拟 测 试 者 , 但 你 要 执 行 它 的 话 , 只 能 仅 仅 有 10 个 虚 拟 测 试 者 。<br />

下 面 的 表 罗 列 了 执 行 的 顺 序 如 何 影 响响 用 户 的 执 行 :


51Testing 软 件 测 试 网<br />

● 常 规 的 ―― 以 一 个 常 规 的 顺 序 执 行 的 suites 需 要 你 去 选 择 特 定 的 用 户 组 或 虚 拟 测 试 者 来来 执<br />

行 。 只 能 对 固 定 不 变 的 用 户 组 实 施 一 个 常 规 的 执 行 顺 序 。<br />

以 一 个 常 规 的 顺 序 执 行 用 户 组 对 于 错 误 命命 中 (troubleshooting) 是 有 利 的 。 例 如 , 如 果果 一 个 测 试<br />

脚 本本 不 工 作 , 并 且 这 个 测 试 脚 本本 仅 仅 通 过 Accounting 组 被 使 用 , 那 么 就 只 能 执 行 这 个 组 了 。<br />

要 创 建 一 个 常 规 的 执 行 顺 序 , 点 击 Runtime Settings 对 话 框 中 的 Define。<br />

你 也 可 以 暂 时 地 禁 用 一 个 固 定 不 变 的 用 户 组 , 通 过 对 它 的 选 择 , 然 后 点 击 Edit > Run<br />

Properties, 设 置 User Count 到到 0。<br />

你 可 以 先 执 行 固 定 不 变 的 虚 拟 测 试 者 , 从 而 在 可 按 比 例 增 减 用 户 组 之 前前 执 行 固 定 不 变 的 用 户 组 ,<br />

不 考 虑 执 行 顺 序 。 如 果果 你 的 用 户 组 是 全 部 固 定 不 变 的 , 那 这 个 选 项 就 没 有 作 用 。<br />

时 间 信 息 (Time Information)<br />

这 个 选 项 控 制 诸 如 下 面 的 时 间 信 息 :<br />

● 执 行 应 当 获 得 的 最 大 时 间 数 量 。 一 个 0 值 的 开 始 增 加 无 时 间 限 制 。<br />

● 对 于 所 有 虚 拟 测 试 者 的 最 大 秒 数 来来 确 认 它 们 完 成 的 初 始 设 定 。 如 果果 你 已 经 改 变 了 测 试 脚 本本 的<br />

开 始 数 量 , 那 么 就 确 认 你 设 置 该 时 间 的 足 够 的 高 度 。<br />

● 防 止 时 间 的 延 迟 , 从 而 很 快 速 地 执 行 该 suite。 如 果果 是 测 试 一 组 suite 来来 查查 看 它 的 执 行 是 否<br />

正 确 , 并 且 你 对 时 间 的 延 迟 不 感 兴 趣 , 那 么 这 个 选 项 是 有 利 的 。 然 而 , 这 需 要 在 服 务 器 、 本本<br />

地 机机 和和 代 理 测 试 机机 上 创 建 一 个 最 大 工 作 量 。<br />

如 果果 你 是 执 行 大 量 的 虚 拟 测 试 者 , 那 么 就 不 要 防 止 时 间 的 延 迟 。<br />

● 为 每 个 测 试 脚 本本 初 始 化化 时 间 标标 志 , 这 些 脚 本本 指 明 时 间 标标 志 是 否 结 束束 从 一 个 脚 本本 到到 一 个 脚 本本 的<br />

携 带 , 或 者 是 随 每 个 脚 本本 重 新 初 始 化化 。


51Testing 软 件 测 试 网<br />

Seed<br />

该 选 项 设 置 数 字 以 提 供 给 随 机机 数 字 产 生 器 。<br />

TestManager 使 用 一 个 被 说 明 的 seed 来来 为 选 择 器 产 生 随 机机 数 字 并 在 数 据 池 中 共 享 入 口 。<br />

IP 别 名 判 断 (IP Aliasing)<br />

在 VU 测 试 脚 本本 中 使 用 HTTP 协 议 , 该 选 项 设 置 是 否 使 用 IP 别 名 判 断 。<br />

IP 别 名 判 断 需 要 每 个 虚 拟 测 试 者 有 一 个 不 同 来来 源 的 IP 地 址 。 这 是 有 意 义 的 , 如 果果 你 只 是 在 执 行<br />

HTTP 的 测 试 脚 本本 , 和和 你 的 系 统 管 理 员员 已 经 设 置 了 你 的 测 试 机机 使 用 IP 别 名 判 断 。<br />

有 关 设 置 IP 别 名 判 断 的 信 息 , 参 阅 331 页 Configuring Local and Agent Computers 的 内 容 。<br />

对 如 何 终 止 一 组 suite 的 控 制 ( Controlling How a Suite<br />

Terminates)<br />

你 可 以 设 置 状 态 强 制 一 组 suite 以 停 止 执 行 。 例 如 , 如 果果 大 量 的 虚 拟 测 试 者 是 不 规 则 地 完 成 , 那<br />

么 你 可 能 要 停 止 一 组 suite, 指 明 在 运 行 时 出 现 的 错 误 。<br />

要 对 如 何 终 止 一 组 suite 进 行 控 制 :<br />

1 点 击 File > Open Suite, 并 选 择 一 组 suite。<br />

2 点 击 Suite > Edit Termination。


51Testing 软 件 测 试 网<br />

一 组 suite 的 执 行 (Running a Suite)<br />

在 你 执 行 一 组 suite 时 , 你 提 供 运 行 期 - 特 定 (runtime-specific) 指 南 。 每 个 执 行 分 派 给 它 的 suite<br />

条条 目 的 虚 拟 测 试 者 在 这 些 指 南 的 范 围 中 执 行 。<br />

TestManager 在 执 行 和和 编 译 任 何 不 编 译 或 过 期 的 测 试 脚 本本 之 前前 检 查查 该 suite。<br />

TetsManager 保 存 suite 的 执 行 结 果果 到到 测 试 日 志 中 。 在 你 执 行 该 suite 之 后 , 执 行 报 告告 来来 分 析析 保 存 在<br />

这 些 日 志 中 的 数 据 。 你 可 以 用 曲 线 图 表 和和 图 解 的 形 式 来来 展 现 这 些 信 息 , 或 是 以 更 常 规 的 报 告告 的<br />

形 式 。<br />

当 你 执 行 一 组 suite 时 , 你 说 明 :<br />

● 虚 拟 测 试 者 的 数 量 , 如 果果 你 是 执 行 一 组 性 能 测 试 的 suite 的 话 。<br />

如 果果 一 组 suite 既 包包 含 固 定 不 变 的 又 包包 含 可 按 比 例 增 减 的 用 户 组 , 那 么 固 定 不 变 的 用 户 组 是 首<br />

先 被 分 配 的 。 如 此 , 举 例 来来 说 , 如 果果 你 的 suite 包包 含 一 个 固 定 分 配 了 10 个 虚 拟 测 试 者 的 用 户 组 ,<br />

并 且 你 要 执 行 100 个 虚 拟 测 试 者 , 那 么 这 10 个 虚 拟 测 试 者 被 分 配 到到 这 个 固 定 不 变 的 用 户 组 中 ,<br />

剩 下 的 那 90 个 虚 拟 测 试 者 被 分 布 在 可 按 比 例 增 减 的 用 户 组 之 间 。<br />

注 意 事 项 : 可 用 的 虚 拟 测 试 者 的 数 量 依 赖 于 你 所 拥 有 的 许 可 的 类 型 。 如 果果 你 的 许 可 不 能 支 持<br />

你 说 明 的 虚 拟 测 试 者 的 数 量 , 你 可 以 查查 看 错 误 信 息 。<br />

● 测 试 机机 的 数 量 , 以 执 行 suite 的 和和 可 用 测 试 机机 的 列 表 中 的 测 试 机机 数 量 。<br />

如 果果 你 是 执 行 一 组 功 能 测 试 的 suite 并 且 没 有 指 明 资 源 的 话 。<br />

● 日 志 信 息 , 包包 括 build 数 量 , 日 志 文 件 夹 , 和和 日 志 文 件 名 。<br />

通 过 默 认 方 式 , 日 志 文 件 夹 的 名 称 是 基 于 suite 的 , 日 志 名 称 是 基 于 虚 拟 测 试 者 数 量 和和 你 已 经<br />

执 行 suite 的 次 数 的 。 例 如 , 如 果果 你 执 行 了 实 例 suite3 次 , 分 别 包包 含 了 10 虚 拟 测 试 者 ,15 个 虚<br />

拟 测 试 者 , 和和 20 个 虚 拟 测 试 者 , 那 么 全 部 的 三 个 测 试 日 志 将 被 放 在 这 个 实 例 suite 中 。 而 这 些<br />

日 志 名 称 将 会 是 Users 10 #01,Users 15 #02, 和和 Users 20 #03。 因 此 , 日 志 名 Users 20 #03 指 明<br />

了 这 已 经 是 你 第 三 次 执 行 该 suite, 而 且 这 个 suite 执 行 时 包包 含 了 20 和和 虚 拟 测 试 者 。<br />

你 可 以 在 Options 对 话 框 的 Run 标标 签 中 更 改 这 些 设 置 。 更 多 信 息 , 参 阅 TestManager 的 帮 助 。<br />

● 资 源 监 控 。<br />

在 你 监 控 一 组 suite 时 ,TestManager 记 录 测 试 机机 资 源 是 如 何 被 利 用 的 , 并 且 在 你 分 析析 你 的 结<br />

果果 时 , 用 图 表 表 示 覆 盖 于 对 应 虚 拟 测 试 者 的 响响 应 时 间 的 这 些 使 用 数 据 。 指 定 监 控 视 点 的 时 间<br />

间 隔 被 更 新 ; 更 低 的 时 间 间 隔 , 更 快 的 更 新 。<br />

● 是 否 要 忽 略 关 联 的 配 置 。


51Testing 软 件 测 试 网<br />

选 择 Ignore configurations for test cases 检 查查 框 以 使 TestManager 忽 略 配 置 并 在 任 意 可 用<br />

的 测 试 机机 上 执 行 该 测 试 用 例 。<br />

TestManager 有 三 种 执 行 测 试 用 例 的 方 法 , 如 果果 这 个 选 项 被 选 择 的 话 :<br />

□ 如 果果 被 选 择 的 测 试 用 例 有 配 置 的 测 试 用 例 和和 一 个 实 施 ( 例 如 , 一 个 测 试 脚 本本 或 suite),<br />

那 么 TestManager 会 在 任 意 可 用 的 测 试 机机 上 执 行 被 这 个 选 择 的 测 试 用 例 , 但 是 不 能 执 行 任<br />

意 的 配 置 测 试 用 例 。<br />

□ 如 果果 被 选 择 的 测 试 用 例 有 配 置 的 测 试 用 例 但 无 一 个 实 施 , 那 么 TestManager 不 能 执 行 该 测<br />

试 用 例 或 任 意 的 配 置 测 试 用 例 。<br />

□ 如 果果 一 个 单 独 的 配 置 测 试 用 例 被 选 择 , 那 么 TestManager 会 在 指 定 的 配 置 下 执 行 该 测 试 用<br />

例 。<br />

从 TestManager 中 执 行 一 组 suite(Running a Suite from<br />

TestManager)<br />

从 TestManager 中 执 行 一 组 suite:<br />

点 击 File > Run Suite。<br />

TestManager 的 该 对 话 框 显 示 的 , 依 赖 于 你 执 行 的 suite 的 类 型 。<br />

如 果果 你 是 执 行 一 组 性 能 测 试 suite, 那 么 你 必 须 指 定 虚 拟 测 试 者 的 数 量 来来 执 行 。


51Testing 软 件 测 试 网<br />

如 果果 你 是 执 行 一 组 功 能 测 试 suite, 而 且 你 没 有 指 定 测 试 机机 资 源 , 那 么 你 就 必 须 要 指 定 执 行 该 suite<br />

的 测 试 机机 。<br />

从 Command Line 中 执 行 一 组 suite(Running a Suite from the<br />

Command Line)<br />

你 可 以 从 command line 中 或 以 批 处 理 的 模 式 执 行 一 组 suite。 例 如 , 如 果果 你 有 长 时 间 执 行 的 一 组<br />

suite, 或 者 你 要 一 次 执 行 几 组 suites, 那 么 你 可 以 排 定 它 们 在 任 何 时 候 以 方 便 的 批 处 理 方 式 来来 执<br />

行 。 在 你 从 command line 执 行 一 组 suite 时 ,TestManager 应 用 程 序 打 开 , 执 行 这 个 suite, 并 可 选<br />

择 地 , 关 闭 。<br />

The following syntax shows how to run a suite from the command line:<br />

下 面 的 语 法 展 示 如 何 从 command line 执 行 一 组 suite:<br />

(rtmanager.exe suitename /runsuite /user userid [/password password]<br />

/project .rsp path [/computers [Local];<br />

[computer 1; computer 2; ... computer n]<br />

[/computerlists computerlists] /build buildname<br />

/logfolder logfoldername /log logname [/overwritelog] [/numusers nnn]<br />

[/ignoreconfiguredtestcases] [/close])<br />

rtmanager.exe suitename /runsuite /user 用 户 ID[/password 密 码 ]<br />

/project .rsp 路 径 [/computers [Local];<br />

[ 测 试 机机 1; 测 试 机机 2;... 测 试 机机 n]<br />

[/computerlists 测 试 机机 列 表 ] /build build 名 称 /logfolder 日 志 文 件 夹 名 称 /log<br />

日 志 名 称 [/overwritelog] [/numusers 数 量 ][/ ignoreconfiguredtestcases]<br />

[/close]<br />

If an argument contains spaces, enclose it in quotation marks.<br />

如 果果 一 个 argumengt 中 包包 含 空 格 , 封 装 它 到到 引 用 标标 志 中 。


51Testing 软 件 测 试 网<br />

语 法 元 素<br />

suitename<br />

/runsuite<br />

说 明 ( 描 述 )<br />

要 执 行 的 suite 的 名 称<br />

以 suitename 为 参 考 执 行 suite


51Testing 软 件 测 试 网<br />

user userID<br />

password password<br />

登 陆 TestManager 的 用 户 名<br />

登 陆 TestManager 的 一 个 可 选 密 码 。 如 果果 没 有 密 码 则<br />

不 用 该 选 项 。<br />

/project .rsp path 到到 项 目 的 .rsp 文 件 的 完 整 路 径 。<br />

[/computers[Local];[computer<br />

1; computer 2; ... computer n]<br />

在 执 行 suite 时 使 用 的 测 试 机机 的 名 称 。Local<br />

是 运 行<br />

TestManager 的 测 试 机机 。 如 果果 被 指 定 的 suite 已 说 明<br />

了 执 行 它 的 测 试 机机 , 那 该 选 项 可 被 忽 略 。 如 果果 被 指 定<br />

的 suite 未 说 明 执 行 它 的 测 试 机机 或 测 试 机机 列 表 , 那 么<br />

该 选 项 是 必 需 的 。<br />

[/computerslist;[computerlist<br />

1; computerlist 2; ... computerlist n]<br />

/logfolder logfoldername<br />

/build buildname<br />

在 执 行 suite 时 使 用 的 测 试 机机 列 表 。 如 果果 被 指 定 的<br />

suite 已 说 明 了 执 行 它 的 测 试 机机 , 或 者 被 指 定 的 测 试<br />

机机 已 在 /computers 选 项 中 , 那 该 选 项 可 被 忽 略 。<br />

创 建 测 试 日 志 的 日 志 文 件 夹 名 称 。 如 果果 日 志 文 件 夹 不<br />

存 在 ,TestManager 将 创 建 它 。<br />

以 创 建 日 志 文 件 夹 的 build。 如 果果 被 指 定 的 build 不<br />

存 在 ,TestManager 将 创 建 它 。<br />

/log logname<br />

/overwritelog<br />

以 记 录 suite 执 行 结 果果 的 测 试 日 志 的 名 称 。 如 果果 该 日<br />

志 已 存 在 , 那 么 你 必 须 指 定 /overwritelog 选 项 。<br />

如 果果 该 测 试 日 志 已 存 在 则 覆 盖 它 。 如 果果 你 遗 漏 该 选 项<br />

并 且 日 志 已 存 在 , 那 么 会 有 消 息 提 示 说 日 志 存 在 和和 不<br />

/ignoreconfiguredtestcases<br />

能 被 覆 盖 。<br />

忽 略 配 置 匹 配 ( 诸 如 测 试 用 例 , 指 定 了 它 含 有 的 操 作<br />

系 统 或 其 他 属 性 的 测 试 机机 ) 当 执 行 在 被 指 定 的 suite<br />

中 的 测 试 用 例 时 。<br />

/numusers nnn 执 行 包包 含 用 户 组 的 suite 时 , 虚 拟 用 户 的 目 标标 数 量 。<br />

/close<br />

这 对 于 性 能 测 试 suites 的 执 行 是 强 制 的 。<br />

执 行 suite 之 后 关 闭 TestManager。<br />

例 子 (Example)<br />

这 个 例 子 执 行 的 suite 命命 名 为 MySuite。


51Testing 软 件 测 试 网<br />

rtmanager.exe MySuite /runsuite /user admin /project "C:\Sample<br />

Project\Sample.rsp" /computers Local /build "Build 1" /logfolder<br />

Default /log Sample /close<br />

在 这 个 例 子 中 ,TestManager 登 陆 到到 项 目 C:\Sample Project\Sample.rsp 作 为 虚 拟 测 试 者 admin 和和 在<br />

本本 地 测 试 机机 上 执 行 MySuite。 执 行 MySuite 的 结 果果 被 保 存 在 测 试 日 志 Sample 中 , 它 在 build Build 1<br />

中 的 日 志 文 件 夹 Default 中 被 创 建 的 。 在 此 次 执 行 完 成 后 ,TestManager 关 闭 。<br />

要 使 得 suite 执 行 的 结 果果 保 持 在 屏 幕 上 , 忽 略 /close 选 项 。 该 结 果果 也 会 出 现 在 默 认 的 记 录 中 。<br />

Suites 的 监 控 (Monitoring Suites)<br />

当 一 组 suite 正 在 执 行 时 , 你 可 以 监 控 它 的 进 展 。 你 可 以 :<br />

● 确 认 一 组 suite 正 在 成 功 地 进 行 。<br />

● 在 执 行 时 尽 早 地 发 现 潜 在 的 问 题 , 因 此 有 必 要 的 话 , 你 可 以 干 预 。<br />

● 挂 起 和和 重 起 虚 拟 测 试 者 。<br />

● 更 改 共 享 变 量 的 值 。<br />

● 在 同 步 点 上 释 放 虚 拟 测 试 者 等 待 。<br />

TestManager 的 监 控 工 具 提 供 给 你 最 新 的 信 息 , 该 信 息 在 suite 执 行 时 动 态 地 更 新 。<br />

该 信 息 包包 括 :<br />

● 已 成 功 执 行 的 命命 令 数 量 和和 失 败 的 命命 令 数 量 。<br />

● 虚 拟 测 试 者 的 一 般 状 态 : 是 否 初 始 化化 , 连 接 到到 一 个 数 据 库 , 存 在 suite, 或 执 行 其 他 的 任 务 。<br />

● 是 否 有 任 意 的 虚 拟 测 试 者 不 正 常 地 终 止 。<br />

注 意 事 项 : 本本 节 的 重 点 在 于 对 suite 执 行 的 监 控 。 然 而 , 你 也 可 以 用 同 样 的 方 法 监 控 测 试 用 例 和和<br />

测 试 脚 本本 的 执 行 。<br />

Progress 栏栏 和和 默 认 视 图 (The Progress Bar and the Default<br />

Views)<br />

当 你 执 行 一 组 suite 时 ,TestManager 在 一 个 Progress 栏栏 中 和和 视 图 来来 显 示 监 控 信 息 。Progress 栏栏 给 你<br />

一 个 执 行 状 态 的 快 速 摘 要 并 且 不 能 被 变 更 。 你 可 以 改 变 视 图 (views), 然 而 , 要 提 供 关 于 每 个<br />

虚 拟 测 试 者 的 摘 要 信 息 和和 细 节 信 息 。<br />

下 图 展 示 了 Progress 栏栏 和和 默 认 视 图 :


51Testing 软 件 测 试 网<br />

通 过 Progress 栏栏 , 你 可 以 快 速 地 评 估 suite 如 何 成 功 地 执 行 。<br />

Progress 栏栏 提 供 以 下 信 息 :<br />

● 测 试 者 (Testers)―― 执 行 中 的 虚 拟 测 试 者 的 全 部 数 量 。<br />

● 活 动 (Active)―― 既 不 是 挂 起 也 不 是 终 止 的 虚 拟 测 试 者 的 数 量 。<br />

● 挂 起 (Suspended)――<br />

处 于 暂 停 状 态 中 的 虚 拟 测 试 者 的 数 量 。<br />

● 终 止 : 正 常 的 (Terminated: Normal)――<br />

成 功 地 完 成 它 们 的 任 务 的 虚 拟 测 试 者 的 数 量 。<br />

● 终 止 : 反 常 的 (Terminated: Normal)――<br />

未 完 成 它 们 被 指 派 任 务 时 的 终 止 状 态 的 虚 拟 测 试<br />

者 的 数 量 。<br />

● 执 行 时 间 (Time in Run)――<br />

――suite 已 经 执 行 的 时 间 , 表 示 为 小 时 : 分 钟 : 秒 。<br />

● 完 成 率 (% Done)――<br />

――suite 已 经 完 成 的 近 似 百 分 率 。<br />

TestManager 也 展 现 suite 执 行 的 三 种 视 图 :<br />

●Suite<br />

Suite――<br />

总 视 图 ( Overall view), 展 现 有 关 虚 拟 测 试 者 的 状 态 的 一 般 信 息 。 更 多 信 息 ,<br />

参 阅 105 页 Displaying the Suite Views 的 内 容 。<br />

● 状 态 直 条条 图 (State Histogram)――<br />

标标 准 (Standard), 是 一 种 直 条条 图 , 它 提 供 虚 拟 测 试<br />

者 正 在 执 行 的 任 务 的 一 般 信 息 。 例 如 , 一 些 虚 拟 测 试 者 可 能 正 在 初 始 化化 , 一 些 虚 拟 测 试 者 可<br />

能 正 在 运 行 代 码 , 还 有 一 些 虚 拟 测 试 者 可 能 在 连 接 数 据 库 。 该 图 表 展 现 了 在 每 种 状 态 下 的 虚<br />

拟 测 试 者 的 数 量 。<br />

TetsManager 展 现 状 态 直 条条 图 -- 默 认 为 标标 准 。 然 而 , 如 果果 你 正 在 执 行 GUI 测 试 脚 本本 , 或 是


51Testing 软 件 测 试 网<br />

正 在 测 试 一 个 SQL 数 据 库 或 一 个 Web 服 务 器 , 你 可 以 展 现 一 个 直 条条 图 逐 一 地 连 接 起 那 些 测 试 。<br />

更 多 信 息 , 参 阅 107 页 Displaying the State Histograms 的 内 容 。<br />

● 用 户 视 图 (User View)― 紧 凑 的 (Compact),<br />

或 测 试 机机 视 图 (Computer View)― 紧 凑<br />

的 (Compact), 展 现 虚 拟 测 试 者 的 当 前前 状 态 的 信 息 。 在 该 视 图 中 , 你 可 以 点 击 一 个 特 定 的<br />

虚 拟 测 试 者 来来 展 现 它 的 附 加 信 息 或 控 制 它 的 操 作 。 更 多 信 息 , 参 阅 109 页 Displaying the User<br />

and Computer Views 的 内 容 。<br />

Suite 视 图 的 展 现 (Displaying the Suite Views)<br />

Suite 视 图 非 常 类 似 于 你 已 经 设 计 的 实 际 的 suite。“ 栏栏 (Columns)” 表 示 给 你 被 执 行 的 迭 代 和和<br />

一 个 测 试 脚 本本 中 的 当 前前 组 或 一 个 选 择 器 中 的 虚 拟 测 试 者 百 分 率 。<br />

●Suite - 总 图 (Overall)――<br />

使 用 该 视 图 以 展 现 有 关 suite 状 态 的 一 般 信 息 。TestManager<br />

在 你 执 行 一 组 suite 时 通 过 默 认 方 式 展 现 该 视 图 。<br />

●Suite - 用 户 (Users) or Suite - 测 试 机机 (Computers)――<br />

使 用 该 视 图 以 展 现 一 个 特 定<br />

的 虚 拟 测 试 者 的 确 切 的 suite 进 展 。<br />

Suite――<br />

总 视 图 (The Suite - Overall View)<br />

要 展 现 suite- 总 视 图 :<br />

● 在 suite 执 行 期 间 , 点 击 Monitor > Suite > Overall。


51Testing 软 件 测 试 网<br />

Suite- 总 视 图 是 相 似 于 你 已 经 设 计 的 实 际 的 suite。<br />

然 而 , 它 包包 含 了 两 个 附 加 栏栏 (columns):<br />

Iteration 栏栏 表 示 在 suite 条条 目 中 和和 进 展 中 有 多 少 的 迭 代 , 平 均 覆 盖 当 前前 执 行 的 那 个 suite 条条 目 的 所<br />

有 虚 拟 测 试 者 。<br />

例 如 ,8/20 指 明 了 , 对 于 当 前前 执 行 的 那 个 suite 条条 目 的 所 有 虚 拟 测 试 者 , 一 般 说 来来 , 虚 拟 测 试 者<br />

正 在 执 行 全 部 20 个 中 的 第 八 个 迭 代 。<br />

Users Inside 栏栏 表 示 当 前前 执 行 suite 的 每 个 部 分 的 虚 拟 测 试 者 的 百 分 率 。 该 百 分 率 贴 近 用 户 组 表<br />

示 全 部 虚 拟 测 试 者 的 百 分 率 , 这 些 虚 拟 测 试 者 已 经 被 指 派 到到 该 组 并 且 还 没 有 退 出 suite。 该 百 分<br />

率 贴 近 一 个 用 户 组 内 的 条条 目 表 示 执 行 那 个 条条 目 的 组 内 的 虚 拟 测 试 者 的 百 分 率 。<br />

例 如 , 如 果果 Sales 用 户 组 包包 含 全 部 虚 拟 测 试 者 的 百 分 之 50, 那 么 对 于 这 个 组 在 Users Inside 栏栏 中 为<br />

50%。 如 果果 在 该 Sales 组 中 的 所 有 虚 拟 测 试 者 正 在 执 行 Read Record 测 试 脚 本本 , 那 么 对 于 这 个 测 试<br />

脚 本本 在 Users Inside 栏栏 中 为 100%。


51Testing 软 件 测 试 网<br />

用 户 和和 测 试 机机 视 图 (The Suite - Users and Suite - Computers<br />

Views)<br />

要 展 现 suite- 用 户 或 suite- 测 试 机机 视 图 :<br />

● 在 suite 执 行 期 间 , 点 击 Monitor > Suite > Users 来来 展 现 一 个 suite- 用 户 视 图 。<br />

点 击 Monitor > Suite > Computers 来来 展 现 一 个 suite- 测 试 机机 视 图 。<br />

在 该 视 图 中 的 各 栏栏 的 有 关 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 Suite - Users or Suite - Computers。<br />

状 态 直 条条 图 的 展 现 (Displaying the State Histograms)<br />

状 态 直 条条 图 分 类 虚 拟 测 试 者 到到 不 同 的 状 态 中 去 , 诸 如 退 出 和和 初 始 化化 。 使 用 一 个 直 条条 图 来来 展 现 在<br />

每 种 状 态 中 分 布 的 虚 拟 测 试 者 的 数 量 。<br />

要 展 现 一 个 状 态 直 条条 图 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Histogram, 并 选 择 期 望 的 直 条条 图 。<br />

状 态 直 条条 图 是 :<br />

● 标标 准 (Standard)――<br />

数 据 以 一 般 的 方 式 被 分 类 聚 集 。 如 果果 你 要 虚 拟 测 试 者 状 态 的 一 个 一 般<br />

的 总 视 图 , 那 你 就 选 择 该 视 图 。 该 视 图 中 各 栏栏 的 有 关 信 息 , 参 阅 TestManager 帮 助 索 引 中 的<br />

State Histogram - Standard。<br />

●GUI――<br />

针 对 执 行 GUI 测 试 脚 本本 的 测 试 , 数 据 适 当 地 被 分 类 聚 集 。 该 视 图 中 各 栏栏 的 有 关 信 息 ,<br />

参 TestManager 帮 助 索 引 中 的 State Histogram - GUI。<br />

●SQL――<br />

针 对 存 取 SQL 数 据 库 的 测 试 , 数 据 适 当 地 被 分 类 聚 集 。 该 视 图 中 各 栏栏 的 有 关 信 息 ,<br />

参 TestManager 帮 助 索 引 中 的 State Histogram - SQL。


51Testing 软 件 测 试 网<br />

●HTTP――<br />

针 对 存 取 Web 服 务 器 的 测 试 , 数 据 适 当 地 被 分 类 聚 集 。 该 视 图 中 各 栏栏 的 有 关 信 息 ,<br />

参 TestManager 帮 助 索 引 中 的 State Histogram - HTTP。<br />

●IIOP――<br />

针 对 存 取 IIOP 服 务 器 的 测 试 , 数 据 适 当 地 被 分 类 聚 集 。 该 视 图 中 各 栏栏 的 有 关 信 息 ,<br />

参 TestManager 帮 助 索 引 中 的 State Histogram - IIOP。<br />

●DCOM――<br />

针 对 获 取 DCOM 功 能 的 测 试 , 数 据 适 当 地 被 分 类 聚 集 。 该 视 图 中 各 栏栏 的 有 关 信 息 ,<br />

参 TestManager 帮 助 索 引 中 的 State Histogram - DCOM。<br />

●Custom――<br />

根 据 你 的 需 要 数 据 被 分 类 聚 集 。 有 关 定 制 一 个 直 条条 图 的 信 息 , 参 阅 122 页<br />

Configuring Custom Histograms 的 内 容 。<br />

下 图 表 示 了 一 个 标标 准 的 状 态 直 条条 图 :<br />

在 这 副副 直 条条 图 中 , 一 个 虚 拟 测 试 者 在 一 个 Server 状 态 中 ,13 个 虚 拟 测 试 者 在 Code 状 态 中 , 还 有<br />

16 个 虚 拟 测 试 者 在 Overhead 状 态 中 。<br />

细 化化 直 条条 图 状 态 栏栏 的 展 现 (Zooming In on Histogram Bars)<br />

在 一 个 直 条条 图 中 的 每 个 状 态 栏栏 只 显 示 了 一 个 概 要 的 状 态 , 而 这 些 状 态 又 包包 含 了 独 立 的 状 态 。 你<br />

可 以 细 化化 一 个 状 态 栏栏 的 展 现 以 查查 看 在 每 个 状 态 中 有 多 少 虚 拟 测 试 者 出 现 失 败 。<br />

要 细 化化 一 个 直 条条 图 状 态 栏栏 的 展 现 :<br />

● 双 击 一 个 包包 含 了 虚 拟 测 试 者 的 状 态 栏栏 。 一 个 窗 口 出 现 , 展 现 独 立 的 状 态 。<br />

要 恢 复 该 窗 口 到到 它 的 原 状 态 中 , 点 击 View > Reset。<br />

下 图 显 示 了 一 个 展 开 的 直 条条 图 , 在 你 已 经 点 击 了 Server 状 态 栏栏 之 后 :


51Testing 软 件 测 试 网<br />

6 个 虚 拟 测 试 者 作 为 Server 状 态 被 分 类 。 展 开 的 直 条条 图 显 示 有 4 个 在 WaitResp 状 态 中 , 还 有 2<br />

个 在 Connect 状 态 中 。<br />

用 户 和和 测 试 机机 视 图 的 展 现 (Displaying the User and Computer<br />

Views)<br />

用 户 和和 测 试 机机 视 图 动 态 地 展 现 了 状 态 和和 虚 拟 测 试 者 操 作 的 细 节 , 依 赖 与 虚 拟 测 试 者 的 用 户 类 型 。<br />

展 现 一 个 视 图 以 查查 看 单 独 的 虚 拟 测 试 者 的 状 态 。<br />

注 意 事 项 :TestManager 展 现 一 个 基 于 用 户 或 基 于 测 试 机机 的 视 图 , 依 赖 与 你 正 在 执 行 的 suite 的 类<br />

型 。<br />

To display a view:<br />

要 展 现 一 个 视 图 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > User 或 Monitor > Computer, 并 选 择 一 个 视 图 。<br />

User/Computer 视 图 是 :<br />

●User/Computer View – Full――<br />

包包 含 了 有 关 所 有 虚 拟 测 试 者 的 完 整 信 息 。<br />

●User/Computer View – Compact――<br />

包包 含 了 有 关 所 有 虚 拟 测 试 者 的 概 要 信 息 。 在 你 执 行 代<br />

理 测 试 机机 时 , 这 是 最 有 效 的 视 图 使 用 。<br />

●User/Computer View – Results――<br />

包包 含 了 有 关 每 个 仿 真 命命 令 (emulation command) 的 成<br />

功 和和 失 败 率 的 信 息 。<br />

●User/Computer View – Source――<br />

展 现 排 列 数 量 和和 被 执 行 额 源 文 件 的 名 称 。<br />

●User/Computer View – Message――<br />

相 似 与 User/Computer View – Compact, 但 也 显 示 来来 自<br />

TSS 展 示 功 能 的 文 本本 的 最 初 的 20 条条 文 字 (letters)。


51Testing 软 件 测 试 网<br />

下 面 的 条条 目 从 属 于 所 有 的 用 户 和和 测 试 机机 视 图 :<br />

● 要 使 跟 踪 某某 个 虚 拟 测 试 者 变 得 更 容 易 , 你 可 以 变 更 被 显 示 的 虚 拟 测 试 者 。 更 多 信 息 , 参 阅 119<br />

页 Filtering and Sorting Views 的 内 容 。<br />

● 当 你 展 现 一 个 用 户 或 测 试 机机 视 图 时 , 你 也 可 以 虚 拟 测 试 者 执 行 的 那 个 测 试 脚 本本 。 双 击 第 一 栏栏<br />

中 的 数 字 , 相 邻 与 虚 拟 测 试 者 。TestManager 展 现 该 测 试 脚 本本 。 更 多 信 息 , 参 阅 114 页 Displaying<br />

the Test Script View 的 内 容<br />

● 当 一 个 虚 拟 测 试 者 不 正 常 终 止 时 ,TestManager 写 一 个 消 息 , 声 明 终 止 的 原 因 到到 执 行 Suite 的<br />

窗 口 中 去 。 右 键 点 击 这 个 终 止 的 虚 拟 测 试 者 , 然 后 选 择 View Termination Message 的 选 项 。<br />

你 可 以 容 易 地 确 认 一 个 反 常 终 止 的 测 试 虚 拟 者 , 因 为 在 视 图 中 的 Exited 状 态 是 红 色 标标 识 的 。<br />

这 一 节 的 剩 余 部 分 则 描 述 并 给 出 了 每 种 视 图 的 例 子 。<br />

User/Computer View - Full<br />

该 视 图 包包 含 了 所 有 虚 拟 测 试 者 的 完 整 信 息 , 如 同 下 图 所 示 :<br />

有 关 该 视 图 中 各 栏栏 的 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 User View - Full or Computer View<br />

Full。<br />

User/Computer View - Compact<br />

该 视 图 包包 含 了 所 有 虚 拟 测 试 者 的 概 要 信 息 , 如 同 下 图 所 示 :


51Testing 软 件 测 试 网<br />

有 关 各 栏栏 的 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 User View - Compact or Computer View -<br />

Compact。<br />

User/Computer View - Results<br />

该 视 图 包包 含 了 每 个 仿 真 命命 令 (emulation command) 的 成 功 和和 失 败 率 信 息 。 如 下 图 所 示 :<br />

有 关 各 栏栏 的 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 User View - Results or Computer View - Results。<br />

User/Computer View - Source<br />

该 视 图 展 现 排 列 数 字 和和 被 执 行 的 源 文 件 的 名 称 , 如 下 图 所 示 :


51Testing 软 件 测 试 网<br />

有 关 各 栏栏 的 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 User View - Source or Computer View - Source。<br />

User/Computer View - Message<br />

该 视 图 类 似 与 User/Computer Compact 视 图 , 但 也 显 示 来来 自 TSS 展 示 功 能 的 文 本本 的 最 初 的 20 条条 文<br />

字 (letters)。 如 果果 你 已 经 添 加 了 一 个 展 现 常 式 到到 一 个 测 试 脚 本本 中 , 那 么 你 可 以 显 示 这 个 视 图 :<br />

下 图 显 示 了 一 个 User View – Message 的 例 子 :<br />

有 关 各 栏栏 的 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 User View - Message or Computer View -<br />

Message。<br />

共 享 变 量 视 图 的 展 现 (Displaying the Shared Variables View)<br />

在 共 享 变 量 视 图 中 , 你 可 以 检 查查 你 设 置 在 你 的 suite 或 测 试 脚 本本 中 的 共 享 变 量 的 值 。<br />

要 展 现 共 享 变 量 视 图 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Shared Variable。<br />

下 图 显 示 了 一 个 共 享 变 量 视 图 :


51Testing 软 件 测 试 网<br />

该 视 图 显 示 了 每 个 共 享 变 量 的 名 称 , 变 量 值 , 以 及 虚 拟 测 试 者 的 数 字 等 待 共 享 变 量 已 达 到到 某某 个<br />

值 。<br />

一 个 共 享 变 量 值 的 变 更 (Changing the Value of a Shared Variable)<br />

你 可 以 在 你 监 控 一 组 suite 时 , 变 更 一 个 共 享 变 量 的 值 。<br />

1 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Shared Variable。<br />

2 双 击 变 量 名 称 , 或 在 视 图 中 右 键 点 击 并 点 击 Change Value。<br />

3 如 果果 共 享 变 量 是 只 读 的 , 那 么 可 以 在 Value 框 中 输 入 一 个 新 值 。<br />

4 如 果果 共 享 变 量 是 被 动 态 地 更 新 , 那 么 你 不 能 输 入 一 个 新 值 。<br />

在 你 读 取 该 值 的 时 候 , 确 定 被 改 变 的 值 , 并 输 入 它 , 一 个 虚 拟 测 试 者 可 能 已 经 修 改 该 值 。 如<br />

果果 发 生 此 情 况 , 你 的 变 更 是 失 败 的 。 改 为 :<br />

在 Operators 之 下 , 选 择 一 个 操 作 。 如 果果 你 选 择 减 (-) 或 除 (/) 的 操 作 , 那 么 针 对 操 作 的<br />

顺 序 是 :<br />

现 存 的 值 - 新 值<br />

现 存 的 值 / 新 值<br />

例 如 , 假 设 共 享 变 量 有 一 个 当 前前 值 6。 如 果果 你 在 Value 框 中 输 入 4 并 点 击 “-” 操 作 , 则 该 共 享<br />

变 量 的 新 值 为 2, 因 为 6-4=2。<br />

5 点 击 OK。<br />

Displaying the Virtual Testers Waiting on a Shared Variable<br />

如 果果 你 的 测 试 脚 本本 包包 含 共 享 变 量 , 那 么 你 可 以 查查 看 虚 拟 测 试 者 等 待 各 共 享 变 量 。<br />

要 展 现 虚 拟 测 试 者 等 待 一 个 共 享 变 量 :<br />

1 在 共 享 变 量 视 图 中 , 双 击 变 量 名 , 或 在 测 试 脚 本本 中 右 键 点 击 。<br />

2 点 击 See Users。<br />

测 试 脚 本本 视 图 的 展 现 (Displaying the Test Script View)<br />

测 试 脚 本本 视 图 展 现 测 试 脚 本本 , 而 这 些 测 试 脚 本本 执 行 和和 突 出 了 虚 拟 测 试 者 执 行 的 代 码 行 。 该 视 图


51Testing 软 件 测 试 网<br />

对 于 通 过 一 个 测 试 脚 本本 来来 观 察 一 个 虚 拟 测 试 者 的 进 展 是 有 利 的 。<br />

要 展 现 测 试 脚 本本 视 图 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Test Script, 并 点 击 你 要 的 虚 拟 测 试 者 以 查查 看 它 的 进<br />

展<br />

测 试 脚 本本 视 图 窗 口 显 示 了 正 在 执 行 的 测 试 脚 本本 。 测 试 脚 本本 展 现 的 是 , 一 行 接 一 行 的 , 虚 拟 测 试<br />

者 在 做 的 是 什 么 。<br />

有 关 该 视 图 中 的 可 用 选 项 , 参 阅 TestManager 帮 助 索 引 中 的 内 容 。<br />

一 个 测 试 脚 本本 的 调 试 (Debugging a Test Script)<br />

你 可 能 在 你 监 控 一 组 suite 时 遇 到到 一 些 问 题 。TestManager 提 供 工 具 使 你 能 够 调 试 一 个 测 试 脚 本本 。<br />

当 你 调 试 一 个 测 试 脚 本本 时 , 执 行 伴 随 了 刚 好 一 个 虚 拟 测 试 者 的 suite 是 个 好 方 法 , 纠 正 测 试 脚 本本 ,<br />

然 后 像 通 常 的 情 况 那 样 执 行 该 suite。<br />

要 调 试 一 个 测 试 脚 本本 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Test Script 并 选 择 虚 拟 测 试 者 执 行 的 你 要 调 试 的 测 试<br />

脚 本本 。<br />

Select one of the following the following debugging options:<br />

选 择 以 下 的 调 试 选 项 :<br />

●Single Step――<br />

――Steps 通 过 一 个 测 试 脚 本本 一 次 一 个 仿 真 指 令 , 允 许 你 去 查查 看 各 指 令 发 生 了 什<br />

么 。 要 使 用 该 选 项 , 首 先 挂 起 一 个 虚 拟 测 试 者 。 这 对 于 精 确 地 找 到到 问 题 是 有 利 的 。<br />

●Multi-step――Steps 通 过 一 个 测 试 脚 本本 一 次 多 个 仿 真 指 令 。 要 使 用 该 选 项 , 首 先 挂 起 虚 拟 测


51Testing 软 件 测 试 网<br />

试 者 。 然 后 你 可 以 选 择 若 干 的 指 令 以 一 次 执 行 。<br />

●Suspend――<br />

挂 起 一 个 虚 拟 测 试 者 在 下 一 个 仿 真 指 令 开 始 时 。<br />

●Resume――<br />

允 许 一 个 被 挂 起 的 虚 拟 测 试 者 去 通 过 一 个 测 试 脚 本本 以 恢 复 它 的 进 展 。<br />

●Terminate――<br />

一 个 测 试 脚 本本 的 虚 拟 测 试 者 执 行 的 结 束束 。<br />

●Break Out――<br />

将 一 个 虚 拟 测 试 者 从 以 下 状 态 中 移 出 :<br />

□ 等 待 一 个 共 享 变 量<br />

□ 等 待 一 个 响响 应<br />

□TSS 延 迟 功 能<br />

同 步 点 视 图 的 展 现 (Displaying the Sync Points View)<br />

Sync Points 视 图 展 现 的 是 有 关 同 步 点 的 信 息 , 这 些 同 步 点 是 你 已 经 设 置 在 suite 中 或 是 已 经 包包 含 在<br />

一 个 测 试 脚 本本 中 。<br />

注 意 事 项 : 该 视 图 包包 含 从 属 于 性 能 测 试 的 信 息 。<br />

要 展 现 Sync Points 视 图 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Sync Points。<br />

有 关 该 视 图 中 的 各 栏栏 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 Sync Points view。<br />

Displaying Virtual Testers Waiting on a Synchronization Point<br />

要 展 现 等 待 一 个 同 步 点 的 虚 拟 测 试 者 :<br />

1 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Sync Points。<br />

2 右 键 点 击 同 步 点 的 名 称 , 然 后 点 击 See Users。<br />

一 个 同 步 点 的 释 放 (Releasing a Synchronization Point)<br />

你 可 能 决 定 要 释 放 一 个 同 步 点 , 即 使 还 没 有 被 达 到到 必 需 的 虚 拟 测 试 者 的 数 量 。 后 继 的 达 到到 同 步<br />

点 的 虚 拟 测 试 者 不 被 拥 有 。 然 而 , 如 果果 你 已 经 在 suite 中 设 置 一 个 重 起 时 间 和和 一 个 最 大 时 间 , 那<br />

么 虚 拟 测 试 者 将 被 延 迟 。 例 如 , 如 果果 你 释 放 一 个 同 步 点 , 但 是 你 已 经 设 置 了 一 个 1 秒 的 重 起 时 间<br />

和和 一 个 4 秒 的 最 大 时 间 , 那 么 每 个 要 达 到到 同 步 点 的 虚 拟 测 试 者 会 有 1 到到 4 秒 的 时 间 延 迟 。<br />

要 释 放 一 个 同 步 点 :


51Testing 软 件 测 试 网<br />

1 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Sync Points。<br />

2 右 键 点 击 同 步 点 的 名 称 , 然 后 点 击 Release。<br />

3 一 个 确 认 消 息 出 现 , 询 问 你 是 否 确 认 该 释 放 。 点 击 Yes 或 No。<br />

测 试 机机 是 视 图 的 展 现 (Displaying the Computer View)<br />

使 用 Computer 视 图 去 检 查查 测 试 机机 资 源 在 一 组 suite 执 行 期 间 的 使 用 情 况 , 以 及 本本 地 和和 代 理 测 试 机机<br />

在 一 次 执 行 的 开 始 和和 结 束束 时 的 状 态 。<br />

有 关 该 视 图 中 各 栏栏 的 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 Computer view。<br />

Viewing Resource Usage During a Run<br />

当 你 在 一 组 suite 执 行 期 间 查查 看 资 源 的 利 用 时 ,TestManager 展 现 对 于 运 行 的 各 本本 地 和和 代 理 测 试 机机<br />

的 资 源 使 用 情 况 。<br />

要 检 查查 测 试 机机 资 源 在 一 个 执 行 期 间 的 使 用 情 况 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Computers。<br />

执 行 期 间 资 源 使 用 情 况 的 图 表 表 示 (Graphing Resource Usage During a Run)<br />

你 可 以 图 表 表 示 你 的 测 试 机机 在 一 组 suite 执 行 期 间 的 资 源 使 用 情 况 。 这 样 就 提 供 给 你 资 源 使 用 情<br />

况 的 一 个 可 视 化化 的 描 述 。 在 这 个 资 源 图 表 中 , 你 可 以 改 变 图 表 中 一 个 条条 目 的 颜 色 , 从 图 表 中 删<br />

除 一 个 条条 目 , 或 删 除 图 表 中 所 有 的 条条 目 。<br />

要 图 表 表 示 测 试 机机 资 源 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Computers。<br />

在 一 次 执 行 的 开 始 和和 结 束束 时 查查 看 测 试 机机 (Viewing Computers at the Start or End<br />

of a Run)<br />

Computer 视 图 在 代 理 测 试 机机 启启 动 时 自 动 出 现 。 当 所 有 的 代 理 启启 动 和和 执 行 ,Computer 视 图 关 闭 。<br />

当 代 理 开 始 关 闭 ,Computer 视 图 自 动 地 重 新 出 现 , 以 使 你 可 以 观 察 清 除 (cleanup) 活 动 , 诸 如


51Testing 软 件 测 试 网<br />

转 移 文 件 到到 本本 地 测 试 机机 。<br />

Computer 视 图 包包 括 了 Progress 消 息 , 它 指 明 了 什 么 时 候 测 试 机机 在 创 建 或 初 始 化化 过 程 , 转 移 文 件 ,<br />

终 止 虚 拟 测 试 者 , 和和 其 他 等 等 。<br />

有 关 该 视 图 中 的 各 栏栏 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 Computer view。<br />

处 理 者 视 图 的 展 现 (Displaying the Transactor View)<br />

Transactor 视 图 显 示 你 插 入 到到 suite 中 的 任 意 处 理 者 的 状 态 。<br />

注 意 事 项 : 该 视 图 主 要 率 属 于 性 能 测 试 。<br />

展 现 一 个 Transactor 视 图 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Transactors。<br />

有 关 各 栏栏 的 信 息 , 参 阅 TestManager 帮 助 索 引 的 Transactor view。<br />

组 视 图 的 展 现 (Displaying the Group Views)<br />

Group 视 图 显 示 你 在 suite 中 定 义 全 部 的 用 户 组 的 状 态 。Group 视 图 又 有 Suite 视 图 和和 Computer 视 图<br />

之 分 , 两 者 显 示 相 同 的 信 息 , 但 Suite 视 图 根 据 用 户 组 显 示 信 息 , 而 Computer 视 图 则 根 据 测 试 机机<br />

显 示 信 息 。<br />

要 展 现 一 个 Group 视 图 :<br />

● 在 一 组 suite 执 行 期 间 , 点 击 Monitor > Groups。<br />

那 两 种 Group 视 图 是 :<br />

●Group View – Suite――<br />

在 一 组 suite 中 的 一 个 用 户 组 列 表 。 下 图 显 示 了 该 视 图 :<br />

●Group View – Computer――<br />

指 派 到到 相 同 测 试 机机 的 一 个 组 列 表 。 下 图 显 示 了 该 视 图 :


51Testing 软 件 测 试 网<br />

各 栏栏 的 有 关 信 息 , 参 阅 TestManager 帮 助 索 引 中 的 Group View - Suite or Group View - Computer。<br />

要 展 现 组 内 的 虚 拟 测 试 者 , 右 键 点 击 在 左 边 栏栏 中 的 名 称 , 然 后 点 击 See Users。<br />

过 滤 和和 分 类 视 图 (Filtering and Sorting Views)<br />

这 一 节 讨 论 如 何 定 制 一 个 视 图 。 例 如 , 你 可 以 用 不 同 的 方 法 分 类 虚 拟 测 试 者 , 或 者 你 可 以 过 滤<br />

虚 拟 测 试 者 和和 组 , 以 便 于 唯 一 的 确 定 信 息 的 展 现 。<br />

在 用 户 或 测 试 者 视 图 中 分 类 虚 拟 测 试 者 (Sorting the Virtual<br />

Testers in a User or Computer View)<br />

当 你 展 现 一 个 User 或 Computer 视 图 时 , 你 可 能 要 以 一 个 特 定 的 顺 序 查查 看 虚 拟 测 试 者 。 例 如 , 你<br />

可 以 按 字 母 顺 序 分 类 虚 拟 测 试 者 , 或 者 你 可 以 它 们 开 始 的 顺 序 对 其 进 行 分 类 。<br />

要 改 变 虚 拟 测 试 者 的 展 现 顺 序 :<br />

● 从 一 个 打 开 的 用 户 或 测 试 机机 视 图 中 , 在 Suite 或 Computer 标标 题 下 的 一 栏栏 中 右 键 点 击 , 可 看 到到<br />

一 个 快 捷 菜 单 。<br />

你 可 以 使 用 以 下 的 顺 序 对 虚 拟 测 试 者 进 行 分 类 :<br />

●Suite 顺 序 ―― 在 suite 中 用 户 组 出 现 的 顺 序 。<br />

● 执 行 顺 序 ―― 虚 拟 测 试 者 开 始 的 顺 序 。<br />

●Suite 组 ――Suite 组 的 字 母 顺 序 列 表 。<br />

● 测 试 机机 组 ―― 测 试 机机 组 的 字 母 顺 序 列 表 。<br />

过 滤 一 个 视 图 (Filtering a View)<br />

你 可 以 在 一 个 用 户 或 测 试 机机 视 图 中 过 滤 虚 拟 测 试 者 , 以 使 唯 一 的 确 定 的 虚 拟 测 试 者 出 现 。 如 果果<br />

你 的 suite 包包 含 许 多 的 虚 拟 测 试 者 并 且 你 的 重 点 在 于 其 中 一 些 虚 拟 测 试 者 的 进 展 , 那 么 这 样 做 是<br />

有 效 的 。<br />

过 滤 虚 拟 测 试 者 (Filtering Virtual Testers)


51Testing 软 件 测 试 网<br />

你 可 以 在 虚 拟 测 试 者 身 上 通 过 包包 含 或 者 排 除 被 选 择 的 虚 拟 测 试 者 来来 进 行 过 滤 :<br />

●Include( 包包 含 )―― 展 现 只 是 你 选 择 的 虚 拟 测 试 者 。<br />

●Exclude( 排 除 )―― 展 现 除 了 你 选 择 之 外 的 所 有 虚 拟 测 试 者 。<br />

要 过 滤 虚 拟 测 试 者 :<br />

1 从 一 个 打 开 的 用 户 或 测 试 机机 视 图 中 选 择 你 要 过 滤 的 虚 拟 测 试 者 并 右 键 点 击 以 显 示 快 捷 菜 单 。<br />

2 点 击 Filter Virtual Testers, 然 后 点 击 Include 或 Exclude。<br />

根 据 值 过 滤 一 个 虚 拟 测 试 者 (Filtering a Virtual Tester by Value)<br />

你 可 以 在 执 行 期 间 保 持 常 量 的 任 意 值 上 过 滤 虚 拟 测 试 者 , 诸 如 它 的 组 名 , 执 行 的 脚 本本 的 类 型 ,<br />

或 是 一 个 虚 拟 测 试 者 执 行 的 测 试 机机 名 称 。<br />

例 如 , 你 可 能 正 在 执 行 一 个 在 Accounting 用 户 组 中 具 有 200 个 虚 拟 测 试 者 的 测 试 ,Data Entry 用 户<br />

组 中 具 有 300 个 虚 拟 测 试 者 ,Sales 用 户 组 中 具 有 500 个 虚 拟 测 试 者 。 你 只 想 要 查查 看 Data Entry 组 中<br />

的 虚 拟 测 试 者 。 过 滤 该 组 以 使 TestManager 只 是 展 现 具 有 “Data Entry” 值 的 组 。<br />

要 通 过 值 来来 过 滤 一 个 虚 拟 测 试 者 :<br />

1 右 键 点 击 一 个 打 开 的 Use 或 Computer 视 图 中 在 suite、Group、 或 者 Type 标标 题 下 的 任 意 单 元 。<br />

2 点 击 Filter Virtual Testers, 然 后 点 击 By Value。<br />

过 滤 一 个 组 视 图 (Filtering a Group View)<br />

如 果果 Group 视 图 展 现 了 许 多 栏栏 目 , 你 可 以 过 滤 出 一 些 栏栏 目 以 提 供 更 多 的 空 间 去 查查 看 你 想 要 查查 看 的<br />

栏栏 目 。 你 可 以 在 执 行 期 间 保 持 常 量 的 任 意 值 上 过 滤 一 个 组 , 诸 如 测 试 机机 或 用 户 组 名 称 , 或 测 试<br />

脚 本本 类 型 。<br />

要 过 滤 一 个 Group 视 图 :<br />

1 在 一 个 打 开 的 User 或 Computer 视 图 的 Group 或 Type 标标 题 中 使 用 右 键 点 击 。<br />

2 点 击 Filter By Value。<br />

恢 复 默 认 视 图 (Restoring the Default Views)<br />

如 果果 你 细 化化 展 现 一 个 直 条条 图 栏栏 , 过 滤 一 个 视 图 , 或 改 变 视 图 中 一 栏栏 的 宽 度 , 你 可 能 想 要 恢 复 栏栏<br />

目 或 者 视 图 到到 最 初 的 设 置 。<br />

要 恢 复 一 个 视 图 到到 最 初 的 设 置 :<br />

● 从 你 想 要 恢 复 的 视 图 中 , 点 击 View > Reset。


51Testing 软 件 测 试 网<br />

变 更 监 控 的 默 认 (Changing Monitor Defaults)<br />

在 你 监 控 一 组 suite 时 , 你 可 设 置 视 图 为 自 动 显 现 , 视 图 的 刷 新 频 率 , 以 及 在 你 执 行 一 组 suite 时<br />

工 具 栏栏 是 否 自 动 显 现 。 你 也 可 以 配 置 Custom 直 条条 图 , 并 改 变 它 的 颜 色 , 这 将 在 下 一 节 描 述 。<br />

要 变 更 监 控 的 默 认 设 置 :<br />

● 点 击 Tools > Options, 并 点 击 Monitor 标标 签 。<br />

配 置 常 规 直 条条 图 (Configuring Custom Histograms)<br />

通 过 默 认 ,State Histogram-Custom 与 State Histogram –Standard 是 相 同 的 。 然 而 , 不 像 其 他 的 直<br />

条条 图 , 你 可 以 配 置 State Histogram-Custom。 你 可 以 配 置 组 , 创 建 新 组 , 并 变 更 以 标标 识 组 的 颜 色 。<br />

要 配 置 the State Histogram – Custom:<br />

● 从 Options 对 话 框 Monitor 标标 签 中 , 在 State Histogram 下 , 点 击 Configure。


51Testing 软 件 测 试 网<br />

要 在 一 个 常 规 直 条条 图 组 中 指 派 或 移 除 一 个 状 态 :<br />

● 在 State Groupings 对 话 框 中 , 从 Current State Grouping 区 域 选 择 一 个 分 组 。<br />

要 添 加 一 个 完 整 的 分 组 到到 常 规 直 条条 图 中 :<br />

● 在 State Groupings 对 话 框 中 , 点 击 Add Grouping。<br />

要 从 常 规 直 条条 图 中 删 除 一 个 组 :<br />

● 在 State Groupings 对 话 框 中 , 从 Current State Grouping 框 中 选 择 你 要 删 除 的 组 , 然 后 点 击<br />

Delete Grouping。<br />

When you delete a group, all states that were in the group are unassigned.<br />

当 你 删 除 一 个 分 组 时 , 在 该 分 组 内 的 所 有 的 状 态 是 被 解 除 指 定 的 。<br />

在 执 行 期 间 对 suite 进 行 控 制 (Controlling the Suite During a<br />

Run)<br />

TestManager 提 供 多 种 方 法 去 帮 助 你 在 suite 执 行 时 来来 控 制 它 。<br />

例 如 , 你 可 以 挂 起 一 组 suite 去 变 更 设 置 或 检 查查 它 的 进 展 。


51Testing 软 件 测 试 网<br />

在 一 组 suite 中 挂 起 和和 恢 复 虚 拟 测 试 者 (Suspending and<br />

Resuming Virtual Testers in a Suite)<br />

当 一 组 suite 执 行 时 , 你 可 以 挂 起 和和 恢 复 所 有 的 虚 拟 测 试 者 , 或 者 你 可 以 挂 起 和和 恢 复 单 独 的 虚 拟<br />

测 试 者 。 这 对 于 审 查查 在 执 行 期 间 发 出 现 的 问 题 是 有 利 的 。<br />

要 挂 起 或 恢 复 所 有 的 虚 拟 测 试 者 :<br />

● 点 击 Monitor > Suspend 或 Monitor > Resume。<br />

要 挂 起 或 恢 复 单 独 的 虚 拟 测 试 者 :<br />

● 点 击 Monitor > Users 或 Monitor > Computers, 并 选 择 你 想 要 挂 起 的 虚 拟 测 试 者 列 。<br />

停 止 suites(Stopping Suites)<br />

当 TestManager 检 查查 suite 时 , 取 消 suite 的 执 行 。<br />

● 从 执 行 suite 的 窗 口 的 Messages 中 , 点 击 Cancel。<br />

要 停 止 一 组 suite 在 它 执 行 时 :<br />

● 点 击 Monitor > Stop。<br />

停 止 一 组 suite 的 方 法 :<br />

●Abort――<br />

停 止 执 行 并 且 没 有 保 存 结 果果 。 如 果果 你 不 打 算 执 行 任 意 的 报 告告 或 查查 看 任 意 的 虚 拟 测<br />

试 者 错 误 或 虚 拟 测 试 者 输 出 文 件 , 那 么 点 击 该 选 项 。<br />

●Process Results――<br />

停 止 执 行 但 保 存 结 果果 以 使 你 可 以 执 行 报 告告 , 并 在 Test Log 窗 口 中 查查 看 虚<br />

拟 测 试 者 错 误 或 虚 拟 测 试 者 的 输 出 文 件 。<br />

●Save and Run Reports――<br />

停 止 执 行 , 保 存 结 果果 , 并 产 生 报 告告 , 如 果果 你 的 执 行 正 常 地 执 行 。<br />

你 也 可 以 指 定 Clean-up time。 这 是 时 间 的 数 量 允 许 你 从 时 间 起 请 求 终 止 , 直 到到 TestManager<br />

强 行 终 止 该 执 行 。


51Testing 软 件 测 试 网<br />

注 意 事 项 : 在 你 异 常 终 止 一 个 包包 含 了 多 处 理 器 的 本本 地 机机 或 代 理 机机 的 大 suite 时 , 选 择 60 秒 或 更<br />

多 的 Clean-up time 以 允 许 虚 拟 测 试 者 (rtsvui 过 程 ) 时 间 , 以 此 使 其 到到 时 间 后 自 动 退 出 。 默<br />

认 为 1 秒 的 Clean-up time 经 常 引 起 本本 地 测 试 机机 一 次 终 止 许 多 的 处 理 过 程 , 并 且 导 致 剩 余 物<br />

rtsvui 过 程 。 虽 然 这 是 无 害 的 , 但 他 们 会 混 乱 过 程 表 。 通 过 使 用 Task Manager, 它 们 可 被 破 坏 ,<br />

或 一 次 全 部 退 出 。<br />

当 suite 完 成 执 行 ―― 是 否 正 常 地 或 通 过 手 工 终 止 ――TestManager 在 Test Log 窗 口 中 展 现 任 意<br />

的 日 志 数 据 。 有 关 Test Log 窗 口 的 信 息 , 参 阅 127 页 Evaluating Tests 的 内 容 。


51Testing 软 件 测 试 网<br />

6<br />

测 试 的 评 估 (Evaluating Tests)<br />

本本 章 说 明 如 何 使 用 TestManager 中 的 Test Log 窗 口 去 查查 看 日 志 并 说 明 它 们 的 内 容 。 它 也 说 明 如<br />

何 创 建 并 执 行 报 告告 来来 帮 助 你 管 理 你 的 测 试 成 果果 。 本本 章 包包 含 下 面 的 标标 题 内 容 :<br />

● 关 于 测 试 日 志<br />

● 查查 看 测 试 日 志 结 果果<br />

● 由 Rational Robot 查查 看 测 试 脚 本本 结 果果 记 录<br />

● 结 果果 的 报 告告<br />

注 意 事 项 : 有 关 过 程 的 细 节 , 参 阅 TestManager 的 帮 助 。<br />

关 于 测 试 日 志 (About Test Logs)<br />

在 你 执 行 一 组 suite, 测 试 用 例 , 或 者 测 试 脚 本本 之 后 ,TestManager 写 结 果果 到到 一 个 测 试 日 志 中 。 你<br />

使 用 Rational TestManager 的 TestLog 窗 口 查查 看 在 你 执 行 了 一 组 suite, 测 试 用 例 , 或 测 试 脚 本本 之 后<br />

而 被 创 建 的 测 试 日 志 。<br />

一 个 测 试 周周 期 可 以 具 有 很 多 单 个 的 针 对 一 个 应 有 程 序 的 特 定 区 域 的 测 试 。<br />

复 查查 在 TestLog 窗 口 中 的 测 试 结 果果 显 示 是 否 各 测 试 通 过 或 失 败 。 复 查查 和和 分 析析 帮 助 决 定 你 是 在 软 件<br />

开 发 过 程 的 那 个 阶 段 , 以 及 是 否 一 个 失 败 是 一 个 缺 陷 或 者 一 个 设 计 更 改 。<br />

你 可 以 使 用 TestLog 窗 口 来来 :<br />

● 打 开 一 个 测 试 日 志 去 查查 看 一 个 结 果果 。<br />

● 过 滤 一 个 测 试 日 志 的 数 据 去 查查 看 仅 仅 是 你 需 要 的 信 息 。<br />

● 由 在 Test Log 窗 口 的 Test Case Results 标标 签 中 的 一 个 未 评 估 的 结 果果 来来 查查 看 所 有 的 测 试 用 例 。<br />

在 性 能 测 试 用 例 施 行 的 评 估 结 果果 中 , 这 有 着 显 著 的 作 用 。 你 可 以 通 过 实 际 的 结 果果 分 类 测 试 用


51Testing 软 件 测 试 网<br />

例 , 并 复 查查 和和 更 新 所 有 未 评 估 的 测 试 用 例 。<br />

● 提 交 针 对 一 个 失 败 的 日 志 事 件 的 一 个 缺 陷 。 测 试 日 志 自 动 地 填 写 build, 配 置 , 和和 在 Rational<br />

ClearQuest 缺 陷 表 中 的 测 试 脚 本本 信 息 。 有 关 缺 陷 提 交 的 信 息 , 参 阅 138 页 Submitting and<br />

Modifying<br />

Defects 的 内 容 。<br />

● 利 用 合 适 的 测 试 脚 本本 开 发 工 具 打 开 一 个 script-based 日 志 事 件 的 测 试 脚 本本 。 例 如 , 如 果果 你 创 建<br />

一 个 手 工 测 试 脚 本本 , 那 么 Rational ManualTest 打 开 和和 展 现 该 测 试 脚 本本 。 如 果果 你 创 建 的 是 一 个<br />

常 规 测 试 脚 本本 类 型 , 那 么 TestManager 打 开 带 有 你 指 定 的 编 辑 器 的 测 试 脚 本本 。 你 使 用 一 个 Test<br />

Script Console Adapter( 测 试 脚 本本 控 制 台 适 配 器 ) 去 指 定 编 辑 器 打 开 一 个 测 试 脚 本本 和和 去 处 理 常<br />

规 测 试 脚 本本 类 型 。 有 关 使 用 一 个 常 规 测 试 脚 本本 类 型 的 信 息 , 参 阅 13 页 Defining Custom Test<br />

Script Types 的 内 容 。<br />

● 预 览 或 打 印 在 Test Log 窗 口 的 活 动 测 试 日 志 中 被 展 现 的 数 据 。<br />

● 如 果果 你 使 用 Rational Robot 去 记 录 测 试 脚 本本 , 那 么 你 可 以 分 析析 在 Comparator 中 的 结 果果 来来 决 定<br />

一 个 测 试 失 败 的 原 因 。 如 果果 你 使 用 Rational Quality Architect 从 Rose 模 型 中 生 成 测 试 脚 本本 , 那 么 你<br />

使 用 Grid Comparator 来来 分 析析 结 果果 。 有 关 使 用 Comparators 的 信 息 , 参 阅 181 页 About the Four<br />

Comparators 的 内 容 。<br />

在 TestManager 中 打 开 一 个 Test Log(Opening a Test Log in<br />

TestManager)<br />

要 手 动 打 开 TestLog 窗 口 :<br />

● 点 击 File > Open Test Log。<br />

● 在 Test Asset Workspace( 测 试 资 产 工 作 区 ) 的 Results 标标 签 中 , 展 开 Build 树树 并 选 择 一 个 日 志 。


51Testing 软 件 测 试 网<br />

你 可 以 打 开 多 于 一 个 的 在 TestLog 窗 口 中 的 测 试 日 志 。 如 果果 你 已 经 打 开 了 多 个 测 试 日 志 , 那 么 这<br />

个 当 前前 活 动 的 日 志 是 按 照 你 使 用 最 多 的 菜 单 指 令 的 一 个 。(If you have more than one test log open,<br />

the log that is currently active is the one that is acted upon when you use most menu commands.)<br />

执 行 一 个 测 试 用 例 , 测 试 脚 本本 , 或 suite 后 , 打 开 测 试 日 志 进 行 控 制 :<br />

● 点 击 Tools > Options 并 点 击 Run 标标 签 。<br />

注 意 事 项 : 你 也 可 以 从 一 个 RationalTestFactory 的 application map 中 的 一 个 被 选 择 的 测 试 脚 本本 开<br />

始 你 的 测 试 日 志 。 有 关 更 多 的 信 息 , 参 阅 手 册 Using Rational TestFactory 或 者 Rational<br />

TestFactory 的 帮 助 。<br />

Test Log 的 窗 口 (The Test Log Window)<br />

TestManager 中 的 TestLog 窗 口 包包 含 了 测 试 日 志 摘 要 (Test Log Summary) 区 域 , 测 试 用 例 结 果果 (Test<br />

Case Results) 标标 签 , 和和 细 节 (Details) 标标 签 。 出 现 在 Test Log Summary 区 域 中 的 迭 代 是 与 build<br />

相 关 联 的 。


51Testing 软 件 测 试 网<br />

测 试 用 例 结 果果 标标 签 (Test Case Results Tab)<br />

从 Test Log 窗 口 中 , 你 可 以 点 击 Test Case Results 标标 签 来来 获 得 每 个 测 试 用 例 总 的 结 果果 ―― 是 通 过<br />

还 是 失 败 ?Test Case Results 标标 签 展 现 一 个 测 试 用 例 的 执 行 结 果果 或 者 包包 含 了 测 试 用 例 的 一 组<br />

suite。 如 果果 你 从 TestManager,ManualTest, 或 者 从 Robot 中 执 行 一 个 测 试 脚 本本 , 即 使 测 试 脚 本本 是<br />

一 个 测 试 用 例 的 实 施 , 那 这 个 Test Case Results 会 是 空 的 。 你 必 须 执 行 一 个 测 试 用 例 去 获 得 在 Test<br />

Case Results 标标 签 中 的 结 果果 。<br />

说 明 测 试 用 例 结 果果 (Interpreting Test Case Results)<br />

在 你 首 次 打 开 一 个 测 试 日 志 并 点 击 Test Case Results 标标 签 , 它 针 对 实 际 的 结 果果 和和 结 果果 的 说 明 展


51Testing 软 件 测 试 网<br />

现 相 同 的 值 :pass, fail, informational, 或 者 warning。<br />

一 个 结 果果 是 测 试 用 例 结 果果 在 它 执 行 时 返 回 和和 记 录 日 志 的 。<br />

该 实 际 结 果果 也 出 现 在 说 明 结 果果 的 栏栏 中 (Interpreted Result) 作 为 默 认 的 被 说 明 结 果果 。 你 可 能 想 要<br />

interpret( 说 明 解 释 ) 一 个 测 试 用 例 结 果果 , 如 果果 你 持 有 关 于 它 的 附 加 的 了 解 , 并 且 想 要 纠 正 它 。<br />

例 如 , 一 个 测 试 用 例 可 能 失 败 , 因 为 这 里 有 一 个 软 件 缺 陷 。 在 这 种 情 景 下 , 失 败 是 有 效 的 , 并<br />

且 你 不 需 要 说 明 该 结 果果 。 但 是 , 一 个 测 试 用 例 可 能 在 其 他 的 情 况 下 失 败 , 包包 含 :<br />

●Application-under-test 已 经 变 更 , 并 且 你 意 识 到到 你 需 要 去 修 改 相 关 的 测 试 脚 本本 。<br />

● 有 一 个 测 试 自 动 化化 的 问 题 ―― 例 如 , 一 个 测 试 脚 本本 以 一 个 错 误 的 顺 序 执 行 。<br />

在 其 他 情 况 中 , 失 败 是 误 导 的 , 并 且 你 可 能 想 要 改 变 在 Test Case Results 标标 签 中 的 Interpreted<br />

Result 栏栏 的 Pass 或 者 Informational。<br />

Promoting Test Case Results<br />

在 你 promote 一 个 测 试 用 例 结 果果 时 , 你 指 定 该 结 果果 对 你 的 项 目 是 有 用 的 并 使 它 对 其 他 人 是 可 见<br />

的 。 在 你 promote 一 个 结 果果 之 前前 , 它 仅 仅 出 现 在 测 试 日 志 中 。<br />

例 如 , 假 定 需 要 的 测 试 用 例 的 数 量 通 过 你 的 针 对 一 个 build 被 运 送 到到 beta 用 户 的 测 试 标标 准 。 你 把<br />

测 试 结 果果 作 为 “ 正 式 的 ”(official) 并 要 将 它 们 包包 含 在 Test Case Results Distribution 或 Test Case<br />

Trend 报 告告 中 。 因 此 , 你 promote 针 对 每 个 测 试 用 例 的 结 果果 对 于 你 的 测 试 标标 准 是 重 要 的 。<br />

另 一 方 面 , 假 定 TestManager 报 告告 一 个 测 试 用 例 是 失 败 的 。 你 发 现 测 试 机机 未 插 入 , 因 而 这 个 测 试<br />

用 例 不 能 执 行 ―― 这 就 是 为 什 么 TestManager 报 告告 为 失 败 。 一 个 先 前前 的 测 试 用 例 在 那 台 测 试 机机 上<br />

通 过 , 所 以 你 promote 这 个 测 试 用 例 , 因 为 你 想 要 将 它 包包 含 在 一 个 Test Case Results Distribution<br />

或 Test Case Trend 报 告告 中 。 因 此 , 你 不 能 promote 已 失 败 的 测 试 用 例 的 结 果果 , 因 为 这 个 结 果果 是 没<br />

有 意 义 的 ―― 并 且 , 实 际 上 , 是 误 导 的 。<br />

Promotion 不 影 响响 结 果果 (pass, fail, informational, or warning)。 它 仅 仅 指 明 了 这 个 结 果果 是 有 意 义 的 ,<br />

以 使 结 果果 足 以 出 现 在 一 个 Test Case Results Distribution 或 者 Test Case Trend 报 告告 中 。<br />

注 意 事 项 : 你 也 必 须 在 你 关 闭 一 个 测 试 日 志 时 保 存 测 试 用 例 结 果果 以 使 它 出 现 在 一 个 Test Case<br />

Results Distribution 报 告告 中 , 当 然 是 在 promoting 它 之 后 。<br />

细 节 标标 签 (Details Tab)<br />

Test Log 窗 口 中 的 Details 标标 签 包包 含 日 志 事 件 , 事 件 是 在 你 执 行 一 个 测 试 脚 本本 , 测 试 用 例 或 者<br />

suite 时 被 生 成 的 。<br />

注 意 事 项 : 在 Details 标标 签 中 的 详 尽 的 测 试 结 果果 是 不 能 被 promoted 的 。


51Testing 软 件 测 试 网<br />

查 看 测 试 日 志 结 果 (Viewing Test Log Results)<br />

在 执 行 一 个 测 试 用 例 , 测 试 脚 本本 , 或 者 suite 之 后 , 你 可 以 在 Test Log 窗 口 中 快 速 的 评 估 结 果果 。<br />

查查 看 测 试 用 例 结 果果 (Viewing Test Case Results)<br />

全 部 测 试 用 例 的 结 果果 出 现 在 Test Log 窗 口 的 Test Case Results 标标 签 中 。<br />

在 Test Case Results 标标 签 中 你 可 以 :<br />

● 分 类 , 可 通 过 名 称 (name), 实 际 结 果果 (actual result), 说 明 结 果果 (interpreted result), 或<br />

者 promotion 状 态 (promotion status)。<br />

要 分 类 测 试 用 例 :<br />

□ 在 Test Case Results 标标 签 中 , 点 击 View > Sort By, 然 后 选 择 你 想 要 如 何 分 类 测 试 用 例 。<br />

□ 双 击 栏栏 头 。<br />

● 通 过 下 面 的 标标 准 显 示 测 试 用 例 :<br />

□ 实 际 结 果果 , 具 有 pass,fail,warning, 或 者 其 他 。<br />

□ 说 明 , 关 于 pass,fail,warning, 或 者 其 他 。<br />

□ 隐 藏 相 等 的 结 果果 。<br />

要 通 过 某某 种 标标 准 显 示 测 试 用 例 :<br />

□ 在 Test Case Results 标标 签 中 点 击 View > Show Test Cases。 然 后 选 择 你 要 查查 看 的 标标 准 。<br />

● 展 现 事 件 细 节 对 于 一 个 在 Test Case Results 标标 签 中 的 特 殊 的 测 试 用 例 。<br />

要 展 现 事 件 细 节 :<br />

□ 在 Test Case Results 标标 签 中 , 选 择 一 个 测 试 用 例 , 然 后 点 击 View > Event Details,


51Testing 软 件 测 试 网<br />

TestManager 展 现 Details 标标 签 并 针 对 你 选 择 的 测 试 用 例 设 置 事 件 细 节 。<br />

查查 看 事 件 细 节 (Viewing Events Details)<br />

每 个 事 件 的 详 细 信 息 在 Test Log 窗 口 的 Details 标标 签 中 是 可 用 的 。<br />

在 Details 标标 签 中 , 你 可 以 :<br />

● 崩 溃 (Collapse) 和和 展 开 事 件 。<br />

● 找 出 一 个 特 殊 的 结 果果 , 事 件 类 型 , 协 议 , 失 败 原 因 , 验 证 点 , 或 者 命命 令 , 或 者 寻 找 一 个 特 定<br />

事 件 属 性 的 名 称 和和 值 。<br />

你 可 以 查查 看 一 个 事 件 并 从 Log Event 窗 口 导 出 所 有 的 失 败 (Details 标标 签 的 Result 栏栏 中 用 红 色 显<br />

示 )。<br />

要 查查 看 一 个 特 殊 的 事 件 :<br />

1 点 击 Test Log 窗 口 中 的 Details 标标 签 。<br />

2 点 击 View > Properties。<br />

你 可 以 在 你 移 动 Test Log 窗 口 Details 标标 签 中 的 每 个 事 件 时 保 持 Log Event 窗 口 的 打 开 状 态 。 你 也<br />

可 以 缩 放 和和 移 动 窗 口 。<br />

注 意 事 项 : 如 果果 你 先 前前 使 用 的 是 Rational Suite PerformanceStudio, 那 么 在 跟 踪 (Trace) 和和 模 拟<br />

(Analog) 报 告告 中 发 现 的 信 息 对 于 现 在 的 Log Event 窗 口 是 可 用 的 。Log Event 窗 口 中 的 General<br />

标标 签 展 现 事 件 类 型 , 日 期 和和 时 间 事 件 被 记 录 , 测 试 脚 本本 名 称 , 结 果果 信 息 ( 如 果果 任 何 的 ), 和和 有<br />

关 一 个 日 志 事 件 的 其 他 信 息 。


51Testing 软 件 测 试 网<br />

Log Event 窗 口 的 Configuration 标标 签 展 现 你 执 行 测 试 脚 本本 的 测 试 机机 的 相 关 配 置 信 息 。<br />

当 你 添 加 一 个 新 的 日 志 事 件 属 性 类 型 时 , 一 个 新 的 标标 签 出 现 在 Log Event 窗 口 中 。 数 据 , 依 赖 与<br />

如 何 被 定 义 , 展 现 在 Log Event 窗 口 的 一 个 单 独 的 标标 签 中 作 为 文 本本 或 一 个 HTML 文 件 , 或 者 在 一<br />

个 单 独 的 应 用 中 。 例 如 ,Associated Data 标标 签 展 现 由 所 有 的 http_request 命命 令 产 生 的 数 据 ,TSS<br />

登 陆 方 法 ( 例 如 VB 中 的 TSSLog.Message), 以 及 SQABasic 定 时 声 明 。<br />

有 关 日 志 过 滤 器 (About Log Filters)<br />

你 可 以 创 建 一 个 日 志 过 滤 器 来来 缩 小 在 Test Log 活 动 窗 口 中 展 现 的 数 据 数 量 。 例 如 , 你 可 以 创 建 一<br />

个 过 滤 器 只 展 现 查查 证 点 或 测 试 机机 启启 动 。 一 个 日 志 过 滤 器 可 以 使 它 容 易 的 查查 看 大 的 测 试 日 志 。


51Testing 软 件 测 试 网<br />

注 意 事 项 :TestManager 保 存 日 志 过 滤 器 在 一 个 项 目 中 。 所 有 的 日 志 过 滤 器 对 项 目 中 的 所 有 用 户<br />

都 是 可 用 的 , 但 是 , 当 你 对 一 个 活 动 日 志 实 施 一 个 日 志 过 滤 器 时 , 该 结 果果 只 能 在 你 的 本本 地 系 统<br />

上 可 见 。<br />

你 可 以 :<br />

● 创 建 或 者 编 辑 日 志 过 滤 器 。<br />

● 选 择 一 个 过 滤 器 来来 缩 小 在 Test Log 活 动 窗 口 中 展 现 的 数 据 数 量 。<br />

● 复 制 , 重 命命 名 , 或 者 删 除 一 个 日 志 过 滤 器 。 复 制 的 特 性 在 你 想 要 创 建 彼 此 类 似 的 复 合 过 滤 器<br />

( 时 是 有 用 的 。 在 你 创 建 第 一 个 过 滤 器 之 后 , 你 可 以 复 制 它 。 然 后 , 你 可 以 编 辑 这 个 被 复 制<br />

了 的 过 滤 器 来来 使 其 做 必 要 的 修 改 。 你 也 可 以 重 命命 名 和和 删 除 一 个 日 志 过 滤 器 。<br />

创 建 和和 编 辑 一 个 日 志 编 辑 器 (Creating and Editing a Log<br />

Filter)<br />

要 创 建 或 者 编 辑 一 个 日 志 过 滤 器 :<br />

● 点 击 Tools > Manage > Log Filters。 点 击 New, 或 者 选 择 一 个 过 滤 器 并 点 击 Edit。 然 后 在<br />

每 个 标标 签 上 选 择 你 要 过 滤 的 事 件 信 息 的 类 型 。<br />

如 果果 你 过 滤 一 个 事 件 类 型 , 那 么 这 个 过 滤 器 包包 含 所 有 的 事 件 类 型 信 息 以 及 事 件 类 型 本本 身 。<br />

实 施 一 个 测 试 日 志 过 滤 器 (Applying a Test Log Filter)<br />

在 你 创 建 一 个 测 试 日 志 过 滤 器 后 , 你 需 要 设 置 过 滤 器 , 使 用 它 缩 小 在 Test Log 活 动 窗 口 中 展 现 的<br />

数 据 数 量 。<br />

要 实 施 一 个 测 试 日 志 过 滤 器 :<br />

● 打 开 一 个 日 志 , 点 击 View > Set Test Log Filter, 并 选 择 这 个 过 滤 器 。<br />

要 关 掉 所 有 的 日 志 过 滤 器 , 点 击 测 试 日 志 过 滤 器 All。 这 个 过 滤 器 展 现 你 执 行 一 个 测 试 用 例 ,<br />

测 试 脚 本本 , 或 者 suite 时 的 所 有 ( 记 录 ) 登 陆 在 Test Log 窗 口 中 的 信 息 。<br />

注 意 事 项 : 在 你 实 施 一 个 测 试 日 志 过 滤 器 后 , 活 动 的 Test Log 窗 口 生 成 一 个 新 的 日 志 并 到到 那 时 展<br />

现 新 的 被 过 滤 的 日 志 信 息 , 可 能 会 花 一 些 时 间 。


51Testing 软 件 测 试 网<br />

查查 看 一 个 测 试 脚 本本 (Viewing a Test Script)<br />

你 可 以 选 择 任 意 的 关 联 与 一 个 测 试 脚 步 的 日 志 事 件 并 在 你 使 用 的 创 建 测 试 脚 本本 的 工 具 中 查查 看<br />

它 。 例 如 , 如 果果 你 创 建 一 个 GUI 测 试 脚 本本 并 从 Test Log 窗 口 打 开 该 测 试 脚 本本 , 那 么 这 个 测 试 脚 本本<br />

在 Robot 中 打 开 。 如 果果 你 创 建 一 个 手 工 的 测 试 脚 本本 并 从 Test Log 窗 口 代 开 该 测 试 脚 本本 , 那 么 它 在<br />

Rational ManualTest 中 打 开 。 如 果果 你 创 建 一 个 常 规 测 试 脚 本本 类 型 ,TestManager 根 据 你 指 定 的 编<br />

辑 器 打 开 该 测 试 脚 本本 。 你 使 用 一 个 Test Script Console Adapter( 测 试 脚 本本 控 制 台 适 配 器 ) 来来 指 定<br />

打 开 一 个 测 试 脚 本本 的 编 辑 器 并 去 处 理 常 规 测 试 脚 本本 类 型 。 有 关 使 用 一 个 常 规 测 试 脚 本本 类 型 的 信<br />

息 , 参 阅 13 页 Defining Custom Test Script Types 的 内 容 。<br />

注 意 事 项 : 在 你 双 击 在 Rational Purify, Quantify, 或 者 PureCoverage 之 下 由 Robot 生 成 的 一 个 打 开<br />

的 日 志 中 的 事 件 时 , 测 试 脚 本本 在 Robot 中 打 开 , 并 且 , 在 诊 断 工 具 中 打 开 文 件 。 有 关 设 置 诊 断 工<br />

具 选 项 的 信 息 , 参 阅 Robot 的 帮 助 。<br />

要 查查 看 一 个 测 试 脚 本本 :<br />

1 打 开 一 个 测 试 日 志 。<br />

2 点 击 Details 标标 签 。<br />

3 右 键 点 击 一 个 测 试 脚 本本 的 开 始 或 者 结 束束 事 件 , 并 点 击 Open Script。<br />

与 测 试 日 志 一 起 工 作 (Working with Test Logs)<br />

在 你 与 测 试 日 志 一 起 工 作 时 , 你 可 以 :<br />

● 打 开 一 个 测 试 日 志 。<br />

● 重 命命 名 一 个 测 试 日 志 。<br />

● 查查 看 一 个 测 试 日 志 的 属 性 ( 名 称 , 描 述 ,build, 和和 日 志 文 件 夹 )。<br />

要 做 这 些 工 作 的 任 意 一 个 :<br />

1 在 Test Asset Workspace( 测 试 资 产 工 作 区 ) 中 , 点 击 Results 标标 签 。<br />

2 右 键 点 击 一 个 测 试 日 志 , 然 后 选 择 一 个 在 快 捷 菜 单 中 的 条条 目 。<br />

注 意 事 项 : 你 也 可 以 打 印 在 Test Log 窗 口 中 展 现 的 数 据 。 有 关 信 息 , 参 阅 141 页 Printing a Test Log<br />

的 内 容 。


51Testing 软 件 测 试 网<br />

有 关 测 试 日 志 (About Test Logs)<br />

测 试 日 志 记 录 一 个 测 试 脚 本本 、 测 试 用 例 或 者 suite 执 行 期 间 发 生 的 任 何 事 , 从 它 们 的 开 始 到到 结 束束 。<br />

除 非 日 志 被 特 别 地 关 闭 , 每 个 虚 拟 测 试 者 的 活 动 , 系 统 调 用 , 查查 证 点 , 和和 结 果果 都 是 包包 含 在 日 志<br />

过 程 中 的 。 你 可 以 从 Test Log 窗 口 中 查查 看 每 个 事 件 的 属 性 , 并 且 你 也 可 以 在 一 个 完 整 的 事 件 中 查查<br />

看 某某 个 测 试 日 志 。<br />

Suite 日 志 (Suite Log)<br />

Suite 日 志 包包 含 所 有 关 联 与 一 组 suite 执 行 的 信 息 。 这 是 当 你 执 行 一 组 suite 时 与 你 在 Messages 窗 口<br />

中 看 到到 的 信 息 是 相 同 的 。 该 日 志 包包 含 了 build, 日 志 文 件 夹 和和 日 志 名 称 信 息 , 和和 有 关 suite 检 查查 的<br />

信 息 , 编 译 测 试 脚 本本 , 以 及 任 何 关 联 与 该 suite 的 警 告告 或 错 误 。<br />

要 查查 看 一 个 suite 日 志 :<br />

● 右 键 点 击 在 TestLog 窗 口 中 的 一 组 suite 的 开 始 事 件 , 并 点 击 View Suite Log。<br />

要 打 印 一 个 suite 日 志 :<br />

● 从 一 个 打 开 哦哦 suite 日 志 中 , 点 击 File > Print。<br />

虚 拟 测 试 者 错 误 文 件 (Virtual Tester Error File)<br />

错 误 文 件 包包 含 关 联 与 一 个 指 定 的 虚 拟 测 试 者 的 任 意 执 行 期 间 的 错 误 信 息 。<br />

注 意 事 项 : 错 误 文 件 不 能 一 直 存 在 。 如 果果 一 个 错 误 是 在 录 制 回 放 期 间 遇 到到 的 , 那 么 TestManager<br />

会 在 这 个 文 件 中 记 录 该 错 误 。 如 果果 没 有 错 误 出 现 , 那 么 在 这 个 文 件 中 没 有 数 据 , 并 且 ,<br />

TestManager 自 动 地 删 除 该 文 件 。 有 关 信 息 , 参 阅 Using Rational Robot 手 册 , 或 者 Rational Test API<br />

文 档 适 合 于 的 脚 本本 语 言 。<br />

要 查查 看 一 个 错 误 文 件 :<br />

● 右 键 点 击 在 TestLog 窗 口 中 一 个 虚 拟 测 试 者 的 开 始 事 件 , 并 点 击 View Virtual Tester Error<br />

File。<br />

要 打 印 一 个 错 误 文 件 :<br />

● 从 一 个 打 开 的 错 误 文 件 , 点 击 File > Print。


51Testing 软 件 测 试 网<br />

虚 拟 测 试 者 的 输 出 文 件 (Virtual Tester Output File)<br />

虚 拟 测 试 者 的 输 出 文 件 包包 含 一 个 虚 拟 测 试 者 特 别 地 从 测 试 脚 本本 输 出 写 入 的 任 意 信 息 。 这 可 能 有<br />

关 与 任 何 事 件 。 例 如 , 这 个 文 件 可 以 记 载 (log)SQL 命命 令 。<br />

注 意 事 项 : 输 出 文 件 不 能 一 直 存 在 。 如 果果 输 出 是 在 录 制 回 放 期 间 生 成 的 , 那 么 TestManager 在 这<br />

个 文 件 中 记 录 该 输 出 。 如 果果 没 有 输 出 被 生 成 , 那 么 在 这 个 文 件 中 没 有 数 据 , 并 且 ,TestManager<br />

自 动 地 删 除 该 文 件 。 有 关 信 息 , 参 阅 Using Rational Robot 手 册 , 或 者 Rational Test API 文 档 适 合<br />

于 的 脚 本本 语 言 。<br />

查查 看 一 个 输 出 文 件 :<br />

● 右 键 点 击 在 Test Log 窗 口 中 一 个 虚 拟 测 试 者 的 开 始 事 件 , 然 后 点 击 View Virtual Tester<br />

Output File。<br />

要 打 印 一 个 输 出 文 件 :<br />

● 从 一 个 打 开 的 输 出 文 件 中 , 点 击 File > Print。<br />

有 关 缺 陷 的 提 交 和和 修 改 (About Submitting and Modifying<br />

Defects)<br />

一 个 缺 陷 可 能 是 从 一 个 请 求 来来 的 任 何 事 , 针 对 一 个 新 的 特 征 , 在 测 试 之 下 的 应 用 中 向 着 一 个 实<br />

际 bug 的 发 现 。 缺 陷 跟 踪 是 软 件 测 试 工 作 的 重 要 部 分 。<br />

你 可 以 使 用 TestManager 的 Test Log 窗 口 来来 提 交 针 对 在 一 个 被 记 录 的 测 试 脚 本本 录 制 回 放 期 间 失 败<br />

的 任 意 查查 证 点 的 缺 陷 。 当 你 从 测 试 日 志 中 提 交 一 个 缺 陷 时 ,TestManager 打 开 一 个 特 殊 的 缺 陷 表 ,<br />

TestStudio 缺 陷 表 , 并 由 来来 自 日 志 的 信 息 填 充 该 表 。 如 果果 你 将 一 个 测 试 脚 本本 关 联 与 一 个 测 试 输 入 ,<br />

那 么 该 测 试 输 入 信 息 自 动 地 显 示 在 该 缺 陷 表 中 。( 当 你 提 交 缺 陷 时 ,TestManager 不 是 实 际 地 启启<br />

动 ClearQuest; 它 打 开 缺 陷 表 , 这 是 ClearQuest 的 一 部 分 。) 你 也 可 以 使 用 ClearQuest 来来 手 动 地 提<br />

交 缺 陷 , 但 是 没 有 区 域 将 被 自 动 地 填 充 。<br />

注 意 事 项 : 要 使 用 ClearQuest 来来 保 存 缺 陷 , 一 个 管 理 员员 必 须 首 先 设 置 ClearQuest 图 表 , 然 后 再 创<br />

建 或 者 附 上 一 个 ClearQuest 用 户 数 据 库 作 为 一 个 Rational 项 目 的 部 分 。 有 关 信 息 , 参 阅<br />

Administering Rational ClearQuest 手 册 。 如 果果 你 使 用 ClearQuest Multisite, 你 必 须 具 有 ClearQuest<br />

Multisite 权 限 以 提 交 或 者 修 改 在 Test Log 窗 口 中 的 一 个 缺 陷 表 。 如 果果 你 不 具 有 ClearQuest


51Testing 软 件 测 试 网<br />

Multisite, 你 可 以 使 ClearQuest 手 工 地 修 改 缺 陷 。<br />

为 了 你 的 便 利 , 一 个 专 门 地 设 计 图 表 ,TestStudio 图 表 , 是 为 你 的 缺 陷 跟 踪 而 包包 含 在 你 的 软 件 中<br />

的 。 在 ClearQuest 中 , 术术 语 schema 涉 及 到到 关 联 与 一 个 变 化化 - 请 求 (change-request) 数 据 库 的 全 部<br />

属 性 。 这 包包 含 区 域 定 义 , 区 域 行 为 , 状 态 转 变 表 , 活 动 , 和和 表 格 。 有 关 ClearQuest 图 表 的 更 多 信<br />

息 , 参 阅 Rational ClearQuest 的 帮 助 。<br />

关 于 Rational TestStudio 图 表 (About the Rational TestStudio Schema)<br />

TestStudio 图 表 包包 含 两 个 TestStudio 缺 陷 表 格 : 一 个 是 为 了 提 交 新 的 缺 陷 , 一 个 是 为 了 修 改 和和 跟<br />

踪 缺 陷 信 息 。<br />

注 意 事 项 : 要 使 用 TestStudio 图 表 , 你 必 须 在 你 创 建 一 个 ClearQuest 用 户 数 据 库 作 为 一 个 Rational<br />

项 目 的 部 分 时 选 择 它 。 你 也 可 以 选 择 对 一 个 项 目 的 一 个 现 存 的 ClearQuest 用 户 数 据 库 , 并 使 用<br />

TestStudio 图 表 。 如 果果 你 想 要 附 上 一 个 现 存 的 ClearQuest 数 据 库 , 它 与 TestStudio 图 表 相 比 有 不 同<br />

的 图 表 , 你 需 要 升 级 该 图 表 。 有 关 信 息 , 参 阅 Using the Rational Administrator 手 册 。<br />

你 可 以 使 用 TestStudio 缺 陷 表 来来 跟 踪 许 多 的 或 者 少 数 的 有 关 于 一 个 你 要 的 缺 陷 的 细 节 信 息 。<br />

注 意 事 项 : 要 展 现 缺 陷 表 中 各 个 条条 目 的 信 息 , 右 键 点 击 条条 目 并 点 击 帮 助 。<br />

如 何 提 交 和和 修 改 一 个 缺 陷 (How to Submit and Modify a Defect)<br />

你 可 以 从 Test Log 窗 口 或 ClearQuest 中 提 交 或 者 修 改 缺 陷 表 。 如 果果 你 打 开 TestManager 中 的 一 个 测<br />

试 日 志 ,TestManager 缺 陷 表 中 的 多 数 区 域 。 如 果果 你 使 用 ClearQuest, 那 么 你 必 须 手 动 输 入 。<br />

要 从 TestManager 中 提 交 或 者 修 改 一 个 缺 陷 :<br />

● 右 键 点 击 Event Type 栏栏 中 失 败 的 事 件 , 点 击 Submit Defect。<br />

● 点 击 Edit > Submit Defect。<br />

注 意 事 项 :TestManager 视 图 去 链 接 ClearQuest 使 用 你 的 用 户 名 和和 密 码 。 然 而 , 如 果果 TestManager<br />

依 然 不 能 够 链 接 到到 ClearQuest 数 据 库 , 那 么 Login 对 话 框 会 出 现 。 在 这 个 用 例 中 , 输 入 你 的<br />

ClearQuest 用 户 名 和和 密 码 。 选 择 你 想 要 提 交 缺 陷 的 数 据 库 。<br />

如 果果 你 从 测 试 日 志 提 交 一 个 缺 陷 , 那 么 新 的 缺 陷 的 数 量 会 显 示 在 测 试 日 志 的 Defect 栏栏 中 。


51Testing 软 件 测 试 网<br />

注 意 事 项 : 你 也 可 以 由 SiteCheck 提 交 缺 陷 , 在 你 录 制 回 放 了 一 个 Web 查查 证 点 之 后 。 从 测 试 日 志<br />

中 , 右 键 点 击 失 败 的 Web 查查 证 点 , 并 点 击 Submit Defect。 在 SiteCheck 中 , 点 击 Tools > Enter a<br />

Defect。<br />

打 印 一 个 测 试 日 志 (Printing a Test Log)<br />

你 可 以 预 览 或 者 打 印 在 活 动 测 试 日 志 中 展 现 的 信 息 , 以 分 析析 测 试 结 果果 , 就 像 下 面 展 示 的 这 个 例<br />

子 :<br />

当 你 打 印 一 个 活 动 测 试 日 志 时 , 你 打 印 的 文 档 将 匹 配 与 你 在 屏 幕 上 看 到到 的 内 容 , 如 此 确 定 要 展<br />

现 在 你 的 屏 幕 上 的 细 节 的 水 平 。 要 在 报 告告 中 获 得 更 多 的 细 节 , 点 击 Event Type 栏栏 中 的 (+) 号 。<br />

要 减 少 细 节 数 量 , 点 击 Event Type 栏栏 中 的 (-) 号 。<br />

要 打 印 一 个 活 动 的 测 试 日 志 :<br />

1 展 现 你 要 在 Test Log 窗 口 中 打 印 的 日 志 。


51Testing 软 件 测 试 网<br />

2 点 击 File > Print。<br />

日 志 事 件 属 性 类 型 的 管 理 (Managing Log Event Property<br />

Types)<br />

你 可 以 管 理 日 志 事 件 属 性 去 注 册 附 加 的 日 志 事 件 属 性 以 展 现 在 TestManager 中 。 在 你 添 加 一 个 新<br />

的 日 志 事 件 属 性 类 型 ―― 依 赖 与 它 如 何 被 定 义 ―― 它 展 现 在 Log Event 窗 口 的 一 个 单 独 的 标标 签<br />

中 , 作 为 文 本本 或 者 一 个 HTML 文 件 , 或 者 在 一 个 单 独 的 应 用 中 。 更 多 有 关 属 性 类 型 的 信 息 , 参<br />

阅 133 页 Viewing Events Details 的 内 容 。<br />

注 意 事 项 : 日 志 事 件 属 性 类 型 关 系 到到 TestManager 的 扩 展 性 。 当 整 合 一 个 新 的 测 试 脚 本本 类 型 时 ,<br />

你 可 以 定 义 附 加 的 日 志 事 件 属 性 。 更 多 信 息 , 参 阅 Rational Test Extensibility Reference 手 册 。<br />

TestManager 提 供 一 个 默 认 的 日 志 属 性 类 型 Virtual Tester Associated Data。<br />

这 不 仅 仅 适 用 于 通 过 http_request 指 令 ,TSS 登 陆 方 法 ( 诸 如 VB 中 的 TSSLog.Message) 产 生 的<br />

数 据 , 也 适 用 与 SQABasic 定 时 声 明 。<br />

例 如 , 如 果果 你 正 在 执 行 一 个 倚 赖 Web 服 务 器 的 测 试 , 那 么 你 可 以 设 置 一 个 事 件 类 型 , 它 明 确 地<br />

登 陆 HTTP 请 求 在 该 Web 服 务 器 上 。<br />

要 创 建 或 者 编 辑 一 个 日 志 事 件 属 性 类 型 :<br />

● 点 击 Tools > Manage > Log Event Property Types。 点 击 New。


51Testing 软 件 测 试 网<br />

由 Rational Robot 记 录 的 测 试 脚 本 结 果 的 查 看 ( Viewing<br />

Test Script Results Recorded with Rational Robot)<br />

你 可 以 使 用 Rational Robot 来来 记 录 包包 含 了 查查 证 点 的 测 试 脚 本本 。 在 你 录 制 回 放 该 测 试 脚 本本 之 后 ,<br />

Robot 写 结 果果 到到 一 个 日 志 中 。 某某 个 查查 证 点 也 具 有 被 保 存 的 基 线 数 据 文 件 (baseline data files)。 你<br />

可 以 使 用 适 当 的 比 较 器 (Comparators) 来来 查查 看 实 际 的 数 据 或 者 图 象 文 件 , 以 及 查查 看 和和 编 辑 需 要<br />

的 基 线 文 件 。<br />

除 了 使 用 Test Log 窗 口 去 查查 看 查查 证 点 的 录 制 回 放 结 果果 外 , 你 也 可 以 使 用 它 去 查查 看 程 序 上 的 失 败 ,<br />

异 常 , 和和 任 意 的 附 加 的 回 放 信 息 。<br />

一 个 测 试 周周 期 可 以 具 有 多 个 针 对 一 个 应 用 程 序 的 特 定 区 域 部 分 的 测 试 。<br />

复 查查 在 Test Log 窗 口 中 的 测 试 结 果果 展 现 是 否 是 通 过 或 者 失 败 。 分 析析 一 个 比 较 器 中 的 结 果果 帮 助 确 定<br />

一 个 测 试 为 什 么 会 失 败 。 复 查查 和和 分 析析 帮 助 确 定 你 所 处 的 软 件 开 发 的 位 置 , 以 及 是 否 一 个 失 败 是<br />

一 个 缺 陷 或 者 一 个 设 计 变 更 。


51Testing 软 件 测 试 网<br />

比 较 器 中 的 一 个 查查 证 点 的 查查 看 (Viewing a Verification Point in<br />

the Comparators)<br />

在 Test Log 窗 口 的 Details 页 中 , 失 败 的 事 件 在 Result 栏栏 中 被 指 明 为 红 色 。 如 果果 该 事 件 是 一 个 测<br />

试 脚 本本 的 一 个 失 败 的 查查 证 点 , 使 用 Robot 产 生 该 脚 本本 , 那 么 你 可 以 使 用 比 较 器 中 的 一 个 来来 分 析析 这<br />

个 失 败 。<br />

要 查查 看 一 个 比 较 器 中 的 一 个 查查 证 点 :<br />

1 打 开 一 个 测 试 日 志 。<br />

2 点 击 Details 标标 签 。<br />

3 右 键 点 击 一 个 查查 证 点 并 点 击 View Verification Point。<br />

打 开 合 适 的 比 较 器 是 基 于 查查 证 点 的 类 型 , 像 下 表 所 展 示 的 。 你 可 以 到到 那 时 分 析析 结 果果 去 确 定 是 否<br />

是 一 个 缺 陷 引 起 的 失 败 或 者 是 一 个 应 用 中 的 有 意 变 更 。<br />

比 较 器<br />

文 本本 比 较 器 (Text Comparator)<br />

表 格 比 较 器 (Grid Comparator)<br />

查查 证 点<br />

字 母 数 字 (Alphanumeric)<br />

对 象 数 据 (Object Data)<br />

菜 单 (Menu)<br />

写 字 板板 (Clipboard)<br />

图 象 比 较 器 (Image Comparator)<br />

窗 口 图 象 (Window Image)<br />

区 域 图 象 (Region Image)<br />

对 象 属 性 比 较 器 (Object Properties<br />

Comparator)<br />

对 象 属 性 (Object Properties)


51Testing 软 件 测 试 网<br />

注 意 事 项 :Rational QualityArchitect 使 用 表 格 比 较 器 (Grid Comparator) 来来 展 现 查查 证 点 信 息 。<br />

更 多 有 关 4 个 比 较 器 的 信 息 , 参 阅 181 页 Using the Comparators 的 内 容 。<br />

在 测 试 日 志 中 失 败 的 说 明 并 不 意 味味 着 测 试 之 下 的 应 用 (application-under-test) 是 失 败 的 。 你 需<br />

要 评 估 每 个 查查 证 点 的 失 败 伴 随 着 合 适 的 比 较 器 来来 确 定 他 是 否 是 一 个 实 际 的 缺 陷 , 一 个 录 制 回 放<br />

环 境 的 差 异 , 或 者 一 个 有 意 的 设 计 变 更 生 成 一 个 测 试 之 下 的 应 用 (application-under-test) 的 新<br />

的 build。<br />

录 制 回 放 / 环 境 的 差 异 (Playback/Environmental Differences)<br />

在 记 录 环 境 和和 录 制 回 放 环 境 之 间 的 差 异 可 以 产 生 失 败 说 明 , 但 它 不 能 代 表 软 件 中 的 一 个 实 际 的<br />

缺 陷 。<br />

(This can happen if there are applications or open windows in the recorded environment that are not<br />

in the environment, or vice versa。)<br />

这 可 以 发 生 , 如 果果 应 用 或 者 打 开 的 窗 口 在 被 记 录 的 环 境 中 , 不 是 该 环 境 , 或 者 反 之 也 可 以 。<br />

例 如 , 如 果果 你 创 建 一 个 文 件 使 用 被 记 录 的 环 境 中 的 Notepad, 那 么 当 你 在 录 制 回 放 该 测 试 脚 本本 时 ,<br />

该 文 件 已 经 存 在 , 并 且 测 试 日 志 展 示 与 你 实 际 测 试 的 软 件 无 关 的 一 个 失 败 。<br />

你 应 当 分 析析 这 些 伴 随 着 合 适 的 比 较 器 的 失 败 说 明 来来 确 定 , 在 测 试 脚 本本 录 制 回 放 或 者 一 个 无 关 的<br />

窗 口 期 间 , 是 否 Robot 不 能 够 被 发 现 的 窗 口 是 作 为 一 个 应 用 窗 口 而 已 经 打 开 。<br />

对 一 个 Application Build 的 有 意 更 改 (Intentional Changes to<br />

an Application Build)<br />

对 在 测 试 之 下 应 用 的 修 正 可 以 生 成 失 败 说 明 , 在 测 试 脚 本本 和和 使 用 一 个 先 前前 的 build 开 发 的 查查 证 点<br />

作 为 基 线 。 这 是 特 别 地 准 确 , 如 果果 该 用 户 接 口 已 经 改 变 。<br />

例 如 ,Window Image 查查 证 点 将 一 个 从 被 记 录 的 基 线 图 象 文 件 中 象 素 为 象 素 (pixel-for-pixel) 的<br />

位 图 与 测 试 之 下 的 应 用 的 版 本本 相 比 较 。 如 果果 用 户 接 口 变 更 , 那 么 Window Image 查查 证 点 将 会 失 败 。<br />

当 有 意 的 应 用 变 更 导 致 失 败 的 时 候 , 你 可 以 容 易 地 使 用 Image Comparator 来来 更 新 基 线 文 件 去 符 合<br />

新 的 接 口 。 在 其 他 区 域 有 意 的 变 更 , 也 可 以 使 用 其 他 的 比 较 器 来来 更 新 。<br />

For information about updating the baseline, see Using the Comparators on page 181.<br />

更 多 有 关 更 新 基 线 的 信 息 , 参 阅 181 页 Using the Comparators 的 内 容 。


51Testing 软 件 测 试 网<br />

结 果 的 报 告 Reporting Results<br />

TestManager 提 供 给 你 一 套 报 告告 的 标标 准 , 你 可 以 使 用 它 来来 分 析析 性 能 和和 测 试 用 例 的 结 果果 。<br />

TestManager 提 供 3 种 报 告告 类 型 来来 帮 助 你 进 行 你 的 测 试 工 作 。<br />

● 测 试 用 例 报 告告 (Test case reports)―― 使 用 它 来来 跟 踪 计 划 实 施 的 过 程 , 以 及 测 试 用 例 的 执 行 。<br />

● 列 表 报 告告 (Listing reports)―― 使 用 它 来来 展 现 保 存 在 一 个 Rational 项 目 中 的 测 试 资 产 。<br />

● 性 能 测 试 报 告告 (Performance testing reports)―― 使 用 它 来来 分 析析 在 指 定 条条 件 下 的 一 个 服 务 器 的<br />

性 能 。<br />

关 于 测 试 用 例 的 报 告告 (About Test Case Reports)<br />

测 试 用 例 报 告告 帮 助 你 跟 踪 计 划 实 施 的 过 程 , 以 及 测 试 用 例 的 执 行 。 这 些 报 告告 有 多 种 展 现 格 式 ,<br />

包包 括 栏栏 (bar) 图 , 堆 (stack) 图 , 面 积 (area) 图 , 线 (line) 图 , 饼 (pie) 图 , 以 及 树树 (tree)<br />

图 。<br />

这 是 测 试 用 例 报 告告 的 3 种 类 型 :<br />

● 测 试 用 例 分 布 (Test Case Distribution) 报 告告 可 以 在 计 划 期 间 和和 一 个 项 目 的 实 施 阶 段 被 起 到到<br />

作 用 。 一 个 测 试 用 例 分 布 报 告告 可 以 帮 助 你 确 定 :<br />

□ 计 划 的 测 试 用 例 的 数 量 。<br />

□ 由 测 试 脚 本本 实 施 的 测 试 用 例 的 数 量 。<br />

□ 未 被 实 施 的 测 试 用 例 的 数 量 。<br />

□ 由 手 工 测 试 脚 本本 或 者 自 动 测 试 脚 本本 实 施 的 测 试 用 例 的 数 量 。<br />

测 试 分 布 报 告告 来来 自 于 为 你 产 生 的 两 个 覆 盖 率 报 告告 。 这 些 测 试 覆 盖 率 报 告告 , 帮 助 你 跟 踪 你 的 计<br />

划 测 试 的 过 程 , 测 试 开 发 , 以 及 测 试 执 行 的 工 作 。<br />

□ 计 划 测 试 的 覆 盖 率 (Test Planning Coverage)―― 一 个 测 试 用 例 分 布 报 告告 展 现 计 划 的 测<br />

试 输 入 的 百 分 率 和和 计 划 的 测 试 用 例 的 数 量 。<br />

□ 测 试 开 发 的 覆 盖 率 (Test Development Coverage)―― 一 个 测 试 用 例 分 布 报 告告 有 助 于 编<br />

制 测 试 计 划 , 通 过 展 现 给 你 测 试 输 入 的 数 量 和和 百 分 率 , 具 有 的 由 测 试 脚 本本 实 施 的 准 备 去 执 行<br />

的 测 试 用 例 。 这 个 报 告告 展 现 给 你 不 仅 仅 是 针 对 每 个 测 试 输 入 , 你 是 否 已 经 计 划 了 一 个 测 试 脚<br />

本本 , 也 是 该 测 试 脚 本本 是 否 已 经 被 实 际 记 录 。<br />

下 面 的 测 试 用 例 分 布 报 告告 展 现 了 通 过 一 定 数 量 的 手 工 或 者 自 动 测 试 脚 本本 实 施 的 测 试 用 例 :


51Testing 软 件 测 试 网<br />

● 测 试 结 果果 分 布 (Test Case Results) 报 告告 可 以 在 一 个 项 目 的 执 行 阶 段 使 用 。 这 些 报 告告 提 供 有<br />

关 执 行 一 个 测 试 脚 本本 、 测 试 用 例 或 者 测 试 suite 的 关 键 性 信 息 。 通 过 结 果果 信 息 , 你 可 以 评 估 一<br />

个 特 定 build 的 质 量 , 以 及 这 个 build 的 测 试 过 程 。<br />

测 试 用 例 结 果果 分 布 报 告告 来来 自 于 已 经 为 你 创 建 的 一 个 覆 盖 率 报 告告 。 这 个 测 试 覆 盖 率 报 告告 帮 助 你<br />

跟 踪 你 的 测 试 执 行 工 作 的 过 程 。<br />

□ 测 试 执 行 的 覆 盖 率 (Test Execution Coverage)―― 一 个 测 试 用 例 结 果果 分 布 报 告告 展 现 计<br />

划 的 测 试 用 例 的 数 目 , 执 行 的 测 试 用 例 的 数 目 和和 百 分 比 , 通 过 的 测 试 用 例 的 数 目 , 以 及 失<br />

败 的 测 试 用 例 的 数 目 。<br />

下 面 的 测 试 用 例 的 结 果果 分 布 报 告告 展 现 了 有 结 果果 的 测 试 用 例 的 数 目 和和 针 对 每 个 测 试 输 入 已<br />

执 行 的 测 试 用 例 的 数 目 。


51Testing 软 件 测 试 网<br />

● 测 试 用 例 的 趋 向 报 告告 提 供 有 关 信 息 , 如 测 试 的 数 量 , 已 经 计 划 的 、 开 发 的 、 执 行 的 测 试 用 例<br />

的 数 量 , 或 者 是 在 一 段 时 期 内 符 合 测 试 标标 准 的 测 试 用 例 的 数 量 , 伴 随 通 过 builds、 迭 代 或 者 日 期<br />

的 间 隔 描 述 和和 指 定 。<br />

下 面 的 测 试 用 例 趋 向 报 告告 展 现 了 遍 及 所 有 迭 代 的 计 划 的 和和 实 施 的 测 试 用 例 的 数 目 。<br />

过 滤 测 试 输 入 的 来来 源 数 据 (Filtering Test Input Source Information)<br />

有 两 种 方 法 可 以 让 你 在 测 试 用 例 分 布 报 告告 或 者 测 试 用 例 结 果果 分 布 报 告告 中 过 滤 测 试 输 入 的 来来 源 数<br />

据 。<br />

注 意 事 项 : 当 你 过 滤 测 试 输 入 的 来来 源 数 据 时 , 它 可 以 为 TestManager 花 一 些 时 间 来来 生 成 一 个 新 的


51Testing 软 件 测 试 网<br />

报 告告 。<br />

● 在 你 执 行 一 个 报 告告 之 前前 过 滤 ―― 你 可 以 过 滤 掉 不 必 要 的 数 据 信 息 , 以 便 缩 小 展 现 在 一 个 测 试<br />

用 例 报 告告 中 的 数 据 数 量 。<br />

● 在 你 执 行 了 一 个 报 告告 之 后 过 滤 ―― 执 行 一 个 报 告告 之 后 , 如 果果 你 依 然 需 要 去 排 除 不 必 要 的 信 息<br />

和和 数 据 , 那 么 你 可 以 过 滤 掉 这 些 不 必 要 的 数 据 信 息 。<br />

在 一 个 测 试 用 例 报 告告 中 查查 看 资 产 属 性 (Viewing Properties of Assets in a Test Case Report)<br />

你 可 以 在 任 意 类 型 的 测 试 用 例 报 告告 中 查查 看 一 个 资 产 的 属 性 。 双 击 在 一 个 报 告告 中 的 资 产 来来 展 现 关<br />

联 与 特 殊 资 产 的 一 个 测 试 用 例 列 表 , 如 下 图 所 示 :


51Testing 软 件 测 试 网<br />

注 意 事 项 : 当 你 保 存 一 个 报 告告 时 , 它 创 建 一 个 JPEG 格 式 的 图 。 你 不 能 双 击 一 个 JPEG 格 式 的 图 来来<br />

展 现 一 个 资 产 列 表 。<br />

当 你 双 击 测 试 用 例 报 告告 的 一 个 树树 图 类 型 中 的 一 个 被 计 数 资 产 的 数 目 时 ( 一 个 测 试 用 例 分 布 报 告告<br />

或 者 测 试 用 例 结 果果 报 告告 在 你 分 布 在 一 个 测 试 输 入 或 者 测 试 计 划 时 被 创 建 ), 该 资 产 在 那 个 特 定<br />

的 count 中 展 现 。<br />

例 如 , 在 下 面 的 图 中 , 当 你 双 击 实 施 栏栏 中 的 9 时 , 一 个 含 有 9 个 已 实 施 的 测 试 用 例 的 列 表 出 现 在<br />

测 试 用 例 列 表 窗 口 中 。 要 查查 看 任 意 资 产 的 属 性 , 选 择 一 个 资 产 , 并 右 键 点 击 Properties。<br />

你 可 以 在 测 试 用 例 报 告告 的 一 个 树树 图 类 型 中 , 查查 看 全 部 的 关 联 与 一 个 资 产 的 测 试 用 例 的 数 目 。 当<br />

你 “ 卷 起 ”(roll-up) 一 个 报 告告 时 , 全 部 的 关 联 与 一 个 资 产 的 测 试 用 例 的 数 目 出 现 。 当 你 “ 卷<br />

下 ”(roll-down) 一 个 报 告告 时 , 关 联 与 一 个 资 产 的 测 试 用 例 的 数 目 出 现 在 每 个 资 产 的 旁 边 。


51Testing 软 件 测 试 网<br />

关 于 列 表 的 报 告告 (About Listing Reports)<br />

列 表 报 告告 展 现 保 存 在 一 个 Rational 项 目 中 的 不 同 测 试 资 产 的 列 表 。<br />

TestManager 包包 含 针 对 builds, 测 试 机机 , 测 试 机机 列 表 , 配 置 , 迭 代 ,sessions,suites, 测 试 日 志 ,<br />

测 试 计 划 , 测 试 脚 本本 , 以 及 用 户 的 列 表 报 告告 。<br />

每 个 列 表 报 告告 来来 自 于 一 个 或 者 更 多 的 你 可 以 使 用 的 设 计 布 局 。 一 个 设 计 布 局 定 义 每 个 报 告告 的 外<br />

观 和和 包包 含 在 一 个 列 表 报 告告 中 的 说 明 信 息 。 你 也 可 以 定 制 设 计 布 局 或 者 使 用 Crystal Reports 创 建 新<br />

的 设 计 布 局 。 有 关 信 息 , 参 阅 153 页 Customizing Design Layouts for Listing Reports 的 内 容 。<br />

通 过 使 用 不 同 的 布 局 组 合 以 及 列 表 报 告告 , 你 可 以 创 建 准 备 去 执 行 (ready-to-run) 的 报 告告 的 一 个<br />

广 泛 的 种 类 。<br />

例 如 , 使 用 可 用 的 设 计 布 局 和和 列 表 报 告告 , 你 可 以 创 建 一 个 测 试 脚 本本 的 列 表 报 告告 :<br />

● 列 出 你 项 目 中 的 所 有 测 试 脚 本本 的 细 节 。


51Testing 软 件 测 试 网<br />

● 总 结 概 述 一 个 项 目 中 的 所 有 测 试 机机 。<br />

你 也 可 以 创 建 一 个 查查 询 来来 说 明 包包 含 在 一 个 列 表 报 告告 中 的 数 据 。 有 关 创 建 一 个 查查 询 的 信 息 , 参 阅<br />

的 Crystal Reports 帮 助 。<br />

为 列 表 报 告告 定 制 设 计 布 局 (Customizing Design Layouts for Listing Reports)<br />

一 个 设 计 布 局 定 义 每 个 列 表 报 告告 的 外 观 和和 包包 含 在 一 个 列 表 报 告告 中 的 说 明 信 息 。 要 定 制 已 存 在 的<br />

设 计 布 局 , 或 者 创 建 一 个 新 的 设 计 布 局 , 你 必 须 安 装 Crystal Reports 8.0 Professional Edition( 专<br />

业 版 )。Crystal Reports 软 件 在 你 的 Rational 软 件 工 具 包包 的 一 个 单 独 的 CD-ROM 中 。<br />

当 你 在 TestManager 中 创 建 一 个 新 的 列 表 报 告告 时 , 你 可 以 选 择 性 地 创 建 新 的 或 者 定 制 现 存 的 设 计<br />

布 局 。Crystal Reports 使 用 资 产 字 典 和和 保 存 在 Rational Test 数 据 库 中 的 属 性 。 这 些 字 典 链 接 各 种 各<br />

样 的 资 产 一 起 使 用 数 据 库 图 解 。<br />

更 多 有 关 使 用 Crystal Reports 来来 创 建 新 的 或 者 定 制 已 存 在 的 设 计 布 局 的 信 息 , 参 阅 Crystal Reports


51Testing 软 件 测 试 网<br />

帮 助 。<br />

关 于 性 能 测 试 的 报 告告 (About Performance Testing Reports)<br />

性 能 测 试 报 告告 帮 助 你 分 析析 在 指 定 条条 件 下 , 一 个 服 务 器 的 性 能 。 例 如 , 你 可 以 决 定 一 个 虚 拟 测 试<br />

者 多 长 时 间 来来 执 行 一 个 命命 令 , 以 及 在 不 同 的 suite 执 行 下 的 响响 应 时 间 的 变 化化 。<br />

你 也 可 以 定 制 报 告告 。<br />

性 能 测 试 报 告告 包包 括 :<br />

● 性 能 (Performance) 报 告告 。<br />

● 比 较 性 能 (Compare Performance) 报 告告 。<br />

● 响响 应 时 间 (Response vs. Time) 报 告告 。<br />

● 命命 令 状 态 (Command Status) 报 告告 。<br />

● 命命 令 使 用 (Command Usage) 报 告告 。<br />

有 关 性 能 测 试 报 告告 的 细 节 信 息 , 参 阅 291 页 Reporting Performance Testing Results 的 内 容 。<br />

选 择 要 使 用 的 报 告告 (Selecting Which Reports to Use)<br />

下 面 的 表 总 结 了 TestManager 报 告告 的 类 型 。


51Testing 软 件 测 试 网


51Testing 软 件 测 试 网<br />

To<br />

使 用 的 报 告告<br />

有 关 信 息 , 参 阅<br />

利 用 一 个 特 殊 的 属 性 分 类 测 试 用<br />

例 。( 例 如 , 你 可 以 查查 看 在 每 个<br />

迭 代 中 有 多 少 的 测 试 用 例 或 者 在<br />

一 个 特 殊 的 测 试 组 中 通 过 人 员员 创<br />

建 的 测 试 用 例 的 数 量 。)<br />

确 定 符 合 你 的 测 试 标标 准 的 测 试 用<br />

例 的 数 量 。<br />

确 定 为 一 些 builds, 迭 代 , 或 者 日<br />

期 计 划 的 , 实 施 的 , 或 者 执 行 的<br />

测 试 用 例 的 百 分 比 ; 查查 看 针 对 一<br />

些 builds 已 测 试 的 , 未 测 试 的 , 满<br />

测 试 用 例 分 布 报 告告<br />

测 试 用 例 结 果果 分 布<br />

测 试 用 例 趋 向<br />

145 页 的 About Test<br />

Case<br />

145 页 的 About Test<br />

Case<br />

145 页 的 About Test<br />

Case


51Testing 软 件 测 试 网<br />

意 的 , 或 者 不 满 意 的 测 试 输 入 的<br />

百 分 比 。<br />

编 列 你 项 目 中 的 builds Build 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 测 试 机机 测 试 机机 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 测 试 机机 列 表 测 试 机机 表 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 配 置 配 置 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 迭 代 迭 代 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 session Session 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 suites Suite 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 测 试 日 志 测 试 日 志 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 测 试 计 划 测 试 计 划 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 测 试 脚 本本 测 试 脚 本本 的 列 表 152 页 的 About Listing<br />

Report<br />

编 列 你 项 目 中 的 用 户 用 户 的 列 表 152 页 的 About Listing<br />

Report<br />

展 现 响响 应 时 间 , 和和 估 计 平 均 数 、<br />

标标 准 偏 差 和和 一 个 suite 中 的 针 对 每<br />

个 命命 令 的 百 分 比<br />

性 能<br />

308 页 的 Performance<br />

Report<br />

比 较 由 多 个 性 能 报 告告 估 量 的 响响 应<br />

时 间<br />

展 现 单 独 的 响响 应 时 间 以 及 是 否 一<br />

个 响响 应 已 经 通 过 或 者 失 败<br />

比 较 性 能<br />

响响 应 时 间<br />

312 页 的 Compare<br />

Performance Report<br />

317 页 的 Respone Vs.<br />

Time Report


51Testing 软 件 测 试 网<br />

获 得 命命 令 通 过 或 者 失 败 的 一 个 快<br />

速 的 摘 要<br />

查查 看 累 计 响响 应 时 间 和和 摘 要 统 计 ,<br />

以 及 针 对 所 有 测 试 脚 本本 的 仿 真 命命<br />

令 , 和和 针 对 一 个 suite 执 行 作 为 整 体<br />

的 “ 吞 吐 量 ” 的 信 息<br />

命命 令 状 态<br />

命命 令 使 用<br />

320 页 的 Commond<br />

Status Report<br />

322 页 的 Commond<br />

Usege Report<br />

设 计 你 自 己 的 报 告告 (Designing Your Own Reports)<br />

如 果果 你 是 一 个 有 经 验 的 Crystal Reports 用 户 , 你 可 以 创 建 除 列 表 报 告告 之 外 你 自 己 的 常 规 报 告告 来来 符<br />

合 你 的 测 试 团 队 的 需 要 。 有 关 信 息 , 参 阅 Crystal Reports 帮 助 。<br />

附 加 报 告告 (Additional Reports)<br />

附 加 报 告告 在 Rational ClearQuest 和和 Rational SoDA 中 是 可 用 的 。<br />

你 可 以 使 用 ClearQuest 报 告告 , 和和 设 计 布 局 , 查查 询 , 和和 图 表 来来 帮 助 你 管 理 缺 陷 数 据 库 。 这 些 报 告告<br />

和和 其 他 的 条条 款 是 为 你 在 创 建 一 个 关 联 ClearQuest 数 据 库 的 项 目 时 自 动 创 建 的 。 有 关 使 用 这 些 缺<br />

陷 报 告告 的 信 息 , 参 阅 ClearQuest 的 帮 助 。<br />

有 关 创 建 一 个 项 目 的 信 息 , 参 阅 Using the Rational Administrator 手 册 。<br />

你 也 可 以 使 用 SoDA 创 建 报 告告 。Rational SoDA 是 一 个 报 告告 生 成 工 具 , 以 支 持 报 告告 和和 规 范 的 文 档 需<br />

求 。 通 过 SoDA, 你 可 以 从 不 同 的 信 息 来来 源 中 取 回 信 息 , 诸 如 Rational Rose 和和 Rational<br />

RequisitePro, 去 创 建 一 个 单 一 的 文 档 或 者 报 告告 。 有 关 使 用 Rational SoDA 创 建 报 告告 的 信 息 , 参 阅<br />

SoDA 的 帮 助 。 要 使 用 SoDA, 点 击 Reports > SoDA Report。<br />

创 建 报 告告 (Creating Reports)<br />

要 创 建 一 个 报 告告 :<br />

● 点 击 Reports > New, 并 选 择 你 想 要 创 建 的 报 告告 类 型 。<br />

创 建 一 个 测 试 用 例 分 布 报 告告 (Creating a Test Case Distribution Report)<br />

当 你 创 建 一 个 测 试 用 例 分 布 报 告告 时 , 你 可 以 选 择 数 据 如 何 出 现 :


51Testing 软 件 测 试 网<br />

在 栏栏 (bar) 中 , 堆 (stack) 中 , 行 (line) 中 , 饼 (pie) 图 中 , 或 者 树树 型 报 告告 , 这 依 赖 与 你 选<br />

择 的 报 告告 类 型 。<br />

创 建 一 个 测 试 用 例 结 果果 分 布 报 告告 (Creating a Test Case Results Distribution<br />

Report)<br />

当 你 创 建 一 个 测 试 用 例 结 果果 分 布 报 告告 时 , 你 选 择 报 告告 中 测 试 用 例 结 果果 :<br />

创 建 一 个 测 试 用 例 趋 向 报 告告 (Creating a Test Case Trend Report)<br />

当 你 创 建 一 个 测 试 用 例 趋 向 报 告告 时 , 你 选 择 有 关 测 试 用 例 和和 测 试 输 入 的 数 据 信 息 , 它 们 越 过 你<br />

要 显 示 在 一 个 报 告告 中 的 一 些 builds, 迭 代 , 或 者 日 期 。


51Testing 软 件 测 试 网<br />

创 建 一 个 列 表 报 告告 (Creating a Listing Report)<br />

当 你 创 建 一 个 列 表 报 告告 时 , 你 确 定 你 如 何 通 过 一 个 Crystal Reports 设 计 布 局 来来 展 现 你 想 要 的 信<br />

息 。 你 可 以 创 建 新 的 或 者 定 制 现 存 的 Crystal Reports 设 计 布 局 。 有 关 信 息 , 参 阅 153 页 Customizing<br />

Design<br />

Layouts for Listing Reports 的 内 容 。<br />

创 建 性 能 测 试 报 告告 (Creating Performance Testing Reports)<br />

当 你 创 建 性 能 测 试 报 告告 时 , 你 可 以 说 明 执 行 报 告告 的 日 志 数 据 和和 如 何 操 作 这 些 日 志 数 据 以 便 你 刚<br />

好 看 到到 你 需 要 的 信 息 。 有 关 创 建 性 能 测 试 报 告告 的 细 节 信 息 , 参 阅 291 页 的 Reporting Performance<br />

Testing Results 内 容 。


51Testing 软 件 测 试 网<br />

打 开 一 个 报 告告 (Opening a Report)<br />

在 创 建 和和 保 存 一 个 报 告告 之 后 , 你 可 以 打 开 它 , 如 果果 必 要 的 话 , 对 该 报 告告 可 做 更 改 。<br />

要 打 开 或 者 变 更 一 个 报 告告 , 可 依 照 下 面 的 一 种 方 法 来来 做 :<br />

● 点 击 Reports > Open, 从 列 表 中 选 择 一 个 报 告告 , 并 点 击 OK。<br />

● 在 Test Asset Workspace( 测 试 资 产 工 作 区 ) 的 Analysis 标标 签 中 , 选 择 你 要 打 开 的 报 告告 类 型 。<br />

选 择 你 要 打 开 或 者 修 改 的 特 定 的 报 告告 。<br />

● 从 Report 栏栏 ( 只 有 性 能 测 试 报 告告 ) 中 打 开 一 个 报 告告 。<br />

有 关 打 开 一 个 报 告告 的 细 节 信 息 , 参 阅 TestManager 的 帮 助 。<br />

报 告告 的 执 行 (Running Reports)<br />

你 可 以 从 以 下 的 地 方 来来 执 行 报 告告 :<br />

● 在 测 试 资 产 工 作 区 (Test Asset Workspace)。<br />

● 报 告告 (Report) 菜 单 。<br />

● 报 告告 (Report) 栏栏 ( 只 有 性 能 测 试 报 告告 )。 有 关 信 息 , 参 阅 294 页 的 Running a Report from the Report<br />

Bar 内 容 。<br />

从 测 试 资 产 工 作 区 执 行 一 个 报 告告 (Running a Report from the Test Asset<br />

Workspace)<br />

要 从 测 试 资 产 工 作 区 (Test Asset Workspace) 执 行 一 个 报 告告 :<br />

● 在 测 试 资 产 工 作 区 (Test Asset Workspace) 的 Analysis 标标 签 中 , 扩 展 执 行 的 报 告告 的 类 型 。<br />

右 键 点 击 特 定 的 报 告告 , 并 点 击 Run。<br />

从 菜 单 执 行 一 个 报 告告 (Running a Report from the Menu)<br />

从 菜 单 执 行 一 个 报 告告 :<br />

● 点 击 , 并 选 择 要 执 行 的 报 告告 类 型 。 选 择 一 个 特 定 报 告告 , 并 点 击 OK。<br />

打 印 , 保 存 , 或 者 复 制 一 个 测 试 用 例 报 告告 (Printing, Saving, or<br />

Copying a Test Case Report)<br />

在 你 执 行 一 个 测 试 用 例 报 告告 之 后 , 你 可 以 打 印 , 保 存 或 者 复 制 它 到到 剪 贴 板板 (Clipboard) 中 。


51Testing 软 件 测 试 网<br />

在 一 个 列 表 报 告告 上 打 印 , 输 出 , 或 者 缩 放 (Printing, Exporting,<br />

or Zooming in on a Listing Report)<br />

在 你 执 行 一 个 列 表 报 告告 之 后 , 你 可 以 打 印 它 或 者 输 出 它 到到 一 个 不 同 的 文 件 格 式 中 , 并 保 存 它 在<br />

你 的 测 试 机机 上 。 你 可 以 输 出 一 个 完 成 的 文 件 到到 一 些 大 众 的 spreadsheet, 文 字 处 理 格 式 , 和和 到到<br />

HTML,ODBC, 以 及 普 通 的 数 据 交 换 格 式 。 这 样 使 得 分 布 信 息 的 进 行 变 得 容 易 。 例 如 , 你 可 能<br />

要 使 用 在 一 个 spreadsheet 中 的 项 目 趋 向 报 告告 或 者 要 发 信 给 你 的 测 试 团 队 中 的 其 他 成 员员 。


51Testing 软 件 测 试 网<br />

复 制 报 告告 到到 一 个 新 项 目 中 (Copying Reports to a New Project)<br />

如 果果 你 创 建 一 个 报 告告 或 者 一 个 新 的 设 计 布 局 , 并 且 要 在 一 个 新 的 项 目 中 使 用 它 , 那 么 可 以 使 用<br />

Rational Administrator, 在 你 创 建 一 个 新 项 目 时 复 制 它 们 。Rational Administrator 复 制 任 意 已 保 存<br />

的 列 表 报 告告 和和 列 表 设 计 布 局 到到 这 个 新 的 项 目 中 。<br />

有 关 信 息 , 参 阅 Administrator 帮 助 。<br />

创 建 一 个 查查 询 (Creating a Query)<br />

一 个 查查 询 是 针 对 从 一 个 Rational Test 数 据 库 中 说 明 信 息 的 一 个 请 求 。 你 可 以 为 TestManager 报 告告 中<br />

的 每 个 类 型 创 建 一 个 查查 询 。<br />

针 对 测 试 用 例 分 布 , 测 试 用 例 趋 向 , 和和 性 能 测 试 报 告告 的 查查 询 (Queries for Test Case<br />

Distribution, Test Case Trend, and Performance Testing)<br />

Report<br />

TestManager 提 供 预 定 义 (pre-defined) 的 查查 询 来来 缩 小 测 试 用 例 分 布 , 测 试 用 例 结 果果 分 布 , 测 试<br />

用 例 趋 向 , 和和 性 能 测 试 报 告告 中 的 数 据 。 你 可 以 编 辑 现 存 的 查查 询 和和 为 这 些 报 告告 创 建 你 自 己 的 查查 询 。<br />

要 创 建 一 个 查查 询 , 依 照 下 面 的 一 种 方 法 :<br />

● 创 建 或 者 打 开 一 个 报 告告 , 并 点 击 New 按 钮 到到 Query 区 域 。


51Testing 软 件 测 试 网<br />

● 点 击 Tools > Manage > Queries > Test Case。<br />

针 对 列 表 报 告告 的 查查 询 (Queries for Listing Reports)<br />

要 创 建 一 个 针 对 列 表 报 告告 的 查查 询 , 你 必 须 安 装 Crystal Reports 8.0 Professional Edition( 专 业 版 )。<br />

Crystal Reports 软 件 可 在 你 的 Rational 软 件 工 具 包包 中 的 一 个 单 独 的 CD-ROM 中 获 得 。 有 关 为 列 表 报<br />

告告 创 建 一 个 查查 询 的 信 息 , 参 阅 Crystal Reports 帮 助 。


51Testing 软 件 测 试 网<br />

Part 2: Functional Testing with Rational<br />

TestManager


51Testing 软 件 测 试 网<br />

功 能 测 试 suites 的 创 建 ( Creating<br />

FunctionalTesting Suites) 7<br />

本本 章 描 述 如 何 创 建 功 能 测 试 的 suites。 它 包包 含 了 下 面 的 标标 题 内 容 :<br />

● 关 于 suites<br />

● 向 suite 中 插 入 一 个 测 试 机机 组<br />

● 向 suite 中 插 入 一 个 测 试 脚 本本<br />

● 向 suite 中 插 入 一 个 测 试 用 例<br />

● 向 suite 中 插 入 一 个 suite<br />

● 在 一 个 测 试 脚 本本 、 测 试 用 例 、 或 者 suite 上 设 置 一 个 前前 置 条条 件<br />

● 向 suite 中 插 入 一 个 选 择 器<br />

● 向 suite 中 插 入 其 他 项<br />

● 在 一 台 指 定 的 测 试 机机 上 执 行 测 试<br />

● 在 不 同 的 测 试 机机 上 分 布 测 试<br />

● 执 行 suites<br />

关 于 Suites(About Suites)<br />

一 个 suite 显 示 一 个 分 层 的 你 要 测 试 的 任 务 表 示 。 它 展 现 一 些 项 , 如 执 行 测 试 的 测 试 机机 。 执 行 的<br />

测 试 脚 本本 , 以 及 每 个 测 试 脚 本本 执 行 的 次 数 。<br />

Through a suite, you can:<br />

通 过 一 个 suite, 你 可 以 :


51Testing 软 件 测 试 网<br />

● 分 配 测 试 用 例 到到 测 试 机机 , 在 没 有 再 分 配 它 们 的 情 况 下 返 回 这 些 测 试 用 例 。<br />

● 在 下 一 台 可 用 的 测 试 机机 上 执 行 测 试 脚 本本 和和 测 试 用 例 , 从 而 加 快 你 的 测 试 过 程 。<br />

● 在 一 个 suite 中 的 项 上 设 置 前前 置 条条 件 , 它 是 在 suite 中 执 行 下 一 个 项 之 前前 需 要 它 们 成 功 地 完 成 。<br />

● 同 步 化化 虚 拟 测 试 者 。<br />

注 意 事 项 : 在 本本 章 地 suites 中 包包 含 了 GUI 测 试 脚 本本 , 它 一 般 被 用 来来 进 行 功 能 测 试 。 一 个 suite,<br />

当 然 , 也 可 以 包包 含 VU 测 试 脚 本本 ,VB 测 试 脚 本本 , 或 者 其 他 地 “ 用 户 定 义 ” 的 测 试 脚 本本 类 型 。<br />

向 suite 中 插 入 一 个 测 试 机 组 (Inserting a Computer Group<br />

into a Suite)<br />

当 你 为 功 能 测 试 创 建 一 个 suite 时 , 你 首 先 要 设 置 computer groups( 测 试 机机 组 )。 一 个 测 试 机机 组<br />

包包 含 该 suite 执 行 的 测 试 脚 本本 , 并 声 明 测 试 机机 是 可 用 与 该 suite 的 。<br />

你 的 测 试 可 执 行 在 你 在 TestManager 中 已 经 定 义 的 任 意 Agent( 代 理 ) 测 试 机机 上 。 如 果果 你 还 没 有<br />

定 义 任 意 的 测 试 机机 ,TestManager 会 在 Local( 本本 地 ) 测 试 机机 上 执 行 你 的 测 试 。 有 关 定 义 测 试 机机 的<br />

信 息 , 参 阅 69 页 Defining Agent Computers and Computer Lists 的 内 容 。<br />

如 果果 你 只 是 插 入 一 个 测 试 机机 组 并 接 受 默 认 方 式 , 那 么 TestManager 创 建 一 个 测 试 机机 组 。 当 你 想 使<br />

用 multiple computer groups( 并 联 的 测 试 机机 组 ):<br />

● 分 配 某某 些 项 来来 执 行 在 某某 个 测 试 机机 集 合 上 。 这 些 项 分 配 到到 一 个 组 将 仅 仅 使 用 被 分 配 到到 那 个 组 的<br />

测 试 机机 。<br />

● 在 一 个 suite 中 混 和和 GUI 和和 VU 测 试 脚 本本 。GUI 和和 VU 测 试 脚 本本 必 须 在 不 同 的 测 试 机机 组 中 。<br />

当 你 插 入 一 个 测 试 机机 组 到到 suite 中 时 , 你 必 须 决 定 你 何 时 分 配 这 些 测 试 机机 。 你 使 用 的 这 个 方 法 适<br />

用 与 完 整 的 suite。 你 可 以 :<br />

● 在 你 插 入 测 试 机机 组 时 , 分 配 指 定 的 测 试 机机 。 该 suite 将 执 行 , 当 然 , 如 果果 这 些 测 试 机机 在 执 行 期<br />

是 可 用 的 话 。<br />

● 等 待 , 直 到到 执 行 期 时 分 配 指 定 的 测 试 机机 。 当 你 执 行 suite 时 ,TestManager 促 使 你 为 使 用 该 测<br />

试 机机 。 在 执 行 期 间 , 该 suite 将 会 执 行 在 任 意 存 在 的 这 些 可 用 的 测 试 机机 上 。<br />

当 你 在 执 行 期 间 分 配 测 试 机机 时 , 你 要 限 制 该 suite 到到 一 个 测 试 机机 组 。<br />

● 在 任 意 空 闲 的 以 运 行 一 个 测 试 脚 本本 的 测 试 机机 上 执 行 测 试 。 这 被 称 作 分 布 式 功 能 测 试<br />

(distributed functional testing)。 有 关 分 布 式 功 能 测 试 的 信 息 , 参 阅 178 页 的 Distributing Tests<br />

Among Different Computers 内 容 。


51Testing 软 件 测 试 网<br />

要 插 入 一 个 测 试 机机 组 到到 一 个 suite 中 去 :<br />

● 点 击 Suite > Insert > Computer Group。<br />

此 时 , 该 测 试 机机 组 中 的 虚 拟 测 试 者 被 分 配 到到 本本 地 (Local computer) 测 试 机机 上 。<br />

要 分 配 代 理 测 试 机机 (Agent computer) 给 组 内 的 虚 拟 测 试 者 :<br />

● 清 除 Prompt for computers before running suite, 点 击 Change。<br />

向 suite 中 插 入 一 个 测 试 脚 本 (Inserting a Test Script into a<br />

Suite)<br />

在 你 插 入 一 个 测 试 机机 组 到到 一 个 suite 中 后 , 你 可 以 插 入 测 试 脚 本本 , 该 测 试 机机 组 将 会 执 行 。 一 个 测<br />

试 脚 本本 一 次 运 行 在 一 台 测 试 机机 上 。<br />

要 插 入 一 个 测 试 脚 本本 到到 一 个 suite 中 去 :<br />

● 从 一 个 打 开 的 suite 中 , 选 择 测 试 机机 组 以 执 行 测 试 脚 本本 , 然 后 点 击 Suite > Insert > Test<br />

Script。


51Testing 软 件 测 试 网<br />

你 可 以 设 置 一 个 关 于 测 试 脚 本本 的 前前 置 条条 件 。 当 你 设 置 一 个 前前 置 条条 件 时 , 测 试 脚 本本 必 须 成 功 地 完<br />

成 , 以 使 其 他 的 具 有 相 同 “ 父 类 ” 的 suite 项 执 行 。 例 如 , 一 个 测 试 脚 本本 可 能 确 立 了 软 件 中 的 某某<br />

种 状 态 。 你 可 以 执 行 该 测 试 脚 本本 以 确 立 该 状 态 , 然 后 再 执 行 依 赖 与 系 统 状 态 的 一 系 列 的 测 试 。<br />

有 关 前前 置 条条 件 的 信 息 , 参 阅 174 页 的 Setting a Precondition on a Test Script, Test Case, 或 者 Suite 内<br />

容 。<br />

向 suite 中 插 入 测 试 用 例 (Inserting a Test Case into a<br />

Suite)<br />

测 试 用 例 使 你 :<br />

● 在 没 有 考 虑 它 的 实 施 的 情 况 下 定 义 一 个 测 试 。 久 而 久 之 , 实 施 可 以 被 改 变 , 但 是 测 试 用 例 仍<br />

然 是 一 样 的 。 它 的 好 处 是 你 可 以 创 建 一 个 具 有 一 个 测 试 用 例 的 suite, 并 在 没 有 更 新 或 者 保 持<br />

该 suite 的 情 况 下 改 变 实 施 ( 测 试 脚 本本 )。<br />

● 插 入 测 试 用 例 到到 suite 中 , 以 使 你 可 以 一 次 执 行 并 联 的 测 试 用 例 , 并 保 存 在 一 起 执 行 的 测 试 用


51Testing 软 件 测 试 网<br />

例 集 合 。<br />

● 插 入 配 置 的 测 试 用 例 以 查查 证 一 个 测 试 用 例 在 多 样 的 不 同 环 境 中 顺 利 进 行 。<br />

To insert a test case into a suite:<br />

Click Suite > Insert > Test Case.<br />

要 插 入 一 个 测 试 用 例 到到 suite 中 :<br />

● 点 击 Suite > Insert > Test Case。<br />

你 可 以 设 置 一 个 关 于 测 试 用 例 的 前前 置 条条 件 。 当 你 设 置 一 个 前前 置 条条 件 时 , 测 试 用 例 必 须 成 功 地 完<br />

成 , 以 使 其 他 的 具 有 相 同 “ 父 类 ” 的 suite 项 执 行 。<br />

有 关 前前 置 条条 件 的 信 息 , 参 阅 174 页 的 Setting a Precondition on a Test Script, Test Case, 或 者 Suite 内<br />

容 。<br />

要 设 置 一 个 关 于 测 试 用 例 的 前前 置 条条 件 :<br />

● 右 键 点 击 测 试 用 例 来来 实 施 前前 置 条条 件 , 并 选 择 Run Properties。


51Testing 软 件 测 试 网<br />

插 入 suites 和 Scenarios 到到 suites 中 (Inserting Suites and<br />

Scenarios into Suites)<br />

插 入 suites 或 者 scenarios 到到 一 个 suite 中 能 够 使 你 保 持 suite 项 的 一 个 层 次 结 构构 。 当 你 插 入 一 个 suite<br />

或 者 scenario 到到 一 个 suite 中 时 , 你 可 以 :<br />

● 重 用 suite 的 项 , 在 没 有 将 他 们 重 复 到到 一 个 suite 的 复 合 区 域 中 的 情 况 下 。<br />

● 将 suite 的 项 聚 集 在 一 起 , 以 使 它 们 可 以 被 一 个 以 上 的 测 试 机机 组 所 共 享 。<br />

● 更 加 容 易 地 保 持 你 的 suite。 这 是 尤 其 准 确 的 , 如 果果 你 有 一 个 复 杂 的 使 用 了 很 多 测 试 脚 本本 的 suite<br />

的 话 。 在 一 个 suite 或 者 scenario 下 聚 集 这 些 suite 项 , 有 一 个 优 点 , 就 是 让 你 的 suite 更 容 易 的 保 持<br />

和和 阅 读 。<br />

在 功 能 测 试 中 , 你 有 代 表 性 地 插 入 一 个 suite 到到 另 一 个 suite 中 , 因 为 插 入 一 个 suite 将 提 供 更 大 的<br />

灵 活 性 。 一 般 而 言 , 插 入 一 个 suite 到到 另 一 个 suite 中 , 是 在 :<br />

● 你 希 望 在 复 合 的 suites 中 重 用 一 系 列 的 项 。 你 可 以 插 入 一 个 suite 到到 不 同 的 suites 中 去 。<br />

● 你 希 望 的 任 何 变 更 , 你 将 一 个 suite 被 复 制 与 那 个 suite 的 每 一 个 实 例 中 。<br />

插 入 一 个 scenario 到到 一 个 suite 中 时 :<br />

● 你 希 望 重 用 一 个 suite 中 的 一 系 列 项 。 这 时 , 你 不 能 插 入 一 个 scenario 到到 不 同 的 suites 中 去 。<br />

● 你 希 望 在 你 打 开 一 个 suite 时 看 到到 这 个 suite 所 有 项 的 层 次 。 这 时 ,Scenario 可 以 让 你 看 到到 这 个 结<br />

构构 。 如 果果 你 插 入 一 个 suite 到到 另 一 个 suite 中 , 那 么 你 只 有 打 开 这 个 子 suite 来来 查查 看 它 的 项 。<br />

例 如 , 你 可 能 创 建 了 三 个 suites, 每 一 个 测 试 一 个 帐 目 结 算 应 用 程 序 的 一 个 不 同 的 方 面 :<br />

● 一 个 suite 打 开 并 编 辑 数 据 表 。<br />

● 一 个 suite 测 试 所 有 的 菜 单 。<br />

● 一 个 suite 测 试 数 据 表 中 的 那 些 复 杂 的 公 式 。<br />

全 部 的 这 三 个 suites 都 需 要 虚 拟 测 试 者 以 打 开 这 个 帐 目 结 算 的 应 用 程 序 。 然 而 , 在 每 个 suite 中 ,<br />

唯 一 的 任 务 需 要 被 重 复 。 你 可 以 创 建 一 个 单 独 的 suite, 打 开 这 个 应 用 程 序 , 并 将 这 个 suite 插 入<br />

到到 上 面 那 三 个 suites 的 每 一 个 中 去 。<br />

插 入 suite 到到 另 一 个 suite 中 (Inserting a Suite into a Suite)<br />

如 果果 一 个 suite 包包 含 测 试 机机 组 , 那 么 你 可 以 将 其 插 入 到到 其 他 的 suites 中 去 。 当 你 正 在 创 建 一 个 复<br />

杂 的 测 试 , 或 是 创 建 执 行 双 重 功 能 的 多 重 测 试 时 , 插 入 一 个 suite 到到 另 一 个 suite 中 去 是 有 利 的 。<br />

你 可 以 创 建 并 核 对 一 个 suite, 然 后 再 将 其 插 入 到到 更 大 一 些 的 suite 中 。 这 样 的 话 , 不 必 再 为 每


51Testing 软 件 测 试 网<br />

一 个 suite 定 义 相 同 的 测 试 资 产 了 , 这 让 你 节 省 了 时 间 。 任 何 的 变 化化 , 将 使 一 个 suite 被 复 制 在<br />

那 个 suite 的 每 个 实 例 中 。<br />

插 入 一 个 suite 到到 另 一 个 suite 中 :<br />

● 点 击 Suite > Insert > Suite<br />

uite。<br />

你 可 以 设 置 suite 的 前前 提 条条 件 。 在 你 设 置 一 个 前前 提 条条 件 时 , 这 个 suite 必 须 成 功 地 完 成 , 以 使 其<br />

他 的 suite 所 有 项 伴 随 这 相 同 的 父 类 执 行 。 有 关 前前 提 条条 件 的 信 息 , 参 阅 174 页 Setting a<br />

Precondition on a Test Script, Test Case, or Suite 的 内 容 。<br />

设 置 关 于 一 个 suite 的 前前 提 条条 件 :<br />

● 右 键 点 击 该 suite 以 设 置 前前 提 条条 件 , 然 后 选 择 Run Properties。<br />

插 入 Scenario (Inserting a Scenario)<br />

通 过 插 入 一 个 scenario 和和 在 suite 里 插 入 项 , 你 可 以 在 该 suite 的 Scenarios 部 分 中 定 义 一 个<br />

scenario。<br />

创 建 一 个 测 试 机机 组 来来 执 行 scenario, 那 么 你 需 要 在 测 试 机机 组 中 插 入 这 个 scenario 的 名 称 。 否 则 ,<br />

这 个 scenario 将 不 被 执 行 。<br />

以 下 的 suite 中 , 在 测 试 一 个 应 用 程 序 的 各 部 分 前前 , 执 行 测 试 教 本本 的 所 有 这 三 个 测 试 机机 组 需 要 初<br />

始 化化 该 应 用 程 序 。 通 过 在 scenario 中 保 存 这 个 必 须 的 初 始 化化 教 本本 , 你 可 以 将 这 个 suite 简 单 化化 。


51Testing 软 件 测 试 网<br />

该 suite 表 示 测 试 脚 本本 的 Initialize 被 当 作 Initialize Application scenario 的 一 部 分 。 在 测<br />

试 脚 本本 执 行 后 , 延 迟 可 能 被 添 加 到到 这 个 scenario 中 , 而 那 些 变 更 将 过 滤 Initialize Application<br />

scenario 的 所 有 实 例 。<br />

创 建 新 的 scenrio:<br />

● 从 该 suite 的 Scenarios 部 分 , 点 击 Suite > Insert > Scenario。<br />

插 入 scenario 到到 一 suite 中 :<br />

● 点 击 你 希 望 放 置 scenario 的 区 域 , 然 后 再 点 击 Suite > Insert > Scenario<br />

rio。<br />

在 你 创 建 了 scenario 和和 执 行 该 scenario 测 试 机机 组 之 后 , 组 装 (populate) 这 个 scenario 是 个 不


51Testing 软 件 测 试 网<br />

错 的 主 意 。Scenario 仅 仅 需 要 去 执 行 测 试 脚 本本 。 然 而 , 像 测 试 机机 组 , 一 个 真 正 的 scenario 也 可<br />

以 包包 含 测 试 用 例 ,suites, 和和 选 择 器 。<br />

设 置 测 试 脚 本本 , 测 试 用 例 或 者 suite 的 前前 提 条条 件 (Setting a Precondition on a Test<br />

Script, Test Case, or Suite)<br />

在 你 插 入 测 试 脚 本本 , 测 试 用 例 , 或 者 suite 到到 另 一 个 suite 中 时 , 你 可 以 说 明 , 对 于 该 suite 的 剩<br />

余 项 来来 说 , 那 个 项 的 成 功 完 成 是 一 个 (precondition) 前前 提 条条 件 。 对 于 在 相 同 级 别 下 执 行 的 剩<br />

余 suite 项 来来 说 , 该 项 必 须 通 过 。<br />

例 如 , 假 设 一 个 suite 包包 含 两 个 suites, 而 它 们 中 的 每 一 个 都 包包 含 了 初 始 化化 的 测 试 脚 本本 和和 若 干 的<br />

测 试 用 例 。 如 果果 你 设 置 了 这 个 初 始 化化 的 测 试 教 本本 的 前前 提 条条 件 , 并 且 这 个 测 试 脚 本本 执 行 失 败 了 ,<br />

那 么 TestManager 仅 仅 在 那 个 suite 中 浏 览 所 有 剩 余 的 测 试 用 例 。 在 第 二 个 suite 开 始 时 恢 复 该<br />

suite 的 执 行 。<br />

设 置 前前 提 条条 件 :<br />

● 右 键 点 击 该 测 试 脚 本本 ,suite, 或 者 测 试 用 例 以 设 置 前前 提 条条 件 , 并 选 择 Run Properties。<br />

前前 提 条条 件 仅 仅 适 用 于 测 试 脚 本本 , 测 试 用 例 , 或 者 suite 实 例 的 说 明 。<br />

例 如 , 如 果果 你 多 次 地 插 入 一 个 测 试 脚 本本 , 并 且 你 希 望 设 置 该 测 试 脚 本本 所 有 实 例 的 前前 提 条条 件 , 那<br />

么 你 就 必 须 为 每 一 个 测 试 脚 本本 设 置 前前 提 条条 件 。<br />

插 入 选 择 器 到到 suite 中 (Inserting a Selector into a Suite)<br />

TestManager 允 许 你 去 设 置 suite 项 , 通 过 设 置 选 择 器 , 以 在 不 同 的 序 列 中 执 行 。 比 起 suite 中 连<br />

续 项 的 一 个 简 单 的 序 列 , 一 个 选 择 器 提 供 了 更 加 复 杂 的 控 制 。 选 择 器 告告 诉 TestManager 将 要 执 行<br />

的 项 , 以 及 所 处 的 序 列 。 例 如 , 你 可 能 希 望 从 一 组 测 试 脚 本本 中 随 机机 的 重 复 地 选 择 一 个 测 试 用 例 。<br />

选 择 器 帮 助 你 可 以 这 样 做 。<br />

下 面 的 列 表 说 明 被 用 于 功 能 测 试 的 选 择 器 类 型 , 以 及 , 其 他 被 用 于 性 能 测 试 的 选 择 器 类 型 。<br />

●Sequential<br />

Sequential( 顺 序 的 )- 按 顺 序 执 行 出 现 在 这 个 suite 中 的 每 一 个 suite 项 。 当 然 , 这 是 默 认<br />

的 。<br />

●Parallel<br />

Parallel( 并 行 的 )- 分 布 每 一 个 suite 项 到到 任 意 可 用 的 测 试 机机 。 这 个 选 择 器 常 被 用 于 分 布 式<br />

的 功 能 测 试 。Suite 项 被 整 齐 地 分 割割 出 来来 , 基 于 可 用 的 测 试 机机 来来 执 行 另 一 个 测 试 脚 本本 。 一 旦 有<br />

一 个 项 执 行 , 它 不 会 再 被 执 行 。<br />

在 不 把 它 当 做 是 迭 代 的 情 况 下 , 一 个 并 行 的 选 因 择 器 分 布 在 每 个 测 试 脚 本本 中 。 例 如 , 假 设 脚


51Testing 软 件 测 试 网<br />

本本 A 对 于 10 个 迭 代 执 行 , 而 脚 本本 B 只 对 于 一 个 迭 代 执 行 。 迭 代 的 数 量 将 不 影 响响 脚 本本 分 布 的 方 法 。<br />

插 入 选 择 器 到到 suite 中 :<br />

● 选 择 要 包包 含 选 择 器 的 测 试 机机 组 或 scenario, 然 后 , 点 击 Suite > Insert > Selector。<br />

插 入 其 他 项 到到 suite 中 (Inserting Other Items into a Suite)<br />

分 布 在 以 下 部 分 的 项 一 般 被 用 来来 在 性 能 测 试 中 使 用 。<br />

当 然 , 你 有 时 也 可 以 在 功 能 测 试 中 使 用 这 些 项 。<br />

插 入 延 迟 (Inserting a Delay)<br />

一 个 delay( 延 迟 ) 告告 诉 TestManager, 该 suite 中 , 在 它 执 行 下 一 个 项 之 前前 , 需 要 多 长 时 间 的 暂<br />

停 。<br />

在 功 能 测 试 中 , 执 行 之 前前 , 你 可 以 使 用 delays( 延 迟 ) 来来 引 起 测 试 脚 本本 的 等 待 。 例 如 , 如 果果 一<br />

个 虚 拟 测 试 者 更 新 记 录 , 那 么 你 可 以 插 入 一 个 delay( 延 迟 ), 给 予 应 用 程 序 时 间 以 处 理 和和 显 示<br />

正 确 的 信 息 。 通 过 提 供 一 个 delay( 延 迟 ), 你 可 以 确 保 应 用 程 序 有 足 够 的 时 间 去 完 成 一 个 任 务 ,<br />

因 为 (in case) 另 一 个 虚 拟 测 试 者 执 行 一 个 动 作 , 以 作 为 那 项 任 务 的 结 果果 。<br />

插 入 一 个 延 迟 到到 suite 中 :<br />

点 击 要 添 加 delay( 延 迟 ) 的 计 算 机机 组 ,scenario, 或 选 择 器 , 然 后 点 击 Suite > Insert > Delay。


51Testing 软 件 测 试 网<br />

插 入 同 步 点 (Inserting a Synchronization Point)<br />

Synchronization point( 同 步 点 ) 通 过 在 特 殊 点 上 暂 停 每 个 虚 拟 测 试 者 的 执 行 , 使 你 能 够 调 整<br />

许 多 的 虚 拟 测 试 者 的 活 动 。Synchronization points( 同 步 点 ) 主 要 使 用 在 进 行 性 能 测 试 的<br />

suites 中 。 当 然 , 你 可 以 在 进 行 功 能 测 试 的 suite 中 使 用 Synchronization points( 同 步 点 ),<br />

来来 测 试 两 个 虚 拟 测 试 者 同 时 存 取 一 个 文 件 的 时 将 发 生 的 情 况 。<br />

同 步 点 一 般 在 下 面 的 时 间 发 生 时 有 效 :<br />

● 所 有 关 联 了 synchronization point( 同 步 点 ) 的 虚 拟 测 试 者 到到 达 该 synchronization point<br />

( 同 步 点 )。<br />

● 在 所 有 的 虚 拟 测 试 者 到到 达 该 synchronization point( 同 步 点 ) 之 前前 , 达 到到 一 个 超 时 期 (timeout<br />

period)。<br />

● 在 监 控 suite 时 , 你 手 工 地 释 放 虚 拟 测 试 者 。<br />

插 入 同 步 点 到到 suite 中 :<br />

● 点 击 Suite > Insert > Synchronization S<br />

Point。<br />

有 关 synchronization points( 同 步 点 ) 如 何 工 作 的 信 息 , 参 阅 249 页 How Synchronization


51Testing 软 件 测 试 网<br />

Points Work 的 内 容 。<br />

使 用 时 间 和和 依 赖 去 调 整 执 行 (Using Events and Dependencies to Coordinate<br />

Execution)<br />

一 个 事 件 是 一 个 机机 制 , 调 整 在 suite 中 执 行 项 的 方 法 。 例 如 , 你 不 能 够 测 试 是 否 应 用 程 序 会 保 存<br />

已 形 成 的 某某 个 值 的 变 更 , 除 非 那 些 值 确 实 已 被 变 更 。 你 在 测 试 脚 本本 上 设 置 一 个 (dependency)<br />

依 赖 , 保 存 变 更 , 这 样 直 到到 事 件 ( 这 些 变 更 确 实 已 形 成 ) 发 生 才 阻 碍 虚 拟 测 试 者 。<br />

你 可 以 在 suite 中 具 有 多 重 事 件 。 一 个 suite 中 , 当 有 且 仅 有 一 个 项 设 置 一 个 事 件 时 , 这 其 中 的<br />

许 多 项 可 以 依 赖 这 一 个 事 件 。<br />

下 图 说 明 了 虚 拟 测 试 者 的 等 待 , 直 到到 第 一 个 虚 拟 测 试 者 改 变 了 值 时 :<br />

在 该 suite 中 的 第 二 列 里 , 列 出 事 件 , 第 三 列 中 列 出 dependencies( 依 赖 )。<br />

添 加 设 置 事 件 的 测 试 脚 本本 , 或 者 添 加 依 赖 与 事 件 的 测 试 脚 本本 :<br />

点 击 Suite<br />

> Insert > Test Script。<br />

注 意 事 项 : 这 个 例 子 说 明 如 何 添 加 设 置 事 件 的 测 试 脚 本本 和和 依 赖 与 事 件 的 另 一 个 测 试 脚 本本 。 当 然 ,<br />

scenario 和和 delays( 延 迟 ) 也 可 以 设 置 事 件 。


51Testing 软 件 测 试 网<br />

在 不 同 的 测 试 机 中 分 布 测 试 (Distributing Tests Among<br />

Different Computers)<br />

你 可 能 希 望 在 不 同 的 测 试 机机 中 分 布 你 的 测 试 脚 本本 。 例 如 , 你 的 测 试 可 能 设 计 到到 明 确 的 测 试 机机 。<br />

或 者 你 可 能 希 望 在 一 组 测 试 上 执 行 你 的 测 试 , 以 便 它 们 尽 可 能 快 的 完 成 。 利 用 TestManager, 你<br />

可 以 并 发 地 执 行 多 个 测 试 机机 , 并 且 在 这 些 测 试 机机 中 分 布 你 的 测 试 。 这 样 可 以 使 你 加 速 测 试 的 进<br />

程 。<br />

在 不 同 的 测 试 机机 中 分 布 你 的 测 试 , 可 按 照 这 些 步 骤 :<br />

● 当 你 插 入 测 试 机机 组 到到 suite 中 时 , 点 击 Change 并 添 加 你 的 测 试 机机 到到 出 现 的 测 试 机机 列 表 中 去 。 有<br />

关 设 置 测 试 脚 本本 在 不 同 的 测 试 机机 上 执 行 的 更 多 信 息 , 参 阅 166 页 Inserting a Computer Group<br />

into a Suite 的 内 容 。<br />

● 在 你 已 经 插 入 你 的 测 试 机机 组 之 后 , 可 插 入 一 个 并 行 的 选 择 器 。 你 插 入 在 该 选 择 器 下 的 测 试 脚<br />

本本 将 被 不 断 地 发 送 到到 下 一 个 可 利 用 的 测 试 机机 。 当 然 , 该 测 试 脚 本本 必 须 被 设 计 成 自 包包 含 型<br />

(self-contained), 并 且 不 相 互 依 赖 。 有 关 并 行 选 择 器 的 更 多 信 息 , 参 阅 174 页 Inserting a<br />

Selector into a Suite 的 内 容 。<br />

一 个 分 布 式 功 能 测 试 的 例 子 (Example of a Distributed Functional Test)<br />

在 下 面 的 例 子 中 , 假 设 你 希 望 测 试 你 的 记 帐 软 件 。<br />

你 希 望 分 布 你 的 测 试 到到 不 同 的 测 试 机机 上 , 以 使 他 们 尽 可 能 快 的 执 行 。<br />

The following table summarizes how you set up this test.<br />

下 表 概 述 如 何 设 置 此 测 试 。<br />

测 试 脚 本本<br />

Suite<br />

记 录


51Testing 软 件 测 试 网<br />

该 表 说 明 执 行 一 个 分 布 式 功 能 测 试 的 方 法 。 有 许 多 使 用 TestManager 的 其 他 方 法 , 构构 建 并 执 行 有<br />

效 的 分 布 式 的 测 试 。<br />

要 注 意 , 最 重 要 的 是 所 有 的 测 试 脚 本本 都 应 当 被 模 块 化化 (modular)。<br />

Suits 的 执 行 (Executing Suites)<br />

在 你 已 经 创 建 并 保 存 了 你 的 suite 之 后 , 你 可 以 :<br />

● 检 查查 该 suite 的 是 否 出 错 。 可 以 这 样 做 , 打 开 suite, 然 后 点 击 Suite > Check<br />

Suite。<br />

● 检 查查 代 理 (Agent) 测 试 机机 的 状 态 。 可 以 这 样 做 , 打 开 suite, 点 击 Suite > Check Agents。<br />

● 控 制 该 suite 的 运 行 时 间 信 息 。 打 开 suite, 然 后 点 击 Suite > Edit Runtime。<br />

● 控 制 如 何 终 止 该 suite。 打 开 suite, 然 后 点 击 Suite >Edit Termination。<br />

● 执 行 该 suite。 打 开 suite, 点 击 File > Run Suite。<br />

● 监 控 该 suite 的 执 行 过 程 。 有 关 suites 的 信 息 , 参 阅 103 页 Monitoring Suites 的 内 容 。


51Testing 软 件 测 试 网<br />

Comparators 的 使 用 ( Using the<br />

Comparators) 8<br />

这 一 章 描 述 在 Rational Robot 测 试 脚 本本 或 Rational QualityArchitect 中 使 用 查查 证 点 时 , 如 何 使 用<br />

Comparators 来来 比 较 和和 查查 看 捕 获 的 数 据 。 本本 章 包包 含 下 面 的 标标 题 内 容 :<br />

● 关 于 基 本本 的 四 种 比 较 器 Comparators<br />

● 启启 动 Comparators<br />

● 对 象 属 性 比 较 器 (Object Properties Comparator) 的 使 用<br />

● 文 本本 比 较 器 (Text Comparator) 的 使 用<br />

● 表 格 比 较 器 (Grid Comparator) 的 使 用<br />

● 图 像 比 较 器 (Image Comparator) 的 使 用<br />

注 意 事 项 : 有 关 的 细 节 过 程 , 参 阅 TestManager 的 帮 助 。<br />

关 于 四 种 基 本 的<br />

Comparators ( About the Four<br />

Comparators)<br />

在 你 录 制 回 放 了 一 个 测 试 用 例 , 测 试 脚 本本 , 或 者 suite 之 后 ,TestManager 将 结 果果 写 入 测 试 日 志 中 ,<br />

并 展 现 在 TestManager 的 TestLog 窗 口 中 。 测 试 日 志 会 告告 诉 你 , 是 否 每 个 测 试 用 例 , 测 试 脚 本本 , 或<br />

者 suite 都 通 过 或 失 败 。<br />

你 可 以 通 过 点 击 测 试 日 志 中 的 Details 标标 签 来来 获 得 更 多 的 有 关 细 节 。 当 你 双 击 测 试 日 志 中 的 一 个<br />

已 失 败 的 查查 证 点 时 , 会 出 现 一 个 适 合 于 该 查查 证 点 的 Comparator( 比 较 器 )。 你 可 以 使 用 这 个<br />

Comparators 查查 看 和和 比 较 捕 获 的 数 据 , 以 确 认 查查 证 点 失 败 的 确 切 原 因 。<br />

注 意 事 项 : 你 可 以 仅 对 包包 含 查查 证 点 的 测 试 脚 本本 使 用 Comparators。<br />

当 你 纪 录 包包 含 查查 证 点 的 测 试 脚 本本 时 ,Robot 创 建 一 个 包包 含 捕 获 数 据 的 Baseline file( 基 线 文 件 )。


51Testing 软 件 测 试 网<br />

当 你 录 制 回 放 测 试 脚 本本 时 ,Robot 将 Baseline file( 基 线 文 件 ) 中 的 属 性 与 “ 测 试 之 下 的 应 用 程 序<br />

(application-under-test)” 的 属 性 相 比 较 和和 对 照 。 如 果果 比 较 失 败 ,Robot 保 存 引 起 此 次 失 败 的 数<br />

据 到到 一 个 Actual file( 实 际 文 件 ) 中 。 该 查查 证 点 的 结 果果 展 现 在 测 试 日 志 中 。<br />

四 种 基 本本 Comparators 的 如 下<br />

●Object Properties Comparator( 对 象 属 性 比 较 器 )-- 当 你 使 用 了 Object Properties( 对 象 属 性 ) 查查<br />

证 点 时 , 可 以 使 用 Object Properties Comparator 来来 查查 看 和和 对 照 捕 获 的 属 性 。<br />

●Text Comparator( 文 本本 比 较 器 )-- 当 你 使 用 了 Alphanumeric( 字 符 ) 查查 证 点 时 , 可 以 使 用 Text<br />

Comparator( 文 本本 比 较 器 ) 来来 查查 看 和和 比 较 捕 获 的 字 符 (alphanumeric) 数 据 。<br />

●Grid Comparator( 表 格 比 较 器 )-- 当 你 使 用 了 以 下 的 查查 证 点 时 :Object Data( 对 象 数 据 ),<br />

Menu( 菜 单 ), 或 者 Clipboard( 剪 贴 板板 ), 可 以 使 用 Grid Comparator( 表 格 比 较 器 ) 来来 查查 看<br />

和和 比 较 捕 获 的 数 据 。<br />

Rational Quality Architect 使 用 表 格 比 较 器 来来 展 现 查查 证 点 信 息 。<br />

●Image Comparator( 图 像 比 较 器 )-- 当 你 使 用 了 以 下 查查 证 点 时 :Region Image( 区 域 图 像 ) 或<br />

者 Window Image( 窗 口 图 像 ), 可 以 使 用 Image Comparator( 图 像 比 较 器 ) 来来 查查 看 和和 编 辑 位<br />

图 。 你 也 可 以 查查 看 Unexpected Active Windows( 异 常 活 动 窗 口 )。<br />

启 动动 比 较 器 (Starting a Comparator)<br />

从 TestManager 中 启启 动 一 个 Comparator:<br />

1 点 击 File > Open Test Log。<br />

2 展 开 包包 含 日 志 的 Build, 双 击 该 日 志 。<br />

为 了 在 TestManager 的 Test Log 窗 口 中 打 开 一 个 Comparator, 该 日 志 必 须 包包 含 针 对 这 个 特 定<br />

Comparator 的 查查 证 点 。<br />

3 点 击 Test Log 窗 口 底 部 的 Details 标标 签 。<br />

4 在 Event Type 列 中 , 点 击 加 号 (+), 展 开 一 个 测 试 脚 本本 并 查查 看 所 有 的 查查 证 点 。<br />

5 右 键 点 击 一 个 查查 证 点 并 点 击 View Verification Point。<br />

打 开 针 对 这 个 特 定 查查 证 点 的 Comparator, 并 展 现 该 查查 证 点 。<br />

如 果果 查查 证 点 失 败 ,Comparator 将 伴 随 基 线 (Baseline) 和和 显 示 的 Actual( 实 际 ) 文 件 一 起 打 开 。<br />

从 Robot 中 启启 动 选 择 器 , 参 阅 Using Rational Robot 手 册 。


51Testing 软 件 测 试 网<br />

对 象 属 性 比 较 器 的 使 用 ( Using the Object Properties<br />

Comparator)<br />

在 一 个 Rational Robot 测 试 脚 本本 中 使 用 Object Properties( 对 象 属 性 ) 查查 证 点 时 , 使 用 对 象 属 性 比<br />

较 器 (Object Properties Comparator) 来来 查查 看 和和 比 较 捕 获 的 属 性 。<br />

你 可 以 使 用 对 象 属 性 比 较 器 (Object Properties Comparator):<br />

● 细 查查 , 比 较 , 和和 分 析析 基 线 文 件 (Baseline file) 与 实 际 文 件 (Actual file) 之 间 的 差 异 。<br />

● 查查 看 或 者 编 辑 针 对 一 个 对 象 属 性 (Object Properties) 查查 证 点 的 基 线 文 件 (Baseline file)。<br />

从 测 试 日 志 窗 口 中 启启 动 对 象 属 性 比 较 器 (Object Properties Comparator), 参 阅 182 页 Starting a<br />

Comparator 的 内 容 。<br />

主 要 窗 口 (The Main Window)<br />

对 象 属 性 比 较 器 (Object Properties Comparator) 的 主 要 窗 口 包包 含 对 象 (Objects) 层 次 , 属 性<br />

(Properties) 列 表 , 和和 差 异 (Differences) 列 表 。<br />

对 象 层 次 (Objects hierarchy) 包包 含 了 全 部 对 象 的 列 表 , 这 些 对 象 由 Robot 记 录 在 对 象 属 性 (Object<br />

Properties) 查查 证 点 中 。 属 性 列 表 (Properties list) 包包 含 了 那 些 对 象 的 属 性 的 列 表 。 当 你 选 择 了<br />

处 在 左 边 的 对 象 时 , 它 的 属 性 会 出 现 在 右 边 。 你 可 以 控 制 窗 口 部 分 , 将 对 象 和和 属 性 两 者 都 显 示


51Testing 软 件 测 试 网<br />

出 来来 , 这 就 要 通 过 View 命命 令 的 使 用 。<br />

差 异 列 表 (Differences list) 展 示 了 那 些 在 基 线 与 实 际 文 件 (Actual files) 之 间 具 有 差 异 的 对 象 。<br />

如 果果 你 在 列 表 中 的 一 个 对 象 , 那 么 这 个 对 象 会 在 对 象 层 次 与 属 性 列 表 中 被 显 著 的 标标 明 。 如 果果 你<br />

正 在 查查 看 一 个 未 失 败 的 文 件 , 这 部 分 将 不 被 展 现 。 展 现 或 者 隐 藏 这 部 分 , 可 以 点 击 View > Show<br />

Difference List。<br />

对 象 层 次 和和 属 性 列 表 (The Objects Hierarchy and the Properties List)<br />

当 对 象 属 性 比 较 器 被 打 开 时 , 对 象 层 次 和和 属 性 列 表 如 下 展 现 :<br />

● 对 象 层 次 展 现 在 窗 口 左 边 的 窗 格 中 。 它 展 现 了 含 有 全 部 对 象 的 列 表 , 这 些 对 象 被 Robot 记 录 ,<br />

它 们 使 用 对 象 属 性 查查 证 点 兵 保 存 在 基 线 文 件 中 。<br />

● 属 性 列 表 展 现 在 窗 口 右 边 的 窗 格 中 。 它 展 现 了 被 选 择 对 象 的 属 性 列 表 , 以 及 在 基 线 文 件 和和 实<br />

际 文 件 ( 如 果果 存 在 差 异 的 话 ) 中 的 属 性 值 。<br />

如 果果 查查 证 点 是 通 过 的 ,Comparator 仅 仅 将 基 线 列 和和 对 象 层 次 , 以 及 属 性 列 表 一 起 展 现 。<br />

如 果果 查查 证 点 是 失 败 的 ,Comparator 会 将 基 线 列 和和 实 际 列 一 起 同 对 象 层 次 , 属 性 列 表 一 起 展 现 ,<br />

这 样 , 你 就 可 以 比 较 它 们 了 。<br />

注 意 事 项 : 如 果果 查查 证 点 仅 包包 含 一 个 对 象 , 那 么 对 象 层 次 就 不 会 展 现 了 。 当 然 , 要 展 现 它 的 话 ,<br />

你 可 以 点 击 View > Objects 或 者 View > Objects and Properties。<br />

改 变 窗 口 Focus(Changing the Window Focus)<br />

在 对 象 层 次 已 属 性 列 表 之 间 改 变 focus, 可 照 以 下 的 任 意 一 种 方 法 做 :<br />

● 在 该 部 分 点 击 鼠 标标 。<br />

● 按 TAB 键 。<br />

● 按 ALT+O 键 设 置 focus 到到 对 象 层 次 。<br />

● 按 ALT+P 键 设 置 focus 到到 属 性 列 表 。<br />

在 对 象 层 次 中 的 操 作 (Working Within the Objects Hierarchy)<br />

展 现 对 象 层 次 :<br />

点 击 View > Objects 或 者 View > Objects and Properties。<br />

对 象 列 表 是 层 次 化化 的 。 通 过 选 择 顶 层 对 象 , 并 使 用 View > Expand 和和 View > Collapse 命命 令 , 你<br />

可 以 展 开 或 者 折 叠 对 象 视 图 。<br />

当 你 选 择 一 个 对 象 时 , 该 对 象 的 属 性 将 展 现 在 属 性 列 表 中 。<br />

每 个 对 象 根 据 它 的 对 象 类 型 被 罗 列 , 并 以 黑 体 标标 识 。 在 对 象 命命 名 之 后 , 这 里 有 一 些 诸 如 对 象 类<br />

或 者 索 引 的 信 息 , 它 们 常 被 用 来来 指 明 对 象 。


51Testing 软 件 测 试 网<br />

如 果果 对 象 是 红 色 标标 识 的 , 那 么 它 在 基 线 和和 实 际 文 件 中 有 不 同 的 属 性 值 。 如 果果 对 象 是 蓝 色 标标 识 的 ,<br />

那 么 它 只 存 在 于 基 线 文 件 中 。<br />

你 可 以 在 对 象 层 次 中 进 行 下 面 的 任 意 一 种 操 作 。 对 象 层 次 必 须 具 有 窗 口 focus。<br />

● 按 HOME, END, PAGEUP, PAGEDOWN, UP ARROW, 和和 DOWN ARROW 键 来来 进 行 对 象 之 间<br />

的 移 动 。<br />

● 点 击 那 些 处 在 前前 面 的 每 个 对 象 的 选 择 框 , 可 针 对 测 试 进 行 选 择 和和 删 除 的 操 作 。 这 些 所 有 的 具<br />

有 复 选 框 的 对 象 都 是 被 测 试 的 。<br />

● 选 择 一 个 处 在 前前 面 且 具 有 复 选 标标 记 的 对 象 , 在 属 性 列 表 中 展 现 它 的 属 性 。<br />

● 选 择 一 个 对 象 , 按 INSERT 键 , 出 现 一 个 对 话 框 , 可 以 针 对 那 个 对 象 从 属 性 列 表 中 进 行 添 加 或<br />

者 移 除 的 操 作 。<br />

● 双 击 一 个 父 类 对 象 , 可 展 开 或 者 折 叠 它 的 子 对 象 。<br />

● 按 加 号 (+) 键 , 被 显 著 标标 明 的 对 象 可 展 开 一 级 , 按 减 号 (-) 键 折 叠 该 对 象 。 按 星 号 (*)<br />

键 , 可 展 开 所 有 的 对 象 。<br />

● 右 键 点 击 在 此 层 次 中 的 一 个 对 象 , 可 展 现 该 对 象 的 快 捷 菜 单 。<br />

● 双 击 一 个 被 标标 签 为 Unknown 的 对 象 , 可 定 义 该 对 象 。 有 关 在 记 录 期 间 定 义 未 知 对 象 的 信 息 ,<br />

参 阅 Using Rational Robot 手 册 。<br />

在 属 性 列 表 中 的 操 作 (Working Within the Properties List)<br />

展 现 属 性 列 表 :<br />

● 点 击 View > Properties 或 者 View > Objects and Properties。<br />

名 称 列 显 示 属 性 的 名 称 。 基 线 和和 实 际 列 展 现 属 性 值 。 在 基 线 列 中 的 值 表 现 的 是 从 对 象 属 性 查查 证<br />

点 的 原 记 录 而 来来 的 属 性 。<br />

实 际 列 中 的 值 表 现 的 是 在 最 新 的 回 放 版 本本 中 的 属 性 状 态 。 按 缺 省 , 如 果果 在 基 线 和和 实 际 列 中 有 差<br />

异 , 那 么 两 者 都 会 被 展 现 。<br />

使 用 View 命命 令 来来 控 制 在 属 性 列 表 中 的 要 展 现 的 列 。<br />

如 果果 属 性 是 红 色 标标 识 的 , 那 么 它 在 基 线 和和 实 际 文 件 中 具 有 不 同 的 值 。 如 果果 属 性 是 蓝 色 标标 识 的 ,<br />

那 么 它 仅 存 在 于 基 线 文 件 中 。 如 果果 值 单 元 为 空 , 那 么 该 属 性 具 有 一 个 空 值 。<br />

你 可 以 在 属 性 列 表 中 进 行 下 面 的 任 意 一 种 操 作 。 属 性 列 表 必 须 具 有 窗 口 focus。<br />

● 键 入 一 个 属 性 名 称 的 第 一 个 字 母 , 移 动 那 个 属 性 或 者 第 一 个 属 性 以 该 字 母 为 开 始 。<br />

● 按 HOME, END, PAGEUP, PAGEDOWN, UP ARROW, 和和 DOWN ARROW 键 来来 显 著 标标 明 一<br />

个 属 性 。


51Testing 软 件 测 试 网<br />

● 按 INSERT 键 , 出 现 一 个 对 话 框 , 可 以 从 属 性 列 表 中 进 行 属 性 添 加 和和 移 除 的 操 作 。<br />

● 选 择 一 个 属 性 并 按 DELETE 键 , 可 从 列 表 中 移 除 它 。<br />

● 右 键 点 击 一 个 属 性 的 值 单 元 , 可 编 辑 该 值 。<br />

● 定 位 列 标标 题 单 元 之 间 在 垂 直 边 界 上 的 指 针 。 向 左 或 向 右 拖 动 该 指 针 , 可 改 变 列 宽 。<br />

● 指 向 一 个 属 性 并 点 击 鼠 标标 右 键 , 可 展 现 该 属 性 的 快 捷 菜 单 。<br />

当 前前 基 线 的 装 载 (Loading the Current Baseline)<br />

装 载 当 前前 基 线 文 件 :<br />

● 点 击 File > Load Current Baseline。<br />

如 果果 当 前前 的 基 线 文 件 已 经 被 展 现 , 这 个 命命 令 将 变 得 不 可 用 。 为 了 编 辑 一 个 基 线 , 你 必 须 查查 看 这<br />

个 当 前前 基 线 文 件 。 编 辑 操 作 可 以 包包 括 创 建 一 个 mask, 剪 切 , 复 制 , 粘 贴 , 成 倍 复 制 , 移 动 , 或<br />

者 删 除 masks, 或 者 使 用 自 动 Mask 特 征 。<br />

当 前前 基 线 是 最 新 保 存 的 基 线 文 件 , 常 被 用 来来 作 为 查查 证 点 比 较 的 期 望 结 果果 。 通 过 Robot 打 开 比 较 器<br />

时 , 在 这 个 比 较 器 中 看 到到 的 就 是 当 前前 基 线 文 件 。 然 而 , 一 个 更 普 遍 的 方 法 , 当 比 较 器 是 通 过<br />

TestManager 的 Test Log 窗 口 打 开 时 , 这 个 比 较 器 可 能 展 现 的 是 历 史 的 基 线 和和 实 际 文 件 。 由 于 只<br />

有 当 前前 基 线 文 件 可 以 被 编 辑 , 如 果果 你 有 历 史 的 基 线 或 者 任 意 其 他 记 录 的 基 线 显 示 , 那 么 你 将 不<br />

能 够 使 用 任 意 一 种 编 辑 命命 令 ―― 它 们 将 不 可 用 。 你 可 以 手 工 地 强 行 当 前前 基 线 文 件 通 过 使 用 这 命命<br />

令 来来 被 装 载 。<br />

定 位 和和 比 较 差 异 (Locating and Comparing Differences)<br />

对 象 属 性 比 较 器 开 始 它 的 比 较 伴 随 着 对 象 层 次 中 的 第 一 个 对 象 和和 属 性 列 表 中 的 属 性 。<br />

在 基 线 和和 实 际 列 表 之 间 包包 含 差 异 的 对 象 是 红 色 标标 识 的 。 对 象 只 存 在 于 基 线 列 表 中 , 那 么 它 是 蓝<br />

色 标标 识 的 。<br />

在 基 线 数 据 与 实 际 数 据 之 间 定 位 第 一 个 差 异 :<br />

● 点 击 View > First Difference。<br />

当 差 异 被 定 位 时 , 失 败 是 显 著 标标 明 的 。 差 异 列 表 表 明 了 失 败 的 数 量 , 并 提 供 有 关 失 败 的 原 因 。<br />

在 差 异 之 间 进 行 导 航 , 可 使 用 View 命命 令 。<br />

你 也 可 以 在 差 异 列 表 中 选 择 一 个 描 述 以 显 著 标标 明 那 个 在 属 性 列 表 中 的 失 败 。<br />

查查 证 点 属 性 的 查查 看 (Viewing Verification Point Properties)<br />

查查 看 查查 证 点 的 属 性 :<br />

查查 证 点 属 性 对 话 框 展 示 了 查查 证 点 的 属 性 , 基 线 文 件 的 名 称 , 以 及 实 际 文 件 的 名 称 。


51Testing 软 件 测 试 网<br />

属 性 的 添 加 和和 移 除 (Adding and Removing Properties)<br />

当 你 首 次 创 建 一 个 对 象 属 性 查查 证 点 时 , 通 过 从 属 性 列 表 中 添 加 和和 移 除 它 们 , 你 可 以 说 明 该 属 性<br />

要 进 行 测 试 。 你 也 可 以 在 你 查查 看 对 象 属 性 比 较 器 的 数 据 文 件 时 从 列 表 中 添 加 和和 移 除 属 性 。 这 将<br />

使 你 在 测 试 被 创 建 和和 回 放 之 后 提 炼 它 。<br />

例 如 , 如 果果 对 于 一 个 查查 证 点 的 属 性 列 表 包包 含 了 一 个 Height 属 性 , 你 决 定 你 不 去 测 试 , 那 么 你 可<br />

以 移 除 比 较 器 中 的 属 性 。 你 也 可 以 为 这 个 查查 证 点 , 将 列 表 中 的 属 性 应 用 于 所 有 的 具 有 相 同 类 型<br />

的 对 象 , 并 且 为 每 一 个 对 象 定 义 默 认 属 性 的 一 个 列 表 。<br />

添 加 一 个 属 性 到到 属 性 列 表 :<br />

● 点 击 Edit > Edit Property List。<br />

移 除 属 性 是 指 从 属 性 列 表 中 移 除 它 , 而 非 从 查查 证 点 的 基 线 文 件 从 移 除 它 。 移 除 属 性 意 味味 着 它 在<br />

今 后 的 回 放 中 不 再 被 测 试 。 一 旦 移 除 , 属 性 可 以 在 以 后 添 加 回 来来 。<br />

从 属 性 列 表 中 移 除 属 性 :<br />

● 点 击 Edit > Remove Property。<br />

● 如 果果 你 移 除 属 性 , 那 么 你 将 它 在 晚 些 时 候 添 加 回 属 性 列 表 , 可 通 过 使 用 Edit > Edit Property<br />

List 命命 令 。<br />

基 线 文 件 的 编 辑 (Editing the Baseline File)<br />

当 存 在 有 意 的 变 更 到到 测 试 之 下 的 应 用 程 序 时 , 你 可 能 需 要 修 改 基 线 文 件 , 以 随 着 应 用 程 序 的 开<br />

发 保 持 它 的 更 新 。<br />

编 辑 基 线 文 件 时 , 你 可 以 :<br />

● 编 辑 属 性 列 表 中 的 值 。<br />

● 剪 切 , 复 制 , 并 粘 贴 值 。<br />

● 从 实 际 复 制 值 到到 基 线 文 件 。<br />

● 变 更 查查 证 的 方 法 。


51Testing 软 件 测 试 网<br />

● 变 更 确 认 的 方 法 。<br />

● 替 换 基 线 文 件 。<br />

注 意 事 项 : 你 不 能 编 辑 实 际 文 件 。<br />

执 行 这 些 任 务 每 个 步 骤 的 指 令 , 可 在 对 象 属 性 比 较 器 的 帮 助 中 搜 索 任 务 。<br />

基 线 文 件 的 保 存 (Saving the Baseline File)<br />

保 存 变 更 到到 基 线 文 件 :<br />

● 点 击 File > Save Baseline。<br />

该 命命 令 仅 当 你 有 变 更 到到 基 线 文 件 时 才 有 效 。<br />

文 本 比 较 器 的 使 用 (Using the Text Comparator)<br />

使 用 文 本本 比 较 器 查查 看 和和 比 较 捕 获 的 字 母 数 字 数 据 , 这 是 当 你 在 一 个 Rational Robot 测 试 脚 本本 中 使<br />

用 字 母 数 值 查查 证 点 (Alphanumeric verification point) 的 情 况 下 。<br />

你 可 以 使 用 文 本本 比 较 器 (Text Comparator):<br />

● 复 查查 , 比 较 , 和和 分 析析 基 线 文 件 (Baseline file) 与 实 际 文 件 (Actual file) 之 间 的 差 异 。<br />

● 针 对 一 个 字 母 数 字 查查 证 点 , 查查 看 或 者 编 辑 基 线 文 件 。<br />

主 要 窗 口 (The Main Window)<br />

文 本本 比 较 器 的 主 要 窗 口 包包 含 了 文 本本 窗 口 。<br />

文 本本 窗 口 (The Text Window)<br />

文 本本 窗 口 有 两 个 窗 格 : 基 线 和和 实 际 。 基 线 窗 格 显 示 的 数 据 文 件 , 为 了 比 较 而 当 作 一 个 基 线 文 件 。<br />

实 际 窗 格 显 示 来来 自 当 前前 回 放 的 数 据 。<br />

文 本本 窗 口 使 用 典 型 的 文 本本 编 辑 器 格 式 。 一 般 , 你 使 用 相 同 的 规 则 和和 方 法 来来 输 入 , 选 择 , 和和 删 除 ,<br />

这 些 你 希 望 在 标标 准 的 文 本本 编 辑 器 ( 例 如 笔 记 本本 ) 中 使 用 的 操 作 。


51Testing 软 件 测 试 网<br />

基 线 窗 格 具 有 白 色 的 背 景 , 实 际 窗 格 具 有 灰 色 的 背 景 。 当 你 使 用 一 个 定 位 命命 令 来来 标标 明 失 败 的 数<br />

据 时 , 它 在 基 线 文 件 和和 实 际 文 件 之 间 的 比 较 以 相 反 的 颜 色 出 现 。<br />

在 文 本本 窗 口 中 , 你 可 以 :<br />

● 卷 起 文 本本 窗 口<br />

● 变 更 文 本本 窗 格 的 宽 度<br />

● 使 用 字 回 绕<br />

定 位 和和 比 较 差 异 (Locating and Comparing Differences)<br />

在 基 线 数 据 和和 实 际 数 据 之 间 定 位 首 差 异 :<br />

● 点 击 View > First Difference。<br />

要 在 差 异 之 间 导 航 , 使 用 View 命命 令 。<br />

比 较 开 始 在 窗 格 较 高 的 左 边 角 。 比 较 器 扫 描 差 异 , 按 顺 序 通 过 文 本本 的 每 一 行 , 因 为 它 会 在 文 本本<br />

编 辑 器 中 。<br />

当 比 较 器 使 用 View 命命 令 发 现 发 现 差 异 时 , 在 基 线 文 件 和和 实 际 文 件 之 间 , 差 异 以 相 反 的 颜 色 显 现 。<br />

字 母 数 字 查查 证 点 保 存 指 定 的 查查 证 方 法 作 为 测 试 脚 本本 命命 令 的 一 部 分 。 对 于 通 过 字 母 数 字 查查 证 点 创<br />

建 的 数 据 文 件 , 比 较 器 假 定 一 个 case-sensitive 的 比 较 , 而 不 管 它 是 如 何 被 记 录 的 。 对 于 数 字 数 据 ,<br />

比 较 器 假 定 数 字 等 价 作 为 查查 证 方 法 。<br />

查查 证 点 属 性 的 查查 看 (Viewing Verification Point Properties)<br />

要 查查 看 查查 证 点 的 属 性 :<br />

● 点 击 File > Verification Point Properties。<br />

查查 证 点 属 性 对 话 框 显 示 了 查查 证 点 类 型 , 基 线 文 件 名 称 , 以 及 实 际 文 件 名 称 。<br />

基 线 文 件 的 编 辑 (Editing the Baseline File)<br />

当 存 在 有 意 的 变 更 到到 测 试 之 下 的 应 用 程 序 时 , 你 可 能 需 要 修 改 基 线 文 件 , 以 随 着 应 用 程 序 的 开<br />

发 保 持 它 的 更 新 。


51Testing 软 件 测 试 网<br />

编 辑 基 线 文 件 时 , 你 可 以 :<br />

● 编 辑 数 据 。<br />

● 剪 切 , 复 制 , 和和 粘 贴 数 据 。<br />

● 从 实 际 文 件 复 制 数 据 到到 基 线 文 件 。<br />

● 替 换 基 线 文 件 。<br />

注 意 事 项 : 你 不 能 编 辑 实 际 文 件 。<br />

执 行 这 些 任 务 每 个 步 骤 的 指 令 , 可 在 对 象 属 性 比 较 器 的 帮 助 中 搜 索 任 务 。<br />

基 线 文 件 的 保 存 (Saving the Baseline File)<br />

保 存 变 更 到到 基 线 文 件 :<br />

● 点 击 File > Save Baseline。<br />

该 命命 令 仅 当 你 有 变 更 到到 基 线 文 件 时 才 有 效 。<br />

表 格 比 较 器 的 使 用 (Using the Grid Comparator)<br />

使 用 表 格 比 较 器 (Grid Comparator) 来来 查查 看 和和 比 较 捕 获 的 数 据 , 当 你 在 Rational Robot 测 试 脚 本本<br />

中 使 用 下 面 的 查查 证 点 时 :<br />

● 对 象 数 据<br />

● 菜 单<br />

● 粘 贴 板板<br />

Rational Quality Architect 也 使 用 表 格 比 较 器 来来 展 现 查查 证 点 信 息 。<br />

你 可 以 使 用 表 格 比 较 器 :<br />

● 复 查查 , 比 较 , 和和 分 析析 基 线 文 件 与 实 际 文 件 之 间 的 差 异 。<br />

● 查查 看 或 者 编 辑 针 对 一 个 查查 证 点 的 基 线 文 件 。<br />

主 要 窗 口 (The Main Window)<br />

表 格 比 较 器 的 主 要 窗 口 包包 含 了 表 格 窗 口 和和 差 异 列 表 。 表 格 窗 口 包包 含 了 在 对 象 数 据 , 菜 单 , 或 者<br />

粘 贴 板板 查查 证 点 中 记 录 的 数 据 表 格 。 差 异 列 表 展 现 了 在 回 放 期 间 失 败 的 任 意 一 项 的 描 述 。


51Testing 软 件 测 试 网<br />

差 异 列 表 (Differences List)<br />

差 异 列 表 展 现 了 在 回 放 期 间 失 败 的 实 际 项 。 这 个 列 表 显 示 查查 证 点 失 败 的 原 因 , 并 展 现 图 标标 以 图<br />

形 说 明 失 败 的 类 型 。 如 果果 你 点 击 列 表 中 的 一 项 , 该 项 在 表 格 中 被 标标 明 。 如 果果 你 在 查查 看 一 个 不 具<br />

有 差 异 的 文 件 , 那 么 这 部 分 不 会 显 示 。<br />

下 面 的 这 些 图 标标 会 出 现 在 差 异 列 表 中 :<br />

图 标标<br />

含 义<br />

没 有 发 现 差 异<br />

失 败 的 比 较<br />

项 未 发 现<br />

差 异 的 大 小<br />

键 未 发 现<br />

在 差 异 列 表 中 的 操 作 :<br />

● 使 用 垂 直 滚 动 条条 来来 滚 动 描 述 的 列 表 。<br />

● 选 择 差 异 列 表 中 的 描 述 , 来来 标标 明 基 线 和和 实 际 文 件 中 的 失 败 。


51Testing 软 件 测 试 网<br />

设 置 显 示 选 项 (Setting Display Options)<br />

你 可 以 在 表 格 比 较 器 中 设 置 下 面 的 显 示 选 项 :<br />

● 改 变 列 宽 。<br />

● 转 置 表 格 数 据 。<br />

● 使 滚 动 条条 同 步 。<br />

● 使 游 标标 同 步 。<br />

每 个 步 骤 的 指 令 , 可 搜 索 在 表 格 比 较 器 帮 助 中 的 任 务 。<br />

定 位 和和 比 较 差 异 (Locating and Comparing Differences)<br />

定 位 首 差 异 在 基 线 数 据 和和 实 际 数 据 之 间 :<br />

● 点 击 View > First Difference。<br />

在 差 异 之 间 导 航 , 可 使 用 View 命命 令 。<br />

在 表 格 窗 格 中 , 比 较 以 表 格 中 的 第 一 个 数 据 单 元 ( 该 单 元 在 左 上 角 处 ) 开 始 。 比 较 器 扫 描 差 异 。<br />

在 列 的 末 端 , 比 较 器 将 从 第 二 列 的 顶 部 开 始 , 等 等 。<br />

当 一 个 差 异 被 定 位 时 , 比 较 器 标标 明 差 异 的 区 域 使 用 相 反 的 颜 色 , 并 在 差 异 列 表 中 标标 明 有 关 的 描<br />

述 。 你 也 可 以 在 差 异 列 表 中 选 择 描 述 来来 标标 明 基 线 和和 实 际 文 件 中 的 描 述 。<br />

具 有 完 整 的 被 选 择 行 和和 列 的 查查 证 点 在 每 个 单 元 中 比 较 数 据 , 和和 行 或 者 列 中 的 单 元 数 字 是 一 样 的 。<br />

如 果果 单 元 的 数 字 不 同 , 比 较 器 标标 明 行 或 者 列 , 并 用 斜 体 字 表 示 数 字 或 者 文 本本 的 标标 题 。<br />

如 果果 在 表 格 中 的 数 据 展 现 比 窗 口 大 , 那 么 你 可 以 使 用 滚 动 条条 来来 查查 看 其 他 的 数 据 区 域 , 或 者 你 可<br />

以 调 整 窗 口 的 大 小 。<br />

注 意 事 项 : 如 果果 差 异 在 基 线 文 件 中 被 标标 明 , 并 且 在 差 异 列 表 中 的 描 述 表 示 为 “ 未 发 现 项 ”(Item<br />

cannot be found), 那 么 , 它 的 意 思 是 在 实 际 文 件 中 没 有 差 异 以 标标 明 , 因 此 , 该 项 在 这 里 是 不 存<br />

在 的 。<br />

查查 证 点 属 性 的 查查 看 (Viewing Verification Point Properties)<br />

要 查查 看 查查 证 点 属 性 :<br />

● 点 击 File > Verification Point Properties。


51Testing 软 件 测 试 网<br />

使 用 键 来来 比 较 数 据 文 件 (Using Keys to Compare Data Files)<br />

当 你 创 建 对 象 数 据 或 者 创 建 在 Robot 中 的 查查 证 点 剪 贴 板板 时 , 你 可 以 使 用 键 / 值 确 认 的 方 法 。<br />

通 过 键 / 值 确 认 的 方 法 , 对 于 具 有 行 的 查查 证 点 , 你 可 以 使 用 表 格 比 较 器 来来 添 加 或 者 变 更 基 线 文 件<br />

中 键 。 在 关 系 数 据 库 中 , 键 被 使 用 , 以 唯 一 确 认 比 较 的 行 。<br />

你 可 以 添 加 或 者 变 更 键 来来 确 定 在 查查 证 点 中 的 重 要 的 比 较 , 并 且 可 以 变 更 一 个 失 败 的 查查 证 点 到到 一<br />

个 已 通 过 的 中 去 。<br />

如 果果 一 个 键 列 中 的 数 据 值 发 生 变 更 ,Robot 将 不 会 定 位 该 记 录 , 并 且 该 查查 证 点 会 失 败 。 你 可 能 希<br />

望 改 变 比 较 器 中 的 键 , 以 获 得 更 多 的 该 查查 证 点 失 败 的 原 因 查查 看 。<br />

如 果果 你 还 没 有 指 定 唯 一 的 键 , 那 么 测 试 会 失 败 , 因 为 Robot 可 能 将 选 择 的 记 录 与 包包 含 了 相 似 值 的<br />

记 录 相 比 较 , 但 是 , 这 不 是 你 希 望 测 试 的 记 录 。 你 可 以 试 验 通 过 在 比 较 器 中 变 更 键 来来 增 加 查查 证<br />

点 的 可 预 言 性 。<br />

如 果果 数 据 库 表 发 生 变 更 , 你 可 以 改 变 比 较 器 中 的 键 来来 确 定 新 的 且 唯 一 的 列 。<br />

使 用 键 来来 比 较 数 据 文 件 :<br />

1 点 击 基 线 文 件 中 一 列 的 名 称 。<br />

2 点 击 鼠 标标 右 键 , 或 者 按 CTRL+K 来来 添 加 或 移 除 键 。<br />

基 线 和和 实 际 文 件 中 的 数 据 将 自 动 地 再 次 进 行 比 较 。<br />

在 这 个 时 候 , 你 可 以 估 计 新 键 的 放 置 点 。<br />

如 果果 基 线 文 件 中 的 键 列 有 与 实 际 文 件 不 同 的 数 据 , 那 么 差 异 列 表 显 示 为 “ 未 发 现 行 ”(Row not<br />

found): 行 x 并 包包 含 来来 自 基 线 的 键 列 的 值 (Row x and includes the value from the Baseline key<br />

column)。<br />

如 果果 基 线 中 没 有 键 列 和和 行 数 据 , 并 且 实 际 文 件 不 匹 配 , 那 么 差 异 列 表 显 示 为 “ 未 发 现 行 ”(Row<br />

not found):Row where x and includes each column name and value from the Baseline file。<br />

基 线 文 件 的 编 辑 (Editing the Baseline File)


51Testing 软 件 测 试 网<br />

当 存 在 有 意 的 变 更 到到 测 试 之 下 的 应 用 程 序 时 , 你 可 能 需 要 修 改 基 线 文 件 , 以 随 着 应 用 程 序 的 开<br />

发 保 持 它 的 更 新 。<br />

编 辑 基 线 文 件 时 , 你 可 以 :<br />

● 编 辑 数 据 。<br />

● 编 辑 一 个 菜 单 项 。<br />

● 剪 切 , 复 制 , 和和 粘 贴 数 据 。<br />

● 从 实 际 文 件 复 制 数 据 到到 基 线 文 件 。<br />

● 保 存 基 线 文 件 。<br />

注 意 事 项 : 你 不 能 编 辑 实 际 文 件 。<br />

执 行 这 些 任 务 每 个 步 骤 的 指 令 , 可 在 对 象 属 性 比 较 器 的 帮 助 中 搜 索 任 务 。<br />

保 存 基 线 文 件 (Saving the Baseline File)<br />

保 存 变 更 到到 基 线 文 件 中 :<br />

点 击 File > Save Baseline。<br />

该 命命 令 仅 当 你 有 变 更 到到 基 线 文 件 时 才 有 效 。<br />

图 象 比 较 器 的 使 用 (Using the Image Comparator)<br />

使 用 图 象 比 较 器 来来 打 开 和和 查查 看 捕 获 的 位 图 , 当 你 在 Rational Robot 测 试 脚 本本 中 使 用 下 面 的 查查 证 点<br />

时 :<br />

● 区 域 图 象<br />

● 窗 口 图 象<br />

你 可 以 使 用 图 象 编 辑 器 :<br />

● 复 查查 并 分 析析 基 线 图 象 和和 实 际 图 象 之 间 的 差 异 。<br />

● 通 过 在 图 象 上 创 建 masks 编 辑 区 域 图 象 或 者 窗 口 图 象 的 查查 证 点 。<br />

● 创 建 OCR 区 域 来来 读 一 个 区 域 中 的 文 本本 。<br />

● 查查 看 异 常 活 动 窗 口 中 的 图 象 , 它 在 一 个 测 试 脚 本本 回 放 期 间 引 发 失 败 。<br />

要 启启 动 图 象 比 较 器 , 参 阅 182 页 Starting a Comparator 的 内 容 。<br />

主 要 窗 口 (The Main Window)<br />

图 象 比 较 器 的 主 要 窗 口 包包 含 了 图 象 窗 口 ,Mask/OCR 列 表 , 差 异 列 表 , 以 及 状 态 条条 。


51Testing 软 件 测 试 网<br />

图 象 窗 口 (The Image Window)<br />

图 象 窗 口 中 有 两 个 窗 格 : 基 线 和和 实 际 。 基 线 窗 格 显 示 的 图 象 文 件 当 作 一 个 比 较 的 期 望 文 件 。 实<br />

际 窗 格 显 示 当 前前 回 放 的 图 象 。 通 过 使 用 View 命命 令 , 你 可 以 控 制 两 个 窗 格 的 展 现 。<br />

已 通 过 的 图 象 的 部 分 , 基 线 文 件 与 实 际 文 件 之 间 的 比 较 , 当 它 们 被 记 录 时 有 完 全 地 展 现 。 已 失<br />

败 的 图 象 部 分 , 比 较 ( 差 异 ) 被 显 示 为 红 色 区 域<br />

你 可 以 在 窗 格 中 的 移 动 图 象 , 并 缩 放 该 图 象 。 有 关 信 息 , 参 阅 202 页 Moving and Zooming An Image<br />

的 内 容 。<br />

差 异 列 表 (Differences List)<br />

差 异 列 表 展 现 了 在 回 放 期 间 失 败 项 的 列 表 。“ 左 ”,“ 右 ”,“ 顶 ” 和和 “ 底 ” 的 列 说 明 了 差 异<br />

区 域 的 大 小 , 象 素 的 数 量 。“ 左 ” 列 的 数 字 说 明 从 左 边 距 到到 差 异 区 域 的 左 边 界 所 具 有 的 象 素 数<br />

目 。“ 右 ” 列 的 数 字 说 明 从 左 边 距 到到 差 异 区 域 的 右 边 界 所 具 有 的 象 素 数 目 。 以 相 同 的 方 式 ,“ 顶 ”<br />

列 和和 “ 底 ” 列 定 义 了 从 顶 边 到到 差 异 区 域 的 顶 和和 底 边 界 所 具 有 的 象 素 数 目 。<br />

在 差 异 列 表 中 的 操 作 :<br />

使 用 垂 直 滚 动 条条 以 滚 动 描 述 列 表 。<br />

选 择 差 异 列 表 中 的 描 述 , 标标 明 基 线 和和 实 际 文 件 中 的 失 败 。<br />

双 击 列 表 中 的 一 项 , 将 其 放 置 , 以 使 区 域 在 视 图 的 中 央 位 置 。 它 会 有 简 短 的 闪 动 , 并 变 为 选 择<br />

的 。<br />

差 异 列 表 是 以 列 来来 分 类 的 。 当 前前 的 分 类 列 是 以 星 号 标标 明 的 。 要 以 不 同 的 列 分 类 , 点 击 列 标标 题 。


51Testing 软 件 测 试 网<br />

该 列 表 按 选 择 列 的 升 序 进 行 分 类 。<br />

Mask/OCR 列 表 (Mask/OCR List)<br />

Masks 用 来来 隐 藏 来来 自 比 较 的 基 本本 掩 饰 区 域 , 当 测 试 脚 本本 回 放 时 。 包包 含 mask 的 任 意 图 象 区 域 将 不<br />

被 比 较 , 当 你 回 放 一 个 包包 含 了 图 象 查查 证 点 的 测 试 脚 本本 时 。<br />

Robot 使 用 OCR 区 域 来来 读 设 计 区 域 中 的 文 本本 , 以 及 在 随 后 的 测 试 脚 本本 回 放 中 来来 比 较 它 。<br />

在 主 要 窗 口 左 下 窗 格 中 的 Mask/OCR 列 表 列 出 在 查查 证 点 中 使 用 的 任 意 msaks 和和 OCR 区 域 。 当 你 选<br />

择 列 表 中 的 一 个 mask 或 者 OCR 区 域 时 , 它 在 基 线 和和 实 际 文 件 中 被 标标 明 。 该 列 表 的 操 作 与 差 异 列<br />

表 的 操 作 具 有 相 同 的 方 法 , 作 为 前前 一 部 分 的 描 述 , 差 异 列 表 。 图 象 比 较 器 的 Mask/OCR 列 表 部 分 ,<br />

如 果果 你 不 具 有 针 对 查查 证 点 定 义 的 masks 或 者 OCR 区 域 , 那 么 它 是 空 的 。<br />

“ 左 ”,“ 右 ”,“ 顶 ” 和和 “ 底 ” 的 列 说 明 了 masks 或 者 OCR 区 域 象 素 的 数 量 的 大 小 。<br />

这 些 度 量 操 作 与 差 异 列 表 中 的 操 作 有 相 同 的 方 法 。 对 于 masks 的 注 释 列 包包 含 了 可 选 的 注 释 , 你 可<br />

以 通 过 选 择 一 个 mask 并 点 击 Edit > Mask Properties 来来 进 行 添 加 。OCR 区 域 的 OCR 文 本本 列 包包 含<br />

了 将 被 测 试 的 区 域 中 的 文 本本 。<br />

状 态 栏栏 (The Status Bar)<br />

在 主 要 窗 口 底 部 的 状 态 栏栏 提 供 你 在 比 较 器 中 操 作 的 有 用 信 息 。 要 显 示 或 者 隐 藏 状 态 栏栏 , 选 择<br />

View ><br />

Status Bar。<br />

状 态 栏栏 左 边 部 分 的 信 息 区 域 展 现 了 菜 单 的 命命 令 描 述 以 及 操 作 信 息 , 诸 如 在 选 择 器 为 差 异 扫 描 图<br />

象 时 的 更 新 过 程 。<br />

状 态 栏栏 的 右 边 , 有 四 个 小 窗 格 , 以 放 置 说 明 信 息 :<br />

ReadOnly – 指 明 为 一 个 只 读 状 态 。 如 果果 当 前前 基 线 没 有 展 现 , 由 于 当 前前 基 线 是 仅 有 的 你 可 以 编<br />

辑 的 文 件 , 在 这 种 情 况 下 , 该 状 态 发 生 。<br />

Load CBL – 指 明 当 前前 基 线 不 被 展 现 。 如 果果 你 希 望 开 始 编 辑 , 点 击 File > Load Current<br />

Baseline 来来 展 现 当 前前 的 基 线 。<br />

BLINK – 指 明 闪 烁 特 征 被 打 开 。<br />

– 指 明 窗 口 的 缩 放 百 分 比 。 如 果果 你 具 有 原 型 或 者 正 常 的 视 图 , 缩 放 百 分<br />

比 为 100%。 如 果果 你 缩 放 正 常 的 视 图 , 那 么 以 该 百 分 比 显 示 视 图 。 如 果果 该 图 象 符 合 该 窗 口 , 显 示<br />

为 FITTED( 合 适 的 )。<br />

定 位 和和 比 较 差 异 (Locating and Comparing Differences)<br />

● 在 基 线 和和 实 际 图 象 中 展 现 差 异 :


51Testing 软 件 测 试 网<br />

点 击 View > Show Differences。<br />

定 位 首 差 异 :<br />

● 点 击 View > First Difference。<br />

当 一 个 差 异 被 定 位 时 , 比 较 器 对 其 有 短 暂 地 闪 烁 , 把 差 异 放 在 窗 格 的 中 央 位 置 , 然 后 在 两 个 窗<br />

格 中 选 择 它 。<br />

在 差 异 之 间 导 航 , 使 用 View 命命 令 。<br />

变 更 的 差 异 如 何 被 确 定 (Changing How Differences are Determined)<br />

每 个 差 异 区 域 表 现 不 同 象 素 的 一 个 逻 辑 集 合 — 一 串 相 异 的 象 素 一 起 关 闭 。 依 赖 与 你 的 首 选 设 置 ,<br />

选 择 器 确 定 该 区 域 是 否 关 闭 , 其 中 最 后 的 一 个 属 于 相 同 的 或 者 一 个 不 同 的 差 异 区 域 。 每 次 选 择<br />

器 定 义 新 的 区 域 围 绕 一 个 相 异 的 象 素 , 选 择 器 确 定 该 区 域 是 否 关 闭 , 足 够 多 的 任 意 其 他 先 前前 被<br />

定 义 的 区 域 。<br />

如 果果 这 样 , 比 较 器 会 合 并 这 两 个 矩 形 区 域 。 否 则 , 该 区 域 变 为 一 个 新 的 差 异 区 域 。<br />

变 更 的 差 异 如 何 被 确 定 :<br />

1 点 击 Tools > Options。<br />

使 用 此 设 置 来来 说 明 , 当 一 个 新 的 相 异 的 象 素 被 发 现 时 , 如 何 关 闭 。<br />

2 在 Difference Regions 下 变 更 设 置 。 移 动 滑 线 来来 确 定 是 否 有 更 多 的 或 更 少 的 差 异 区 域 被 创<br />

建 。<br />

当 你 移 动 该 滑 线 时 , 紧 邻 着 滑 线 的 图 片 是 那 个 选 择 的 一 个 表 示 。<br />

Masks,OCR 区 域 , 或 差 异 的 颜 色 变 更 (Changing the Color of Masks, OCR Regions, or<br />

Differences)<br />

在 图 象 窗 口 中 变 更 masks,OCR 区 域 , 或 者 差 异 的 颜 色 :<br />

1 点 击 Tools > Options。<br />

2 变 更 Colors 的 设 置 。<br />

Masks – 在 图 象 中 为 masks 选 择 亮 度 颜 色 。Masks 在 基 线 和和 实 际 文 件 中 被 展 现 为 该 颜 色 块 。 默 认<br />

颜 色 颜 色 是 亮 绿 色 。 点 击 Change 来来 选 择 不 同 的 颜 色 。<br />

Differences – 在 图 象 中 为 差 异 选 择 亮 度 颜 色 。 差 异 区 域 在 基 线 和和 实 际 文 件 中 被 展 现 为 该 颜 色<br />

块 。 默 认 颜 色 为 亮 红 色 。 点 击 Change 来来 选 择 不 同 的 颜 色 。<br />

OCR regions – 在 图 象 中 为 OCR 区 域 选 择 亮 度 颜 色 。 该 区 域 在 基 线 和和 实 际 文 件 中 被 展 现 为 该 颜<br />

色 块 。 默 认 颜 色 为 亮 蓝 色 。 点 击 Change 来来 选 择 不 同 的 颜 色 。<br />

移 动 , 缩 放 一 个 图 象 (Moving and Zooming An Image)


51Testing 软 件 测 试 网<br />

这 里 有 几 种 方 法 , 以 在 基 线 和和 实 际 窗 格 内 移 动 图 象 :<br />

● 使 用 平 行 和和 垂 直 滚 动 条条 。 如 果果 你 在 查查 看 两 个 文 件 , 那 么 滚 动 是 同 步 的 。<br />

● 使 用 活 动 的 手 型 指 针 。 如 果果 你 在 图 象 的 任 意 地 方 ( 非 mask 或 差 异 区 域 ) 压 住 鼠 标标 左 键 , 鼠 标标<br />

指 针 转 变 为 手 型 。 你 可 以 使 用 它 围 绕 这 窗 口 移 动 图 象 。<br />

注 意 事 项 : 你 可 以 使 用 缩 放 命命 令 来来 转 动 图 象 。 你 可 以 拉 近 , 拉 远 , 按 比 例 缩 放 , 将 图 象 与 窗 口<br />

完 全 匹 配 , 或 者 返 回 到到 正 常 图 象 的 大 小 。<br />

● 拉 近 图 象 , 点 击 View > Zoom > Zoom In。<br />

拉 近 图 象 通 过 两 个 因 素 。 如 果果 当 你 使 用 缩 放 命命 令 时 , 你 有 一 个 选 择 的 mask,OCR 区 域 , 或 者<br />

差 异 区 域 , 那 么 缩 放 集 中 于 那 个 区 域 。 如 果果 你 没 有 选 择 的 区 域 , 那 么 缩 放 集 中 在 真 个 图 象 。<br />

你 可 以 使 用 命命 令 来来 反 复 地 保 持 图 象 中 的 缩 放 。<br />

● 从 图 象 拉 远 , 点 击 View > Zoom > Zoom Out。<br />

● 通 过 百 分 比 缩 放 图 象 的 正 常 展 现 , 点 击 View > Zoom > Zoom Special 和和 百 分 比 。<br />

● 恢 复 图 象 到到 它 的 原 有 尺 寸 , 点 击 View > Zoom > Normal Size。<br />

● 将 图 象 全 尺 寸 符 合 窗 格 的 大 小 , 点 击 View > Zoom > Fit To Window。<br />

缩 放 因 素 经 常 保 留 图 象 的 高 宽 比 , 以 确 保 文 本本 和和 图 象 不 出 现 变 形 。Fit To Window 表 示 最 大 的<br />

缩 放 因 素 , 在 保 持 图 象 的 高 宽 比 的 情 况 下 , 可 以 在 窗 口 中 展 现 完 全 的 图 象 。<br />

查查 看 图 象 属 性 (Viewing Image Properties)<br />

查查 看 一 个 图 象 的 属 性 :<br />

● 点 击 File > Properties。<br />

图 象 属 性 对 话 框 显 示 有 关 图 象 的 信 息 , 包包 括 它 的 比 例 , 颜 色 , 尺 寸 和和 文 件 的 创 建 数 据 。<br />

有 关 Masks 的 操 作 (Working with Masks)<br />

你 可 以 使 用 Edit > New Mask 命命 令 创 建 图 象 比 较 器 中 的 masks。<br />

Masks 在 测 试 脚 本本 回 放 时 , 被 用 来来 隐 藏 来来 自 比 较 的 基 本本 的 masked 区 域 。 任 意 包包 含 mask 的 图 象 图<br />

象 区 域 不 作 比 较 , 在 你 回 放 一 个 包包 含 了 图 象 查查 证 点 的 测 试 脚 本本 时 。<br />

使 用 masks 确 保 某某 个 区 域 不 进 行 测 试 。 例 如 , 如 果果 你 的 应 用 程 序 有 日 期 字 段 , 你 可 能 希 望 mask<br />

隐 藏 它 以 使 其 在 每 次 测 试 脚 本本 回 放 时 不 产 生 失 败 , 你 也 可 以 应 用 masks 来来 隐 藏 你 决 定 的 差 异 , 通<br />

过 有 意 的 改 变 到到 应 用 程 序 中 , 以 使 它 们 在 未 来来 的 测 试 中 不 引 起 失 败 。<br />

因 此 你 只 能 编 辑 基 线 文 件 , 你 不 能 在 实 际 文 件 中 执 行 下 面 的 过 程 。 然 而 , 当 你 在 一 个 基 线 文 件<br />

中 选 择 一 个 mask 时 , 该 mask 也 在 实 际 文 件 中 被 选 择 。 你 不 能 修 改 实 际 文 件 中 的 mask— 它 只 是 为<br />

了 方 便 而 已 。


51Testing 软 件 测 试 网<br />

你 可 以 对 mask 做 下 面 的 操 作 :<br />

● 展 现 masks。<br />

● 创 建 masks。<br />

● 移 动 和和 调 整 masks。<br />

● 剪 切 , 复 制 , 和和 粘 贴 masks。<br />

● 加 倍 复 制 masks。<br />

● 删 除 masks。<br />

● 自 动 地 mask( 隐 藏 ) 差 异 。<br />

每 步 指 令 , 搜 索 图 象 比 较 器 帮 助 中 的 每 个 任 务 。<br />

有 关 OCR 区 域 的 操 作 (Working with OCR Regions)<br />

Robot 使 用 Optical Character Recognition( 光 符 识 别 ) 区 域 来来 读 设 计 区 域 中 的 文 本本 , 并 在 随 后 的<br />

测 试 脚 本本 回 放 中 比 较 它 。<br />

你 可 以 使 用 ORC 区 域 来来 查查 证 一 个 应 用 程 序 的 正 确 操 作 , 在 窗 口 区 域 动 态 地 画 入 文 本本 , 或 者 实 际<br />

文 本本 地 获 得 是 困 难 的 。<br />

OCR 区 域 在 一 些 的 情 况 下 也 是 有 效 的 , 比 如 一 个 文 本本 字 符 串 的 字 体 或 深 度 可 能 发 生 异 常 变 更 ,<br />

但 未 发 现 使 用 了 传 统 的 查查 证 方 法 。 要 取 得 正 确 的 查查 证 , 你 可 以 在 现 存 的 或 新 近 捕 获 的 查查 证 点 上<br />

定 义 OCR 区 域 。<br />

你 可 以 对 OCR 区 域 进 行 下 面 的 操 作 :<br />

● 创 建 一 个 OCR 区 域 。<br />

● 移 动 和和 调 整 OCR 区 域 。<br />

● 剪 切 , 复 制 , 和和 粘 贴 OCR 区 域 。<br />

● 成 倍 复 制 OCR 区 域 。<br />

● 删 除 OCR 区 域 。<br />

每 步 指 令 , 搜 索 图 象 比 较 器 帮 助 中 的 每 个 任 务 。<br />

保 存 基 线 文 件 (Saving the Baseline File)<br />

保 存 变 更 到到 基 线 文 件 中 :<br />

● 点 击 File > Save Baseline。<br />

该 命命 令 仅 当 你 有 变 更 到到 基 线 文 件 时 才 有 效 。<br />

查查 看 异 常 活 动 窗 口 (Viewing Unexpected Active Window)<br />

Robot 在 测 试 脚 本本 回 放 期 间 , 设 计 为 响响 应 到到 异 常 活 动 窗 口 的 。 一 个 异 常 活 动 窗 口 , 在 测 试 脚 本本 回


51Testing 软 件 测 试 网<br />

放 期 间 , 中 断 回 放 序 列 , 并 阻 止 产 生 活 动 的 预 期 窗 口 , 是 任 意 非 脚 本本 窗 口 的 出 现 。 一 个 UAW 的<br />

例 子 , 一 个 错 误 消 息 产 生 , 或 者 一 个 e-mail 通 知 消 息 窗 口 。<br />

你 可 以 查查 看 图 象 比 较 器 中 的 异 常 窗 口 , 仅 当 你 已 经 在 Robot 中 进 行 了 选 项 设 置 。Robot 的 GUI 回<br />

放 对 话 框 中 , 点 击 Unexpected Active Window 标标 签 。 确 认 Detect unexpected active<br />

windows 和和 Capture screen image 选 项 都 被 选 中 。( 有 关 设 置 异 常 活 动 窗 口 选 项 的 信 息 , 参<br />

阅 Using the Rational Robot 手 册 。)<br />

在 选 择 器 中 打 开 UAW 以 查查 看 :<br />

1 启启 动 TestManager, 打 开 含 有 一 个 UAW 的 日 志 文 件 。<br />

2 在 Event Type 列 中 可 进 行 下 面 的 一 个 操 作 :<br />

● 双 击 一 个 异 常 活 动 窗 口 的 事 件 。<br />

● 选 择 一 个 异 常 活 动 窗 口 事 件 , 并 点 击 UAW。<br />

图 象 比 较 器 打 开 , 这 个 UAW 出 现 。


51Testing 软 件 测 试 网<br />

Part 3:<br />

Performance<br />

Testing with Rational<br />

TestManager


51Testing 软 件 测 试 网<br />

性 能 测 试 的 计 划 ( Planning Performance<br />

Tests) 9<br />

本本 章 介 绍 使 用 Rational TestManager 进 行 性 能 测 试 。 它 包包 括 了 下 面 的 标标 题 内 容 :<br />

● 有 关 性 能 测 试<br />

● Rational TestManager 与 性 能 测 试<br />

● 性 能 测 试 的 计 划<br />

● 性 能 测 试 的 实 施<br />

● 性 能 测 试 实 例<br />

● 性 能 测 试 的 结 果果 分 析析<br />

有 关 性 能 测 试 (About Performance Testing)<br />

性 能 测 试 帮 助 你 确 定 , 一 个 多 客 户 (multi-client) 系 统 在 不 同 的 工 作 负 载 和和 配 置 下 是 否 执 行 到到<br />

定 义 的 标标 准 。<br />

性 能 测 试 是 实 施 和和 执 行 的 测 试 的 一 个 类 , 来来 表 征 和和 评 估 被 测 试 服 务 器 如 下 的 性 能 特 征 :<br />

● 时 间 轮 廓


51Testing 软 件 测 试 网<br />

● 吞 吐 量<br />

● 响响 应 时 间<br />

● 操 作 可 靠 性 和和 界 限<br />

不 同 的 性 能 测 试 类 型 , 有 其 各 自 关 注 的 一 个 不 同 的 测 试 目 的 , 它 们 实 施 于 整 个 的 软 件 开 发 生 命命<br />

周周 期 。<br />

在 开 发 的 生 命命 周周 期 初 期 — 在 加 工 迭 代 中 — 性 能 测 试 关 注 于 确 认 和和 排 除 关 联 架架 构构 的 性 能 瓶 颈 。<br />

开 发 周周 期 的 后 期 — 在 构构 造 迭 代 中 — 性 能 测 试 调 试 软 件 和和 环 境 ( 优 化化 响响 应 时 间 和和 资 源 ), 并 查查 证<br />

应 用 程 序 和和 系 统 可 接 受 地 高 工 作 负 载 的 处 理 , 以 及 压 力力 状 况 , 比 如 大 量 的 事 务 处 理 , 客 户 , 或<br />

者 大 量 的 数 据 。 性 能 测 试 的 不 同 类 型 匹 配 与 么 个 迭 代 。<br />

性 能 测 试 包包 含 了 与 多 个 虚 拟 测 试 者 密 切 相 关 的 服 务 器 负 载 。 例 如 , 当 有 1000 个 其 它 的 虚 拟 测 试<br />

者 在 同 一 时 间 向 相 同 的 服 务 器 发 送 请 求 时 , 你 可 能 有 一 个 关 联 了 一 个 虚 拟 测 试 者 的 计 时 器 , 来来<br />

查查 清 在 这 种 情 况 下 服 务 器 获 得 一 个 请 求 需 要 多 长 的 时 间 。<br />

你 也 可 以 使 用 虚 拟 测 试 者 来来 衡 量 客 户 端 的 响响 应 时 间 , 获 得 一 个 客 户 端 从 发 送 请 求 到到 接 受 服 务 器<br />

响响 应 时 止 需 要 等 待 的 时 间 长 度 。 当 有 效 的 客 户 端 处 理 或 者 屏 幕 刷 新 时 间 关 联 与 你 要 测 量 的 一 个<br />

真 实 用 户 的 活 动 时 , 这 里 更 多 的 表 示 为 该 用 户 的 经 验 。<br />

测 试 的 类 型 (Types of Tests)<br />

性 能 测 试 包包 含 以 下 的 测 试 类 型 :<br />

● 基 准 测 试 (Benchmark tests)-- 将 一 个 新 的 或 未 知 的 服 务 器 性 能 与 已 知 的 参 照 标标 准 相 比 较 ,<br />

比 如 现 存 的 软 件 或 度 量 。<br />

● 配 置 测 试 (Configuration tests)-- 当 操 作 的 条条 件 剩 余 常 量 时 , 查查 证 服 务 器 在 不 同 配 置 下 的<br />

可 接 受 性 能 。<br />

● 负 载 测 试 (Load tests)-- 当 操 作 的 条条 件 剩 余 常 量 时 , 查查 证 服 务 器 在 不 同 工 作 负 载 下 的 可 接<br />

受 性 能 。<br />

● 压 力力 测 试 (Stress tests)-- 当 遇 到到 反 常 或 极极 端 的 状 况 时 , 比 如 降 低 资 源 或 有 最 大 用 户 数 , 查查<br />

证 服 务 器 的 可 接 受 性 能 。<br />

● 争 用 测 试 (Contention tests)-- 查查 证 服 务 器 处 理 多 个 用 户 争 用 相 同 的 系 统 资 源 ( 数 据 记 录<br />

或 内 存 )。<br />

基 准 测 试 (Benchmark Tests)<br />

基 准 测 试 可 以 提 供 关 于 服 务 器 如 何 在 给 定 的 条条 件 下 执 行 的 信 息 的 一 个 基 线 。 一 个 初 始 的 基 准 度<br />

量 可 以 提 供 来来 自 于 被 评 估 的 其 他 性 能 细 节 的 一 个 参 考 点 。


51Testing 软 件 测 试 网<br />

基 准 测 试 可 以 简 单 地 确 定 在 给 定 的 时 间 总 量 中 , 完 成 一 个 操 作 的 虚 拟 测 试 者 的 百 分 比 , 或 者 帮<br />

助 你 计 算 在 这 个 相 同 的 时 间 总 量 中 , 没 有 完 成 该 操 作 的 剩 余 虚 拟 测 试 者 的 百 分 比 。<br />

如 果果 一 个 性 能 的 基 准 对 于 给 定 的 应 用 程 序 是 确 定 的 , 那 么 你 可 以 相 比 较 这 个 基 线 来来 度 量 配 置 ,<br />

负 载 , 压 力力 , 以 及 争 用 测 试 的 结 果果 , 以 评 估 相 对 的 性 能 。<br />

配 置 测 试 (Configuration Tests)<br />

现 在 , 有 着 各 种 各 样 的 C/S 环 境 , 每 个 用 户 的 计 算 机机 都 有 着 不 同 的 硬 件 和和 软 件 配 置 , 这 样 就 会 出<br />

现 风 险 , 应 用 软 件 将 只 能 运 行 在 其 中 的 一 些 计 算 机机 上 , 而 另 外 一 些 则 不 能 。 这 时 , 你 可 以 使 用<br />

配 置 测 试 来来 确 保 你 的 产 品品 将 能 在 多 种 平 台 上 运 行 。<br />

TestManager 让 你 计 划 和和 安 排 相 同 的 测 试 以 使 应 用 程 序 在 不 同 的 代 理 计 算 机机 上 运 行 ,<br />

可 以 依 次 使 你 :<br />

● 兼 容 性 测 试 的 发 布 。<br />

● 确 定 应 用 程 序 运 行 的 最 低 和和 最 适 合 的 软 , 硬 件 配 置 。<br />

● 确 定 应 用 程 序 在 每 台 测 试 机机 上 是 如 何 执 行 的 。<br />

通 常 情 况 下 , 你 只 是 和和 功 能 测 试 一 起 执 行 配 置 测 试 , 当 然 , 你 也 可 以 伴 随 性 能 测 试 负 载 你 的 C/S<br />

系 统 , 以 测 试 在 工 作 负 载 上 配 置 改 变 的 效 果果 。<br />

负 载 测 试 (Load Tests)<br />

负 载 测 试 是 针 对 客 户 端 或 者 服 务 器 端 在 不 同 工 作 负 载 下 的 响响 应 时 间 的 测 试 。 负 载 测 试 也 被 用 来来<br />

计 算 一 个 服 务 器 在 一 个 给 定 时 间 段 内 可 以 处 理 的 最 大 事 务 处 理 数 。 此 外 , 当 一 个 C/S 系 统 使 用 工<br />

作 负 载 平 衡 或 一 个 分 布 式 结 构构 时 , 负 载 测 试 可 以 帮 助 你 确 认 作 为 设 计 的 负 载 平 衡 或 分 布 式 方 法<br />

的 工 作 。<br />

压 力力 测 试 (Stress Tests)<br />

压 力力 测 试 是 客 户 端 应 用 程 序 在 极极 端 的 条条 件 下 执 行 以 查查 看 客 户 端 或 服 务 器 是 否 在 “ 疲 劳劳 ” 的 状 态<br />

下 会<br />

发 生 档 机机 的 现 象 。 压 力力 测 试 的 实 例 包包 括 :<br />

● 连 续 不 断 地 将 客 户 端 的 应 用 程 序 运 行 数 小 时 。<br />

● 执 行 大 量 的 事 务 处 理 。<br />

● 上 百 个 虚 拟 测 试 者 同 时 执 行 相 同 的 操 作 或 一 个 明 确 的 操 作 组 合 。<br />

其 他 的 在 一 个 系 统 上 的 压 力力 测 试 类 型 包包 括 了 内 存 不 足 , 无 效 的 服 务 或 硬 件 , 或 者 在 服 务 器 端 减<br />

少 共 享 资 源 。<br />

压 力力 测 试 帮 助 你 确 认 客 户 端 应 用 程 序 或 服 务 器 端 能 处 理 的 产 品品 条条 件 , 无 效 的 计 算 机机 资 源 管 理 可


51Testing 软 件 测 试 网<br />

能 导 致 系 统 崩 溃 。<br />

争 用 测 试 (Contention Tests)<br />

争 用 测 试 包包 含 虚 拟 测 试 者 在 一 台 或 更 多 的 测 试 机机 上 执 行 , 以 模 拟 一 个 真 实 的 用 户 环 境 。 例 如 ,<br />

你 可 能 有 虚 拟 测 试 者 进 入 到到 相 同 的 数 据 库 , 以 发 现 诸 如 锁 定 , 死 锁 条条 件 , 以 及 并 发 操 作 的 问 题 。<br />

争 用 测 试 执 行 起 来来 比 较 困 难 , 原 因 是 它 需 要 在 虚 拟 测 试 者 之 间 进 行 准 确 的 协 调 。 利 用<br />

TestManager, 你 可 以 进 行 多 重 测 试 机机 的 测 试 , 虚 拟 测 试 者 在 它 们 继 续 执 行 之 前前 , 等 待 条条 件 以 满<br />

足 与 其 搭 配 的 , 或 其 他 的 测 试 机机 。 例 如 , 你 可 能 在 一 台 测 试 机机 上 有 一 个 虚 拟 测 试 者 添 加 一 个 记<br />

录 到到 数 据 库 中 , 并 且 在 另 一 台 测 试 机机 上 有 第 二 个 虚 拟 测 试 者 , 直 到到 第 一 个 虚 拟 测 试 者 完 成 记 录<br />

的 添 加 方 才 暂 停 。 第 二 个 虚 拟 测 试 者 可 以 读 该 记 录 。<br />

本本 地 和和 代 理 测 试 机机 (Local and Agent Computers)<br />

你 需 要 在 单 个 的 一 台 运 行 TestManager 的 Windows NT 测 试 机机 上 协 调 你 所 有 的 测 试 脚 本本 活 动 。 这<br />

就 是 所 谓 的 Local computer( 本本 地 测 试 机机 )。 从 本本 地 测 试 机机 上 , 你 可 以 创 建 , 执 行 , 以 及 监 控 suites。<br />

在 一 个 测 试 执 行 期 间 , 你 可 以 在 本本 地 测 试 机机 或 你 设 计 为 Agent computers( 代 理 测 试 机机 ) 的 测 试<br />

机机 上 录 制 回 放 测 试 脚 本本 。 在 下 面 的 测 试 情 况 下 , 你 使 用 一 台 代 理 测 试 机机 :<br />

● 添 加 工 作 负 载 到到 服 务 器 (Adding workload to the server)— 如 果果 你 执 行 一 个 具 有 大 量 虚 拟<br />

测 试 者 的 测 试 , 那 么 你 可 以 使 用 代 理 测 试 机机 来来 添 加 工 作 负 载 到到 服 务 器 。<br />

● 在 一 台 或 多 于 一 台 的 测 试 机机 上 执 行 测 试 脚 本本 (Running test scripts on more than one<br />

computer)-- 如 果果 你 正 在 执 行 一 个 功 能 测 试 , 你 可 以 通 过 在 下 一 个 可 用 的 代 理 测 试 机机 上 执<br />

行 该 测 试 脚 本本 来来 节 约 时 间 , 该 代 理 测 试 机机 替 代 本本 地 测 试 机机 执 行 所 有 的 测 试 脚 本本 。 对 于 这 种 情<br />

况 , 该 测 试 脚 本本 必 须 模 块 化化 和和 独 立 的 。<br />

● 测 试 硬 件 配 置 (Testing hardware configurations)— 如 果果 你 正 在 测 试 不 同 的 硬 件 配 置 , 你<br />

可 以 在 不 同 的 代 理 测 试 机机 上 执 行 测 试 脚 本本 , 而 这 些 测 试 机机 设 置 了 这 些 硬 件 配 置 。<br />

Suites<br />

一 般 地 , 多 个 测 试 脚 本本 和和 多 个 测 试 机机 是 包包 含 在 一 个 测 试 当 中 的 。 在 执 行 时 , 测 试 脚 本本 的 回 放 是<br />

通 过 你 设 计 的 测 试 suites 来来 协 调 的 。 这 些 测 试 suites 添 加 一 个 工 作 负 载 到到 该 服 务 器 。 你 从 本本 地 测 试<br />

机机 上 执 行 这 些 suites。<br />

一 旦 你 使 用 TestManager 创 建 了 suites, 这 个 suites 描 述 成 服 务 器 的 一 个 基 线 特 征 , 你 就 可 以 反 复<br />

地 执 行 这 些 suites 来来 和和 产 品品 的 连 续 构构 造 相 比 较 , 然 后 使 用 TestManager 的 报 告告 工 具 来来 分 析析 这 些 结<br />

果果 。


51Testing 软 件 测 试 网<br />

Rational TestManager 与 性 能 测 试 (Rational TestManager<br />

and Performance Testing)<br />

利 用 TestManager 进 行 性 能 测 试 , 可 以 帮 助 你 在 将 应 用 程 序 部 署 到到 真 实 环 境 之 前前 发 现 并 改 正 性 能<br />

方 面 的 问 题 。 通 过 TestManager, 你 可 以 得 到到 你 需 要 的 所 有 的 工 具 , 来来 确 定 , 隔 离 , 并 分 析析 性 能<br />

瓶 颈 。<br />

作 为 一 个 自 动 负 载 测 试 工 具 ,TestManager 模 拟 一 个 或 多 个 实 际 用 户 执 行 各 种 计 算 任 务 。 由 虚 拟<br />

测 试 者 替 换 用 户 ,TestManager 消 除 用 户 的 需 要 来来 手 工 地 添 加 工 作 负 载 到到 该 服 务 器 中 。<br />

由 于 TestManager 允 许 你 在 一 台 单 独 的 测 试 机机 上 回 放 多 个 虚 拟 测 试 者 的 活 动 , 你 可 以 在 一 些 测 试<br />

机机 — 或 一 台 测 试 机机 上 , 执 行 包包 含 上 百 或 上 千 个 虚 拟 测 试 者 的 测 试 。<br />

TestManager 环 境 (The TestManager Environment)<br />

TestManager 能 够 使 你 在 一 个 分 布 式 的 环 境 中 执 行 suite。 这 个 环 境 由 单 个 的 本本 地 测 试 机机 ( 在 该 测<br />

试 机机 上 协 调 测 试 的 执 行 和和 回 放 测 试 脚 本本 ), 和和 零 或 更 多 台 的 代 理 测 试 机机 ( 在 该 测 试 机机 上 回 放 测<br />

试 脚 本本 ) 构构 成 。<br />

服 务 器 可 以 执 行 在 多 种 操 作 系 统 下 , 并 通 过 TCP/IP 网 络 连 接 到到 本本 地 和和 代 理 测 试 机机 上 。<br />

下 图 举 例 说 明 了 一 个 典 型 的 TestManager 配 置 :


51Testing 软 件 测 试 网<br />

记 录 并 回 放 测 试 脚 本本 (Recording and Playing Back Test Scripts)<br />

通 过 TestManager 回 放 测 试 脚 本本 来来 执 行 性 能 测 试 。 一 个 测 试 脚 本本 可 以 来来 自 于 许 多 的 资 源 :<br />

● 你 可 以 利 用 Rational Robot 来来 记 录 一 个 测 试 脚 本本 。<br />

当 你 Rational Robot 来来 记 录 一 个 脚 本本 时 ,Robot 在 一 个 session 中 记 录 活 动 , 然 后 自 动 地 创 建 一 个<br />

测 试 脚 本本 , 这 个 脚 本本 代 表 了 与 服 务 器 端 的 相 互 作 用 , 以 及 所 有 的 请 求 和和 响响 应 。<br />

有 关 在 Rational Robot 中 记 录 一 个 测 试 脚 本本 的 信 息 , 参 阅 UsingRational Robot 手 册 。<br />

● 你 可 以 使 用 任 意 的 脚 本本 语 言 来来 编 写 一 个 测 试 脚 本本 。<br />

当 你 用 此 种 方 法 提 供 一 个 测 试 脚 本本 时 , 你 必 须 写 一 个 适 配 器 以 便 TestManager 能 够 识 别 出 该 测<br />

试 脚 本本 的 类 型 。 有 关 信 息 , 参 阅 Rational Test Extensibility Reference 手 册 。<br />

● 你 可 以 创 建 一 个 手 工 脚 本本 , 罗 列 一 个 虚 拟 测 试 者 的 任 务 。<br />

性 能 测 试 的 计 划 (Planning Performance Tests)<br />

一 个 服 务 器 的 性 能 测 试 一 般 包包 含 多 个 虚 拟 测 试 者 的 服 务 器 负 载 。 目 的 是 要 搞 清 楚 在 此 工 作 负 载<br />

下 , 服 务 器 如 何 执 行 。<br />

你 可 能 希 望 回 答 一 些 性 能 方 面 的 问 题 :<br />

● 在 正 常 条条 件 下 , 服 务 器 可 支 持 多 少 虚 拟 测 试 者 ?<br />

● 在 正 常 条条 件 下 , 遇 到到 一 些 情 况 , 服 务 器 性 能 是 否 会 突 然 地 降 低 ?<br />

● 在 你 超 出 正 常 条条 件 时 , 系 统 执 行 的 如 何 ?<br />

在 一 个 “ 做 最 坏 打 算 ” 的 场 景 (scenario) 中 , 系 统 性 能 是 否 大 大 地 降 低 或 完 全 地 档 机机 ?<br />

● 在 多 种 硬 件 配 置 下 系 统 执 行 的 如 何 ?<br />

以 下 的 章 节 将 论 述 包包 含 在 一 个 测 试 计 划 中 的 这 些 关 键 步 骤 。<br />

测 试 响响 应 时 间 (Testing Response Times)<br />

TestManager 允 许 你 度 量 多 种 性 能 指 标标 。 然 而 , 分 布 式 的 功 能 测 试 按 照 直 接 的 pass/fail 响响 应 度 量 其<br />

准 确 性 , 而 性 能 测 试 还 要 度 量 响响 应 的 时 间 。 例 如 :<br />

● 一 个 活 动 的 完 全 执 行 需 要 多 长 的 时 间 ?<br />

● 在 重 工 作 负 载 条条 件 下 , 服 务 器 多 快 才 能 响响 应 ?<br />

你 也 可 以 度 量 客 户 端 的 响响 应 时 间 或 服 务 器 的 响响 应 时 间 , 或 者 两 者 皆 可 。<br />

为 性 能 测 试 设 置 Pass 和和 Fail 的 标标 准 (Setting Pass and Fail Criteria for<br />

Performance Tests)


51Testing 软 件 测 试 网<br />

由 于 性 能 存 在 主 观 因 素 , 确 定 要 测 试 的 性 能 特 征 和和 性 能 是 否 passes 或 fails 的 标标 准 就 成 为 了 必 须<br />

要 做 的 事 。Passes 或 fails 的 标标 准 经 常 包包 含 了 一 个 响响 应 时 间 的 可 接 受 的 范 围 。<br />

例 如 , 你 可 以 定 义 以 下 的 作 为 一 个 可 接 受 的 响响 应 时 间 :<br />

对 于 100 个 虚 拟 测 试 者 , 所 有 事 务 处 理 的 90% 都 有 一 个 5 秒 或 更 少 的 响响 应 时 间 的 范 围 。 响响 应 时 间<br />

最 大 不 超 过 20 秒 。<br />

对 于 500 个 虚 拟 测 试 者 , 所 有 事 务 处 理 的 80% 都 有 一 个 10 秒 或 更 少 的 响响 应 时 间 的 范 围 。 响响 应 时 间<br />

最 大 不 超 过 45 秒 。<br />

确 认 测 试 性 能 的 需 求 (Identifying Performance Testing Requirements)<br />

当 计 划 一 个 性 能 测 试 时 , 需 要 确 定 你 测 试 要 求 的 硬 件 和和 软 件 。 例 如 :<br />

● 服 务 器 : 数 据 库 服 务 器 ,Web 服 务 器 , 以 及 其 他 的 服 务 器 系 统<br />

● 客 户 机机 :Windows 2000, NT, 98, 95, 或 Me; 网 络 计 算 机机 ; 或 者 Macintosh( 苹 果果 公 司 生 产 的 一<br />

种 型 ● 号 的 计 算 机机 ), 以 及 UNIX 工 作 站 。<br />

● 将 要 访 问 的 数 据 库<br />

● 将 要 运 行 的 应 用 程 序<br />

此 外 , 你 需 要 以 下 的 测 试 参 数 :<br />

● 测 试 的 数 据 库 大 小 , 以 及 其 他 的 测 试 文 档 , 以 准 确 地 代 表 实 际 的 工 作 负 载<br />

● 分 布 的 数 据 到到 达 服 务 器 以 防 止 I/O 的 瓶 颈 。<br />

● 如 果果 你 正 在 测 试 一 个 数 据 库 , 那 么 需 要 数 据 库 关 键 参 数 的 设 置 。<br />

设 计 仿 真 的 工 作 负 载 (Designing a Realistic Workload)<br />

如 果果 你 正 在 测 试 性 能 , 那 么 你 的 模 型 应 准 确 地 反 映 出 站 点 的 工 作 负 载 , 这 是 必 须 达 到到 的 。 因 此 ,<br />

你 必 须 确 定 在 你 的 站 点 上 发 生 的 事 务 处 理 的 类 型 。<br />

例 如 , 用 户 是 否 偶 尔 地 查查 询 和和 更 新 数 据 库 , 或 者 用 户 会 经 常 地 更 新 数 据 库 ? 如 果果 他 们 经 常 的 更<br />

新 数 据 库 库 , 那 么 这 些 更 新 是 复 杂 的 , 冗 长 的 , 或 者 是 短 暂 的 ?<br />

在 设 计 工 作 负 载 时 , 考 虑 这 些 问 题 :<br />

工 作 负 载 的 时 间 间 隔 (The workload interval)-- 工 作 负 载 的 时 间 周周 期 的 模 型 表 现 。<br />

例 如 , 工 作 负 载 的 时 间 间 隔 可 能 是 一 个 峰 值 时 间 , 一 个 平 均 的 天 数 , 或 者 一 个 月 末 的 记 账 周周 期 。<br />

测 试 变 量 (Test variables) -- 这 是 在 性 能 测 试 期 间 将 要 改 变 的 测 试 因 素 。<br />

例 如 , 你 可 能 需 要 改 变 虚 拟 测 试 者 的 数 量 来来 了 解 在 工 作 负 载 增 加 的 情 况 下 响响 音 时 间 是 如 何 退 化化<br />

的 。<br />

一 次 只 改 变 一 个 变 量 是 最 好 的 做 法 。 然 后 , 如 果果 性 能 伴 随 下 一 个 测 试 而 改 变 , 那 么 你 知 道 这 个


51Testing 软 件 测 试 网<br />

变 更 是 由 这 个 变 量 引 起 的 。<br />

在 你 设 置 一 个 suite 时 , 可 以 设 置 测 试 的 变 量 。 更 多 的 信 息 , 参 阅 67 页 Implementing Tests as Suites<br />

的 内 容 。<br />

虚 拟 测 试 者 的 分 类 (Virtual tester classifications)-- 你 将 虚 拟 测 试 者 基 于 他 们 执 行 的 活 动 类<br />

型 分 类 到到 组 内 。<br />

对 于 每 组 , 你 需 要 指 定 虚 拟 测 试 者 的 数 量 或 总 的 虚 拟 测 试 者 的 百 分 比 。 例 如 , 你 可 能 把 20% 的<br />

虚 拟 测 试 者 分 组 到到 报 账 (Accounting) 中 ,30% 的 虚 拟 测 试 者 到到 数 据 录 入 (Data Entry) 中 , 以<br />

及 50% 的 虚 拟 测 试 者 到到 销 售 (Sales) 中 。<br />

你 在 一 个 suite 中 设 置 用 户 组 。 然 而 , 你 应 该 保 持 这 些 用 户 组 作 为 你 计 划 的 测 试 脚 本本 , 来来 关 联 该<br />

测 试 。 这 个 测 试 脚 本本 应 当 准 确 地 反 映 出 真 实 用 户 组 的 活 动 。 有 关 设 置 用 户 组 的 信 息 , 参 阅 227<br />

页 Inserting User Groups into a Suite 的 内 容 。<br />

用 户 工 作 的 轮 廓 (User work profiles) -- 一 个 活 动 集 , 虚 拟 测 试 者 执 行 的 以 及 他 们 执 行 这 些<br />

活 动 的 频 率 。 虚 拟 测 试 者 的 活 动 应 当 反 映 出 尽 可 能 接 近 用 户 实 际 操 作 的 任 务 。<br />

例 如 , 如 果果 Sales 用 户 组 访 问 数 据 库 多 出 其 他 两 个 组 的 70%, 那 么 要 确 保 工 作 负 载 能 够 反 映 出 这<br />

组 活 动 的 特 点 。<br />

用 户 特 征 (User characteristics)-- 在 执 行 一 个 事 务 处 理 之 前前 , 确 定 一 个 虚 拟 测 试 者 暂 停 的 时<br />

间 长 度 , 该 事 务 处 理 被 执 行 的 速 度 , 以 及 一 个 事 物 处 理 被 不 断 地 执 行 的 次 数 。 准 确 地 建 立 一 个<br />

真 实 用 户 的 模 型 是 重 要 的 , 因 为 这 些 值 直 接 影 响响 总 的 系 统 性 能 。<br />

例 如 , 一 个 用 户 考 虑 的 时 间 为 5 秒 , 每 分 钟 输 入 30 个 字 符 , 那 么 对 于 一 个 考 虑 时 间 为 1 秒 , 每 分<br />

钟 输 入 60 个 字 符 的 用 户 而 言 , 第 一 个 用 户 对 于 系 统 有 一 个 更 小 的 工 作 负 载 。<br />

使 用 延 迟 和和 思 考 时 间 来来 对 虚 拟 测 试 者 建 模 。 有 关 延 迟 的 更 多 信 息 , 参 阅 241 页 Inserting a Delay<br />

的 内 容 。 有 关 思 考 时 间 的 内 容 , 参 阅 Using Rational Robot 手 册 。<br />

在 设 计 一 个 工 作 负 载 模 型 时 , 一 定 要 这 些 因 素 , 以 确 保 有 一 个 准 确 的 测 试 环 境 。<br />

仔 细 地 考 虑 这 些 问 题 , 将 在 一 次 长 时 间 的 执 行 中 节 约 你 的 时 间 。 更 加 清 晰 地 定 义 你 的 测 试 目 标标 ,<br />

更 加 快 捷 的 构构 建 它 们 。<br />

性 能 测 试 的 实 施 (Implementing Performance Tests)<br />

一 旦 你 选 择 了 pass 和和 fail 标标 准 , 硬 件 和和 软 件 需 求 , 以 及 工 作 负 载 的 模 型 , 那 么 你 就 准 备 去 创 建 测<br />

试 脚 本本 并 设 置 此 次 测 试 吧 。 在 该 过 程 的 这 个 阶 段 期 间 需 要 考 虑 的 一 些 问 题 :


51Testing 软 件 测 试 网<br />

结 束束 条条 件 (The termination conditions)-- 如 果果 一 个 虚 拟 测 试 者 失 败 , 应 当 停 止 该 测 试 , 还 应<br />

当 保 持 它 的 执 行 ?<br />

如 果果 你 实 施 了 大 量 的 虚 拟 测 试 者 , 并 有 一 些 失 败 了 , 一 般 情 况 下 , 该 测 试 可 以 继 续 。 然 而 , 如<br />

果果 一 个 执 行 基 本本 任 务 ( 如 设 置 数 据 库 ) 的 虚 拟 用 户 失 败 , 那 么 , 该 测 试 应 当 停 止 。<br />

在 suite 中 设 置 中 止 条条 件 。 有 关 设 置 中 止 条条 件 的 更 多 信 息 , 参 阅 98 页 Controlling How a Suite<br />

Terminates 的 内 容 。<br />

稳 定 的 工 作 负 载 (The stable workload)-- 该 测 试 应 当 等 待 , 直 到到 所 有 的 虚 拟 测 试 者 被 连 接 ,<br />

还 是 应 当 立 刻刻 启启 动 此 次 测 试 的 执 行 ?<br />

如 果果 你 试 图 度 量 虚 拟 测 试 者 响响 应 时 间 , 那 么 你 可 能 应 当 在 实 际 的 测 试 启启 动 之 前前 等 待 。<br />

为 了 在 性 能 报 告告 中 报 告告 目 标标 , 你 需 要 定 义 一 个 稳 定 的 工 作 负 载 。<br />

有 关 信 息 , 参 阅 299 页 Reporting on a Stable Load 的 内 容 。<br />

你 将 要 测 试 的 应 用 程 序 (The applications that you will test)-- 测 试 你 全 部 的 应 用 程 序 不 是<br />

一 件 有 “ 成 本本 效 益 的 ” 事 情 。 消 耗 时 间 和和 资 源 测 试 一 个 对 总 体 性 能 影 响响 较 小 的 应 用 程 序 , 会 造<br />

成 对 关 键 应 用 程 序 测 试 所 应 花 费 时 间 的 损 失 。 在 计 划 和和 设 计 测 试 时 , 必 须 考 虑 到到 这 个 平 衡 。 一<br />

般 而 言 , 你 应 当 在 你 的 系 统 上 指 定 产 生 了 80% 的 工 作 负 载 的 那 些 20% 的 应 用 程 序 。 例 如 , 你 可<br />

能 不 希 望 仅 仅 在 一 年 的 测 试 时 间 内 包包 括 一 个 更 新 数 据 库 的 应 用 程 序 的 测 试 。<br />

你 将 要 执 行 测 试 的 数 据 库 (The database on which you will run the test)-- 决 定 你 是 否 希 望<br />

在 成 品品 数 据 库 或 一 个 测 试 数 据 库 中 执 行 测 试 。 在 当 前前 使 用 的 成 品品 数 据 库 中 执 行 测 试 可 以 产 生 不<br />

正 确 的 结 果果 , 作 为 正 常 用 户 工 作 负 载 ( 不 包包 含 工 作 负 载 模 型 ) 的 影 响响 。<br />

性 能 测 试 实 例 (Examples of Performance Tests)<br />

这 一 节 将 介 绍 一 些 典 型 的 性 能 测 试 。 每 一 个 测 试 目 标标 补 充 一 个 列 表 , 列 表 中 包包 含 了 在 定 义 这 样<br />

的 测 试 时 的 关 键 元 素 。 该 表 仅 仅 作 为 一 个 指 南 ; 这 些 不 用 作 定 义 你 可 以 包包 含 在 性 能 测 试 中 所 有<br />

可 能 的 元 素 。<br />

在 正 常 条条 件 下 支 持 的 虚 拟 测 试 者 的 数 量 (Number of Virtual Testers Supported<br />

Under Normal Conditions)<br />

假 设 你 希 望 确 定 虚 拟 测 试 者 的 数 量 , 这 些 虚 拟 测 试 者 是 服 务 器 可 支 持 的 , 来来 确 保 系 统 能 够 符 合<br />

你 的 可 伸 缩 性 的 需 求 。 在 响响 应 前前 , 系 统 支 持 多 少 虚 拟 测 试 者 是 不 可 接 受 的 ?<br />

例 如 , 你 估 计 一 个 数 据 库 系 统 支 持 500 个 虚 拟 测 试 者 。 你 可 以 计 划 并 执 行 多 任 务 的 , 具 有 300,


51Testing 软 件 测 试 网<br />

400,500,600, 和和 700 个 虚 拟 测 试 者 的 当 前前 性 能 的 测 试 。 下 表 包包 含 了 在 你 设 计 该 测 试 时 可 能 包包<br />

含 的 关 键 元 素 :<br />

测 试 脚 本本 Suite 报 告告<br />

初 始 化化 数 据 库 的 测 试 脚<br />

本本 。<br />

登 陆 虚 拟 测 试 者 的 测 试<br />

脚 本本 。<br />

包包 含 每 个 虚 拟 测 试 者 任<br />

务 的 测 试 脚 本本 :<br />

● 添 加 纪 录<br />

● 删 除 纪 录<br />

● 查查 询 数 据 库<br />

● 执 行 工 资 单 报 告告<br />

含 有 一 个 虚 拟 测 试 者 的 固 定<br />

用 户 组 。 该 虚 拟 测 试 者 登 陆 ,<br />

初 始 化化 数 据 库 , 并 设 置 一 个<br />

事 件 表 明 数 据 库 已 初 始 化化 。<br />

含 有 多 个 按 比 例 执 行 的 虚 拟<br />

测 试 者 用 户 组 。 该 组 登 陆 并<br />

等 待 事 件 的 设 置 。 然 后 执 行<br />

场 景 (scenario)。<br />

一 个 场 景 包包 括 :<br />

● 一 个 选 择 器 随 机机 地 选 择 测<br />

试 脚 本本 。<br />

● 含 有 每 个 虚 拟 测 试 者 任 务<br />

的 测 试 脚 本本<br />

一 个 测 试 日 志 , 展 现 suite<br />

中 的 所 有 的 虚 拟 测 试 者 是<br />

否 成 功 地 的 执 行 完 毕 。<br />

一 个 Command Status( 命命<br />

令 状 态 ) 报 告告 , 展 现 该 服 务<br />

器 是 否 成 功 地 完 成 它 的 请<br />

求 。<br />

Performance( 性 能 ) 报 告告 ,<br />

每 个 suite 执 行 :300,400,<br />

500,600, 和和 700 个 虚 拟 测<br />

试 者 。<br />

一 个 Compare<br />

Performance( 比 较 性 能 )<br />

报 告告 , 比 较 所 有 的 五 个<br />

(Performance) 性 能 报 告告<br />

的 输 出 。<br />

逐 渐 地 增 加 虚 拟 测 试 者 (Incrementally Increasing Virtual Testers)<br />

在 性 能 测 试 中 的 一 个 普 通 的 需 求 要 模 型 化化 , 在 不 同 的 虚 拟 测 试 者 执 行 它 们 工 作 的 整 个 一 个 时 间


51Testing 软 件 测 试 网<br />

跨 度 时 将 发 生 什 么 。 例 如 , 假 设 你 希 望 测 试 服 务 器 在 早 晨 时 的 性 能 情 况 。 你 也 希 望 知 道 服 务 器<br />

如 何 处 理 在 一 天 之 中 增 加 的 工 作 负 载 , 以 及 特 别 的 工 作 负 载 的 峰 值 出 现 在 何 时 。<br />

利 用 TestManager, 你 可 以 模 型 化化 这 些 通 过 逐 渐 增 加 负 载 虚 拟 测 试 者 的 工 作 负 载 的 类 型 。 你 可 以<br />

通 过 该 工 作 负 载 的 模 型 开 发 , 启启 动 你 希 望 的 测 试 。 例 如 , 记 录 下 应 用 程 序 的 使 用 频 率 和和 容 量 。<br />

然 后 , 在 设 置 你 的 suite 时 :<br />

1 安 排 不 同 的 用 户 组 在 不 同 的 时 间 启启 动 , 覆 盖 suite 的 生 命命 期 。<br />

2 对 于 每 一 个 用 户 组 , 设 置 虚 拟 测 试 者 的 数 量 , 执 行 测 试 脚 本本 和和 迭 代 计 数 ( 可 选 ), 以 适 合 于<br />

你 的 测 试 。<br />

通 过 将 你 的 虚 拟 测 试 者 的 启启 动 时 间 和和 迭 代 计 数 分 层 化化 , 你 可 以 构构 造 逐 渐 增 加 的 负 载 。 你 也 可 以<br />

在 suite 执 行 中 的 特 定 时 间 内 添 加 负 载 的 峰 值 。<br />

以 下 描 述 了 一 个 代 表 重 叠 转 移 的 测 试 实 例 :<br />

● 你 启启 动 一 个 含 有 100 个 虚 拟 测 试 者 的 suite。 该 组 的 虚 拟 测 试 者 需 要 对 交 易 重 复 进 行 , 因 此 你 应<br />

该 设 置 每 个 虚 拟 测 试 者 来来 执 行 该 交 易 的 多 次 迭 代 ; 你 应 该 设 置 足 够 的 迭 代 来来 保 持 这 一 组 虚 拟<br />

测 试 者 的 执 行 , 直 到到 这 个 suites 结 束束 。 你 可 以 做 个 实 验 , 来来 确 定 你 需 要 多 少 个 迭 代 。<br />

● 通 过 suite, 设 置 一 个 Delay( 延 迟 )。Delay Type 可 能 是 从 suite 一 开 始 起 , 或 是 一 天 的 某某 个 时<br />

刻刻 的 开 始 起 。 当 延 迟 结 束束 时 ,200 个 新 的 测 试 虚 拟 者 开 始 。 这 是 下 一 个 重 叠 了 首 次 转 移 的 entry<br />

clerks 转 移 。<br />

● 在 代 表 负 载 峰 值 合 并 的 shift 期 间 ,300 个 虚 拟 测 试 者 重 复 的 执 行 交 易 。<br />

下 表 总 结 了 一 个 重 叠 shifts 的 测 试 实 例 :


51Testing 软 件 测 试 网<br />

Test Scripts Suite Reports<br />

一 个 初 始 化化 数 据 库 的 测 试<br />

脚 本本 。<br />

一 个 登 陆 虚 拟 测 试 者 的 测<br />

试 脚 本本 。<br />

针 对 每 个 虚 拟 测 试 者 任 务<br />

的 测 试 脚 本本 :<br />

● 添 加 记 录<br />

● 删 除 纪 录<br />

● 查查 询 数 据 库<br />

● 执 行 工 资 单 报 告告<br />

含 有 一 个 虚 拟 测 试 者 的 固 定<br />

用 户 组 。 该 虚 拟 测 试 者 登 陆 ,<br />

和和 初 始 化化 数 据 库 , 并 设 置 事<br />

件 指 明 该 数 据 库 已 被 初 始<br />

化化 。<br />

含 有 100 个 虚 拟 测 试 者 的 固<br />

定 用 户 组 。 每 个 虚 拟 测 试 者<br />

登 陆 并 等 待 , 直 到到 事 件 被 设<br />

置 。 每 个 虚 拟 测 试 者 随 后 执<br />

行 该 场 景 的 多 次 迭 代 。<br />

含 有 200 个 虚 拟 测 试 者 的 固<br />

定 用 户 组 , 该 组 有 2 个 小 时 的<br />

延 迟 设 置 。 每 个 虚 拟 测 试 者<br />

登 陆 , 和和 检 查查 事 件 被 设 置 ,<br />

并 执 行 该 场 景 的 多 个 迭 代 。<br />

一 个 测 试 日 志 , 展 现 suite<br />

中 的 所 有 的 虚 拟 测 试 者 是<br />

否 成 功 地 的 执 行 完 毕 。<br />

一 个 Command Status( 命命<br />

令 状 态 ) 报 告告 , 展 现 该 服 务<br />

器 是 否 成 功 地 完 成 它 的 请<br />

求 。<br />

两 个 Performance reports<br />

( 性 能 报 告告 ):<br />

一 个 是 在 从 开 始 执 行 到到 2<br />

个 小 时 ( 延 迟 ) 通 过 的 时 间<br />

段 内 的 报 告告 。<br />

一 个 是 在 从 两 个 小 时 ( 延<br />

迟 ) 到到 执 行 结 束束 的 时 间 段 内<br />

的 报 告告 。<br />

一 个 场 景 包包 括 :<br />

一 个 Compare


51Testing 软 件 测 试 网<br />

● 一 个 选 择 器 , 可 随 机机 地 选 择<br />

测 试 脚 本本 。<br />

● 含 有 每 个 虚 拟 测 试 者 任 务<br />

的 测 试 脚 本本 。<br />

Performance( 比 较 性 能 )<br />

报 告告 , 比 较 两 个<br />

Performance reports( 性<br />

能 报 告告 ) 的 输 出 。<br />

在 压 力力 条条 件 下 系 统 的 性 能 如 何 (How a System Performs Under Stress<br />

Conditions)<br />

压 力力 测 试 可 以 被 理 解 为 在 不 间 断 的 攻 击 下 以 引 起 服 务 器 档 机机 。 在 你 怀 疑 服 务 器 存 在 一 些 不 牢 固<br />

的 区 域 时 , 使 用 压 力力 测 试 , 当 一 个 操 作 被 大 批 的 执 行 或 经 过 一 个 长 时 间 执 行 时 , 可 以 完 全 地 中<br />

断 或 者 减 弱 服 务 器 响响 应 。<br />

压 力力 测 试 包包 含 多 个 同 时 操 作 ( 比 如 在 相 同 的 时 刻刻 向 服 务 器 发 送 上 百 条条 的 请 求 ), 而 虚 拟 测 试 者<br />

则 提 供 了 执 行 这 类 压 力力 测 试 的 最 实 际 和和 有 效 的 手 段 。 连 续 不 断 地 执 行 测 试 脚 本本 , 帮 助 你 了 解 应<br />

用 程 序 在 压 力力 条条 件 下 执 行 的 “ 长 时 ” 效 果果 。<br />

在 一 个 简 单 的 压 力力 测 试 中 , 你 可 以 创 建 一 个 测 试 , 这 个 测 试 中 的 虚 拟 测 试 者 不 断 和和 重 复 好 几 个<br />

小 时 地 执 行 相 同 的 操 作 。 你 的 测 试 可 能 包包 含 :<br />

● 插 入 上 千 条条 的 纪 录 到到 数 据 库 中 。<br />

● 发 送 上 千 条条 的 查查 询 请 求 到到 数 据 库 。<br />

下 表 总 结 了 一 个 压 力力 测 试 的 实 例 :


51Testing 软 件 测 试 网<br />

Test Scripts Suite Reports<br />

一 个 初 始 化化 数 据 库 的 测 试<br />

脚 本本 。<br />

一 个 登 陆 虚 拟 测 试 者 的 测<br />

试 脚 本本 。<br />

针 对 每 个 虚 拟 测 试 者 任 务<br />

的 测 试 脚 本本 :<br />

● 添 加 记 录<br />

● 删 除 纪 录<br />

● 查查 询 数 据 库<br />

● 执 行 工 资 单 报 告告<br />

含 有 一 个 虚 拟 测 试 者 的 固 定<br />

用 户 组 。 该 虚 拟 测 试 者 登 陆 ,<br />

和和 初 始 化化 数 据 库 , 并 设 置 事<br />

件 指 明 该 数 据 库 已 被 初 始<br />

化化 。<br />

含 有 1000 个 虚 拟 测 试 者 的 按<br />

比 例 执 行 用 户 组 。 每 个 虚 拟<br />

测 试 者 登 陆 并 在 一 个 同 步 点<br />

处 等 待 。 当 所 有 的 虚 拟 测 试<br />

者 被 同 步 时 , 每 个 虚 拟 测 试<br />

者 执 行 该 场 景 的 多 个 迭 代 。<br />

一 个 场 景 包包 括 :<br />

● 一 个 选 择 器 , 可 随 机机 地 选 择<br />

测 试 脚 本本 。<br />

● 含 有 每 个 虚 拟 测 试 者 任 务<br />

的 测 试 脚 本本 。<br />

一 个 测 试 日 志 , 展 现 suite<br />

中 的 所 有 的 虚 拟 测 试 者 是<br />

否 成 功 地 的 执 行 完 毕 。<br />

一 个 Command Status( 命命<br />

令 状 态 ) 报 告告 , 展 现 在 压 力力<br />

条条 件 下 服 务 器 行 为 是 否 正<br />

确 。<br />

Performance( 性 能 ) 报 告告 ,<br />

每 个 suite 执 行 :900,1000,<br />

和和 1100 个 虚 拟 测 试 者 。 这<br />

些 性 能 测 试 报 告告 展 现 系 统<br />

性 能 何 时 开 始 退 化化 , 以 及 确<br />

保 这 种 退 化化 是 舒 缓 的 。<br />

一 个 Compare<br />

Performance( 比 较 性 能 )<br />

报 告告 , 比 较 每 个<br />

Performance reports( 性<br />

能 报 告告 ) 的 输 出 。<br />

不 同 的 系 统 配 置 如 何 影 响响 性 能 (How Different System Configurations Affect<br />

Performance)<br />

因 为 suite 是 被 组 织 和和 执 行 的 之 一 特 点 ,TestManager 给 与 自 己 良 好 的 配 置 测 试 。 你 可 能 由 于 各 种<br />

各 样 的 原 因 需 要 进 行 配 置 测 试 。<br />

例 如 :<br />

● 你 希 望 测 试 你 的 系 统 在 具 有 更 多 ( 或 者 更 少 ) 的 内 存 条条 件 下 如 何 运 行 。<br />

● 你 希 望 测 试 你 的 系 统 在 具 有 不 同 的 硬 盘 空 间 下 条条 件 如 何 运 行 。<br />

● 你 希 望 找 到到 具 有 系 统 最 优 运 行 的 那 个 网 卡 。<br />

下 表 总 结 了 一 个 含 有 100 个 虚 拟 测 试 者 的 配 置 测 试 :


51Testing 软 件 测 试 网<br />

测 试 脚 本本 Suite 报 告告<br />

初 始 化化 数 据 库 的 测 试 脚<br />

本本 。<br />

登 陆 虚 拟 测 试 者 的 测 试<br />

脚 本本 。<br />

包包 含 每 个 虚 拟 测 试 者 任<br />

务 的 测 试 脚 本本 :<br />

● 添 加 纪 录<br />

● 删 除 纪 录<br />

● 查查 询 数 据 库<br />

● 执 行 工 资 单 报 告告<br />

含 有 一 个 虚 拟 测 试 者 的 固 定<br />

用 户 组 。 该 虚 拟 测 试 者 登 陆 ,<br />

初 始 化化 数 据 库 , 并 设 置 一 个<br />

事 件 表 明 数 据 库 已 初 始 化化 。<br />

含 有 100 个 虚 拟 测 试 者 的 固<br />

定 用 户 组 。 每 个 虚 拟 测 试 者<br />

登 陆 并 等 待 事 件 的 设 置 。 然<br />

后 每 个 虚 拟 测 试 者 执 行 该 场<br />

景 (scenario)。<br />

一 个 场 景 包包 括 :<br />

● 一 个 选 择 器 随 机机 地 选 择 测<br />

试 脚 本本 。<br />

● 含 有 每 个 虚 拟 测 试 者 任 务<br />

的 测 试 脚 本本 。<br />

一 个 测 试 日 志 , 展 现 suite<br />

中 的 所 有 的 虚 拟 测 试 者 是<br />

否 成 功 地 的 执 行 完 毕 。<br />

一 个 Command Status( 命命<br />

令 状 态 ) 报 告告 , 展 现 该 服 务<br />

器 在 压 力力 下 是 否 返 回 了 期<br />

望 的 响响 应 。<br />

执 行 在 每 个 配 置 上 的 每 个<br />

suite 的 Performance( 性<br />

能 ) 报 告告 。<br />

一 个 Compare<br />

Performance( 比 较 性 能 )<br />

报 告告 , 比 较 每 个<br />

(Performance) 性 能 报 告告<br />

的 输 出 。<br />

性 能 测 试 结 果 分 析 (Analyzing Performance Results)<br />

TestManager 生 成 大 量 的 测 试 数 据 , 而 且 在 第 一 次 , 大 量 的 完 全 数 据 可 能 是 覆 盖 的 。 然 而 , 如 果果


51Testing 软 件 测 试 网<br />

你 仔 细 地 计 划 了 你 的 测 试 , 那 么 你 应 该 确 定 哪哪 些 数 据 对 你 来来 说 是 重 要 的 。<br />

首 先 , 你 应 该 检 查查 你 的 数 据 在 统 计 上 是 有 效 的 。 为 此 , 执 行 有 关 你 的 测 试 数 据 的 一 个 Performance<br />

报 告告 和和 Response vs. Time 报 告告 。<br />

注 意 事 项 : 在 suite 成 功 执 行 的 后 期 ,TestManager 会 自 动 地 执 行 Performance 和和 Response vs. Time<br />

报 告告 。<br />

Performance 报 告告 包包 含 了 两 列 内 容 : 平 均 数 和和 标标 准 偏 差 。 如 果果 平 均 数 少 于 3 次 的 标标 准 偏 差 , 那 么 你<br />

的 数 据 对 于 有 意 义 的 结 果果 而 言 可 能 就 过 于 分 散 了 。<br />

Response vs. Time 图 展 现 了 相 对 于 执 行 经 过 时 间 的 响响 应 时 间 。 该 数 据 应 该 是 在 达 到到 一 个 稳 恒 态 的<br />

性 能 下 取 得 , 而 不 是 在 更 好 或 更 糟 的 性 能 条条 件 下 步 进 地 获 得 。 如 果果 该 响响 应 时 间 是 在 更 好 的 性 能<br />

下 步 进 地 获 得 的 , 那 么 你 可 能 就 要 将 登 陆 时 间 也 包包 含 在 你 的 测 试 结 果果 中 , 而 不 是 去 衡 量 一 个 稳<br />

定 的 工 作 量 。 或 者 在 你 数 据 库 中 访 问 这 些 数 据 的 总 量 可 能 少 于 现 实 的 数 据 , 结 果果 是 所 有 的 访 问<br />

在 缓 存 中 被 平 衡 。<br />

在 你 确 认 了 你 的 实 例 是 有 效 的 之 后 , 开 始 分 析析 你 的 测 试 结 果果 。 当 你 分 析析 结 果果 时 , 使 用 一 个 多 层<br />

次 接 近 (approach)。 例 如 , 如 果果 你 驾 车 从 一 个 城 市 到到 另 外 一 个 , 你 希 望 使 用 一 张 美 国 地 图 来来<br />

计 划 一 个 总 的 行 车 路 线 , 并 且 需 要 一 张 更 详 细 的 城 市 地 图 来来 获 得 你 的 目 的 地 。<br />

同 样 地 , 在 你 分 析析 你 的 测 试 结 果果 时 , 你 应 当 首 先 在 一 个 宏 观 层 上 开 始 , 然 后 在 移 动 到到 一 个 更 为<br />

细 节 的 层 次 上 。<br />

下 一 节 总 结 了 你 可 以 使 用 的 来来 分 析析 测 试 结 果果 的 这 些 不 同 的 细 节 层 次 。 有 关 性 能 测 试 报 告告 的 更 多<br />

信 息 , 参 阅 291 页 上 Reporting Performance Testing Results 的 内 容 。<br />

多 重 执 行 的 结 果果 比 较 (Comparing Results of Multiple Runs)<br />

分 析析 的 第 一 层 包包 含 对 单 个 suite 执 行 结 果果 的 图 形 摘 要 信 息 的 评 估 , 然 后 比 较 通 过 多 重 执 行 的 结 果果 。<br />

例 如 , 检 查查 针 对 单 个 虚 拟 测 试 者 或 在 单 个 的 suite 执 行 期 间 进 行 业 务 处 理 的 响响 应 时 间 分 布 。 然 后<br />

比 较 平 均 响响 应 时 间 , 这 些 响响 应 时 间 通 过 多 重 执 行 , 且 具 有 不 同 数 量 的 虚 拟 测 试 者 。<br />

第 一 层 的 分 析析 让 你 确 知 你 的 性 能 目 标标 是 否 已 基 本本 满 足 。 它 帮 助 你 确 认 在 数 据 中 的 趋 向 , 并 强 调<br />

在 什 么 地 方 会 出 现 性 能 问 题 — 例 如 , 性 能 可 能 在 250 个 虚 拟 测 试 者 时 有 相 当 程 度 的 退 化化 。<br />

要 得 到到 该 类 型 的 分 析析 结 果果 , 执 行 Performance 和和 Compare Performance 报 告告 。<br />

具 体 请 求 和和 响响 应 的 比 较 (Comparing Specific Requests and Responses)<br />

分 析析 的 第 二 层 包包 含 要 检 查查 的 统 计 概 要 , 以 及 针 对 具 体 虚 拟 测 试 者 的 请 求 和和 系 统 响响 应 的 实 际 数 据 。<br />

概 要 统 计 包包 含 了 响响 应 时 间 的 标标 准 偏 差 和和 百 分 比 分 布 , 它 表 明 通 过 单 个 的 虚 拟 测 试 者 系 统 的 响响 应<br />

如 何 变 化化 。


51Testing 软 件 测 试 网<br />

例 如 , 如 果果 你 测 试 一 个 SQL 数 据 库 , 你 可 以 跟 踪 具 体 的 SQL 请 求 和和 相 应 的 响响 应 来来 分 析析 出 现 的 性<br />

能 问 题 和和 潜 在 的 引 起 性 能 退 化化 的 原 因 。<br />

针 对 第 二 层 的 分 析析 , 你 可 以 :<br />

1 通 过 执 行 Response vs. Time 报 告告 和和 获 取 的 两 个 timestamp, 来来 确 定 一 个 稳 定 的 量 度 间 隔 。 第 一<br />

个 timestamp 发 生 在 虚 拟 测 试 者 从 开 始 阶 段 的 任 务 退 出 时 , 它 是 最 后 一 个 虚 拟 测 试 者 的<br />

timestamp, 该 虚 拟 测 试 者 开 始 进 行 的 “ 实 际 ” 工 作 : 添 加 纪 录 , 删 除 纪 录 , 及 其 他 等 。 第 二<br />

个 timestamp 是 首 个 虚 拟 测 试 者 的 timestamp, 该 虚 拟 测 试 者 退 出 系 统 。 你 现 在 就 可 以 确 定 一 个<br />

稳 定 的 量 度 间 隔 。<br />

2 使 用 仅 仅 是 由 这 两 个 timestamps 确 定 的 间 隔 来来 创 建 一 个 Performance 报 告告 。<br />

3 描 绘 Performance 报 告告 图 , 来来 查查 证 该 分 布 已 经 变 平 了 。<br />

4 执 行 Performance ,Compare Performance, 和和 Command Usage 报 告告 来来 检 查查 针 对 该 量 度 间 隔 的 概<br />

要 统 计 。<br />

性 能 问 题 的 原 因 确 定 (Determining the Cause of Performance Problems)<br />

第 三 层 的 分 析析 帮 助 你 了 解 性 能 问 题 的 原 因 和和 意 义 。<br />

统 计 结 果果 的 分 析析 (Analyzing Results Statistically)<br />

详 细 的 分 析析 获 得 低 层 数 据 并 使 用 统 计 的 测 试 来来 帮 助 你 获 得 有 用 的 结 论 。 虽 然 该 分 析析 提 供 客 观 的<br />

和和 定 量 的 标标 准 , 但 比 起 第 一 层 和和 第 二 层 的 分 析析 会 消 耗 更 多 的 时 间 , 并 且 需 要 具 备 一 定 的 统 计 学<br />

基 础 。<br />

在 这 一 层 上 分 析析 你 的 测 试 数 据 时 , 你 可 以 使 用 统 计 学 (statistical significance) 的 概 念 来来 帮 助 识<br />

别 , 在 不 同 响响 应 时 间 中 是 否 是 真 实 的 , 或 者 识 别 一 些 关 联 与 测 试 数 据 收 集 的 随 机机 事 件 。 在 一 个<br />

基 本本 层 次 上 , 随 机机 性 是 关 联 与 任 何 一 个 事 件 的 。 统 计 的 测 试 确 定 是 否 存 在 一 个 系 统 的 差 异 , 而<br />

这 些 差 异 不 能 通 过 随 机机 事 件 来来 解 释 。 如 果果 该 差 异 不 是 通 过 随 机机 性 产 生 的 , 那 么 该 差 异 在 统 计 上<br />

是 有 意 义 的 。<br />

要 执 行 第 三 层 的 分 析析 , 执 行 Performance 和和 Response vs. Time 报 告告 。<br />

以 下 是 在 第 三 层 分 析析 期 间 需 要 考 虑 的 一 些 量 度 :<br />

最 小 值 — 最 低 响响 应 时 间 。<br />

最 大 值 — 最 高 响响 应 时 间 。<br />

平 均 值 — 平 均 响响 应 时 间 。 该 平 均 值 的 确 定 , 是 通 过 计 算 所 有 响响 应 时 间 值 的 和和 , 再 除 以 响响 应 时 间<br />

数 量 之 后 得 到到 。<br />

中 间 值 — 数 据 的 中 点 。 二 分 之 一 的 响响 应 时 间 值 小 于 该 点 , 并 且 它 们 的 二 分 之 一 大 于 该 点 。


51Testing 软 件 测 试 网<br />

标标 准 偏 差 — 围 绕 平 均 值 的 测 试 数 据 是 如 何 被 分 组 的 。<br />

百 分 比 — 在 某某 一 点 之 上 或 者 之 下 的 响响 应 时 间 的 百 分 比 。 一 个 经 常 的 百 分 比 是 90%。<br />

外 层 — 测 试 数 据 中 的 一 个 高 于 或 低 于 其 他 值 的 数 据 。<br />

例 如 , 系 统 A 和和 系 统 B 都 具 有 一 个 12 毫 秒 的 平 均 响响 应 时 间 。 这 不 是 必 需 的 平 均 值 , 系 统 的 响响 应 是<br />

相 同 的 。 进 一 步 的 结 果果 评 估 显 示 , 系 统 A 的 响响 应 时 间 有 11,12,13, 和和 12, 且 系 统 B 的 响响 应 时 间<br />

有 1,20,25, 和和 2。 虽 然 他 们 的 平 均 响响 应 时 间 是 一 样 的 , 但 他 们 的 最 小 值 , 最 大 值 , 以 及 标标 准<br />

偏 差 是 完 全 不 同 的 。<br />

检 测 计 算 机机 资 源 并 协 调 你 的 系 统 (Monitoring Computer Resources and Tuning<br />

Your System)<br />

性 能 问 题 可 能 是 由 你 的 服 务 器 只 具 备 有 限 的 硬 件 资 源 引 起 的 而 非 软 件 设 计 本本 身 。 例 如 , 你 的 硬<br />

盘 工 作 的 服 务 时 间 慢 的 不 能 接 受 , 这 是 因 为 一 个 集 中 的 硬 盘 传 送 被 发 送 到到 一 个 单 一 的 硬 盘 , 而<br />

不 是 分 布 到到 几 个 硬 盘 机机 上 的 缘 故 。 这 个 问 题 典 型 的 扑 救 方 法 是 , 在 少 量 的 活 动 下 , 通 过 重 新 安<br />

置 一 些 频 繁 存 取 的 文 件 ( 比 如 交 换 文 件 或 临 时 文 件 ) 到到 一 个 硬 盘 。<br />

性 能 问 题 也 可 以 由 超 载 局 域 网 (LAN) 的 部 分 (segments) 或 路 由 器 引 起 , 结 果果 是 加 剧剧 了 网 络<br />

拥 塞 。 甚 至 是 最 简 单 的 从 客 户 端 到到 服 务 器 的 来来 回 延 迟 和和 回 退 带 了 的 那 几 秒 钟 。 这 个 问 题 典 型 的<br />

扑 救 方 法 是 , 通 过 分 担 一 个 超 载 的 局 域 网 部 分 到到 两 个 或 者 三 个 部 分 , 且 他 们 之 间 由 路 由 器 互 联 。<br />

有 时 , 你 需 要 添 加 第 二 块 网 卡 到到 服 务 器 中 , 以 便 他 们 可 以 不 通 过 路 由 器 直 接 进 入 到到 两 个 局 域 网<br />

部 分 。<br />

这 些 硬 件 方 面 的 局 限 会 减 缓 响响 应 时 间 量 度 , 这 不 是 能 通 过 改 变 软 件 设 计 可 解 决 的 。<br />

TestManager 可 以 使 你 匹 配 CPU, 内 存 , 以 及 硬 件 利 用 规 格 , 这 些 都 是 在 具 有 虚 拟 测 试 者 响响 应 时<br />

间 数 据 的 情 况 下 。 你 可 以 在 一 个 suite 回 放 期 间 检 测 你 的 计 算 机机 资 源 利 用 率 , 然 后 对 这 个 利 用 率<br />

数 据 作 图 覆 盖 相 符 合 的 虚 拟 测 试 者 的 响响 应 时 间 , 来来 确 定 不 平 衡 的 硬 件 资 源 是 否 造 成 了 响响 应 时 间<br />

的 减 缓 。<br />

有 关 执 行 Response vs. Time 报 告告 的 更 多 信 息 , 参 阅 301 页 Mapping Computer Resource Usage onto<br />

Response Time 的 内 容 。


51Testing 软 件 测 试 网<br />

性 能 测 试 suite 的 设 计 ( Designing<br />

PerformanceTesting Suites) 10<br />

本本 章 描 述 如 何 设 计 性 能 测 试 的 suites。 它 包包 含 了 以 下 主 题 :<br />

□ 关 于 suites<br />

□ 由 Robot session 创 建 suite<br />

□ 插 入 用 户 组 到到 suite 中<br />

□ 插 入 测 试 脚 本本 到到 suite 中<br />

□ 在 测 试 脚 本本 , 测 试 用 例 或 者 suite 中 设 置 前前 置 条条 件<br />

□ 插 入 其 他 项 到到 suite 中<br />

□ 使 用 事 件 和和 依 赖 协 调 执 行<br />

□Suites 的 执 行<br />

关 于 suites(About Suites)<br />

Suite 用 层 次 来来 展 现 你 希 望 执 行 的 工 作 量 。 比 如 , 用 户 组 , 每 个 用 户 组 中 的 用 户 数 量 , 以 及 在 这<br />

样 的 用 户 组 中 执 行 的 测 试 脚 本本 , 和和 每 个 脚 本本 的 执 行 次 数 。<br />

通 过 suite, 你 可 以 :<br />

● 执 行 测 试 脚 本本 和和 测 试 用 例 。<br />

● 将 测 试 脚 本本 分 组 , 模 拟 不 同 类 型 虚 拟 用 户 的 活 动 。<br />

● 设 置 测 试 脚 本本 执 行 顺 序 。<br />

● 使 虚 拟 用 户 同 步 执 行 。<br />

下 面 的 这 个 简 单 的 suite 中 展 现 了 三 个 用 户 组 :Accounting,,Data Entry, 和和 Sales。


51Testing 软 件 测 试 网<br />

在 这 个 suite 中 :<br />

●Accounting 用 户 组 执 行 两 个 测 试 脚 本本 : 一 个 计 算 工 资 单 小 时 数 , 一 个 计 算 工 资 单 的 税 额 。<br />

●Data Entry 用 户 组 执 行 五 个 测 试 脚 本本 : 登 陆 , 初 始 化化 数 据 库 选 项 , 以 及 三 个 变 更 数 据 库 记 录 。<br />

●Sales 用 户 组 执 行 三 个 测 试 脚 本本 : 登 陆 , 初 始 化化 数 据 库 选 型 , 以 及 读 取 数 据 库 记 录 。<br />

注 意 事 项 : 在 这 一 章 的 suites 中 包包 含 VU 测 试 脚 本本 , 用 来来 进 行 性 能 测 试 。Suite 中 , 也 包包 含 GUI 脚 本本 ,<br />

VB 脚 本本 , 或 其 他 的 用 户 自 定 义 类 型 测 试 脚 本本 。<br />

由 Robot Session 创 建 suite(Creating a Suite from a<br />

Robot Session)<br />

如 果果 你 在 Robot 中 有 一 个 记 录 的 session, 那 么 你 可 以 通 过 TestManager 回 放 在 这 个 session 中 的 测 试<br />

脚 本本 。<br />

当 你 由 session 创 建 suite, 并 执 行 这 个 session 时 , 你 会 把 执 行 这 个 session 期 间 所 记 录 的 所 有 的 客 户<br />

端 / 服 务 器 请 求 , 有 顺 序 地 记 录 下 来来 。


51Testing 软 件 测 试 网<br />

由 session 创 建 的 suite 顺 序 地 记 录 测 试 脚 本本 并 维 护 它 们 。 如 果果 你 希 望 保 留 这 个 顺 序 , 就 由 session<br />

来来 创 建 该 suite。 如 果果 你 希 望 在 suite 中 更 加 灵 活 的 控 制 脚 本本 , 那 么 你 就 可 逐 个 添 加 测 试 脚 本本 。<br />

你 也 可 以 从 头 创 建 suite 或 基 于 一 个 现 有 的 suite 来来 创 建 suite。 更 多 有 关 创 建 suites 的 信 息 , 参 阅 73<br />

页 Creating a Suite 的 内 容 。<br />

插 入 用 户 组 到到 Suite 中 (Inserting User Groups into a Suite)<br />

User group( 用 户 组 ) 是 性 能 测 试 suites 中 的 基 本本 构构 件 。 一 个 用 户 组 是 执 行 相 同 活 动 的 虚 拟 测 试<br />

者 的 一 个 集 合 。 例 如 , 上 面 的 那 个 suite 中 包包 含 了 3 个 用 户 组 :Accounting,Data Entry 和和 Sales。<br />

插 入 一 个 用 户 组 到到 suite:<br />

● 在 一 个 打 开 的 suite 中 , 点 击 Suite > Insert > User Group。<br />

当 添 加 一 个 用 户 组 到到 suite 中 时 , 必 须 要 说 明 该 用 户 组 包包 含 的 虚 拟 测 试 者 的 种 类 , 是 固 定 测 试 者<br />

还 是 按 比 例 执 行 的 虚 拟 测 试 者 :<br />

● 固 定 的 (Fixed)—— 准 确 地 说 是 一 批 静 态 的 虚 拟 测 试 者 。 输 入 所 希 望 执 行 的 最 大 数 量 的<br />

虚 拟 测 试 者 。 例 如 , 如 果果 输 入 50 个 虚 拟 测 试 者 , 在 每 次 执 行 suite 时 ,Sales 组 中 执 行 的 虚 拟 测<br />

试 者 的 数 量 可 达 到到 50 个 之 多 。<br />

通 常 情 况 下 , 分 配 固 定 数 量 的 虚 拟 测 试 者 到到 一 个 不 添 加 工 作 负 载 的 用 户 组 中 。 如 , 一 个 虚 拟<br />

测 试 者 可 能 执 行 Warmup 测 试 脚 本本 来来 打 开 数 据 库 , 而 另 外 一 个 虚 拟 测 试 者 可 能 执 行 Shutdown


51Testing 软 件 测 试 网<br />

测 试 脚 本本 来来 保 存 并 关 闭 该 数 据 库 。<br />

● 按 比 例 执 行 (Scalable)—— 准 确 地 说 是 一 批 动 态 的 虚 拟 测 试 者 。 输 入 该 用 户 组 所 代 表 的<br />

工 作 负 载 百 分 比 。 如 ,Accounting 组 可 能 代 表 了 20% 的 虚 拟 测 试 者 ,Data Entry 组 可 能 代 表 了<br />

30% 的 虚 拟 测 试 者 , 而 Sales 组 可 能 代 表 了 50% 的 虚 拟 测 试 者 。 每 次 执 行 suite, 明 确 将 要 执 行 的<br />

虚 拟 测 试 者 的 总 量 ;TestManager 按 照 你 要 求 的 百 分 比 在 这 些 按 比 例 执 行 的 用 户 组 中 自 动 分 配<br />

虚 拟 测 试 者 。<br />

在 多 台 测 试 机机 中 分 配 用 户 组 内 的 虚 拟 测 试 者 :<br />

● 点 击 Suite > Insert > User Group, 然 后 点 击 Multiple Computers。<br />

当 定 义 一 个 用 户 组 时 , 必 须 说 明 该 用 户 组 执 行 的 测 试 机机 。 默 认 的 测 试 机机 为 TestManager 的 本本 地 测<br />

试 机机 (Local computer), 该 用 户 组 也 可 以 在 任 意 定 义 好 的 代 理 测 试 机机 (Agent computer) 上 执<br />

行 。<br />

一 般 地 , 在 以 下 的 情 况 下 用 代 理 测 试 机机 执 行 (Agent computer) 用 户 组 :<br />

● 性 能 测 试 需 要 特 殊 的 客 户 端 库 (libraries), 或 功 能 测 试 需 要 指 定 代 理 测 试 机机 上 的 软 件 配 置 。<br />

该 用 户 组 必 须 在 已 安 装 库 或 者 软 件 的 测 试 机机 上 执 行 。<br />

● 为 特 殊 测 试 机机 设 计 的 功 能 测 试 。


51Testing 软 件 测 试 网<br />

注 意 事 项 : 复 制 任 意 用 户 自 创 建 的 扩 展 C 库 ,Java 类 文 件 , 或 者 COM 组 件 , 对 设 置 代 理 测 试 机机<br />

的 测 试 是 必 要 的 。<br />

在 多 台 测 试 机机 中 分 配 虚 拟 测 试 者 。 通 常 在 如 下 情 况 下 , 在 多 台 测 试 机机 上 执 行 一 个 用 户 组 :<br />

● 功 能 测 试 必 须 尽 可 能 快 地 执 行 。 通 过 在 不 同 的 测 试 机机 上 同 时 执 行 虚 拟 测 试 者 , 可 以 节 约 时<br />

间 。<br />

● 有 大 量 的 虚 拟 测 试 者 , 并 且 本本 地 机机 (Local computer) 不 具 备 足 够 的 CPU 或 内 存 资 源 以 支 持<br />

这 些 工 作 负 载 。 通 过 在 每 台 分 布 的 测 试 机机 上 执 行 较 少 的 虚 拟 测 试 者 , 可 以 节 约 资 源 。<br />

在 多 台 测 试 机机 中 分 配 用 户 组 内 的 虚 拟 测 试 者 :<br />

● 点 击 Suite > Insert > User Group, 然 后 点 击 Multiple Computers。<br />

插 入 测 试 脚 本 到到 Suite 中 (Inserting Test Scripts into a<br />

Suite)<br />

suite 中 插 入 用 户 组 并 添 加 用 户 组 执 行 的 测 试 脚 本本 。226 页 的 suite 展 现 了 与 测 试 脚 本本 关 联 的 每 个 用<br />

户 组 。Accounting 组 执 行 两 个 测 试 脚 本本 ,DataEntry 组 执 行 五 个 测 试 脚 本本 ,Sales 组 执 行 三 个 测 试


51Testing 软 件 测 试 网<br />

脚 本本 。<br />

注 意 事 项 : 不 能 在 一 个 用 户 组 内 同 时 混 入 GUI 和和 VU 测 试 脚 本本 。 但 可 以 混 入 其 他 类 型 的 测 试 脚 本本 。<br />

suite 中 插 入 测 试 脚 本本 :<br />

● 从 一 个 打 开 的 suite 中 , 选 择 执 行 测 试 脚 本本 的 用 户 组 , 然 后 点 击 Suite > Insert > Script。<br />

在 测 试 脚 本 , 测 试 用 例 , 或 Suite 中 设 置 前前 置 条 件 (Setting a<br />

Precondition on a Test Script, Test Case, or Suite)<br />

插 入 测 试 脚 本本 、 测 试 用 例 、 或 suite 到到 一 个 suite 中 , 可 以 定 义 “ 成 功 完 成 ” 作 为 后 续 的 suite 顺 列<br />

执 行 的 前前 置 条条 件 。 为 了 后 续 suite 项 在 相 同 条条 件 下 的 执 行 , 该 项 必 须 通 过 。<br />

例 如 , 假 设 一 个 suite 包包 含 了 两 个 suites, 每 一 个 都 包包 含 了 一 个 预 置 的 测 试 脚 本本 和和 若 干 个 测 试 用<br />

例 。 如 果果 在 这 个 预 置 的 测 试 脚 本本 上 设 置 一 个 前前 置 条条 件 , 并 且 该 测 试 脚 本本 失 败 了 , 那 么<br />

TestManager 跳 过 这 个 suite 中 的 剩 余 测 试 用 例 。 该 suite 在 第 二 个 suite 开 始 时 重 新 开 始 执 行 。


51Testing 软 件 测 试 网<br />

设 置 前前 置 条条 件 :<br />

● 右 键 点 击 测 试 脚 本本 , 或 测 试 用 例 , 选 择 Run Properties。<br />

前前 置 条条 件 只 适 用 于 说 明 测 试 脚 本本 , 测 试 用 例 , 或 suite 的 实 例 。<br />

如 果果 多 次 的 插 入 一 个 测 试 脚 本本 , 而 且 希 望 在 所 有 的 测 试 脚 本本 实 例 上 设 置 一 个 前前 置 条条 件 , 那 么 就<br />

必 须 为 每 一 个 测 试 脚 本本 设 置 前前 置 条条 件 。<br />

插 入 其 他 项 到到 Suite 中 (Inserting Other Items into a Suite)<br />

一 个 suite 只 需 要 用 户 组 和和 测 试 脚 本本 来来 执 行 。 但 是 在 现 实 工 作 模 型 中 的 suite, 实 际 的 用 户 执 行 的<br />

工 作 要 比 简 单 的 模 型 复 杂 的 多 。 一 个 真 正 的 suite 可 能 也 包包 含 测 试 用 例 , 控 制 测 试 suites, 场 景<br />

(scenarios), 延 迟 (delays), 同 步 点 (synchronization points), 以 及 交 易 者 (transactors)<br />

来来 表 示 各 种 各 样 的 虚 拟 测 试 者 动 作 。<br />

除 了 这 些 可 以 在 TestManager 中 添 加 的 项 之 外 , 还 可 以 通 过 Rational Robot 来来 添 加 某某 个 特 征 到到 测 试<br />

脚 本本 中 去 。 这 些 项 —— 定 时 器 、 组 块 和和 注 释 — 在 Using Rational Robot 手 册 中 有 详 细 的 讨 论 。<br />

插 入 测 试 用 例 到到 Suite 中 (Inserting a Test Case into a Suite)<br />

插 入 测 试 用 例 到到 suites 中 , 便 于 一 次 执 行 多 个 测 试 用 例 , 并 一 起 保 存 在 执 行 的 测 试 用 例 集 合 。<br />

插 入 配 置 的 测 试 用 例 来来 查查 证 测 试 用 例 在 不 同 环 境 中 的 执 行 。 当 在 suites 中 插 入 配 置 的 测 试 用 例 ,<br />

TestManager 会 自 动 地 分 配 测 试 用 例 到到 适 合 地 配 置 测 试 机机 中 。<br />

插 入 测 试 用 例 到到 suite 中 的 方 法 :<br />

● 从 打 开 的 suite 中 , 点 击 Suite > Insert > Test Case。


51Testing 软 件 测 试 网<br />

在 一 个 测 试 用 例 上 设 置 前前 置 条条 件 。 设 置 一 个 前前 置 条条 件 时 , 该 测 试 用 例 必 须 成 功 完 成 执 行 , 以 便<br />

其 他 具 有 此 相 同 父 用 例 的 suites 项 执 行 。<br />

有 关 前前 置 条条 件 的 设 置 , 参 阅 231 页 Setting a Precondition on a Test Script, Test Case, or Suite 的 内 容 。<br />

设 置 测 试 用 例 的 前前 置 条条 件 的 方 法 :<br />

● 右 键 点 击 测 试 用 例 , 然 后 选 择 Run Properties。<br />

插 入 一 个 场 景 (Inserting a Scenario)<br />

“ 场 景 ” 使 测 试 脚 本本 被 分 组 , 使 他 们 能 被 更 多 的 用 户 组 共 享 。 如 果果 是 一 个 使 用 了 多 个 测 试 脚 本本<br />

的 复 杂 suite, 将 这 些 测 试 脚 本本 分 组 到到 一 个 场 景 下 , 这 对 于 构构 造 你 的 suite 有 很 大 的 好 处 , 并 且 能<br />

更 容 易 地 读 取 和和 维 护 。<br />

在 suite 的 Scenarios 部 分 通 过 创 建 一 个 场 景 来来 定 义 它 , 并 向 其 中 插 入 一 些 项 。 要 使 一 个 用 户 组<br />

去 执 行 一 个 场 景 , 需 要 插 入 该 场 景 的 名 称 到到 这 个 用 户 组 中 。 否 则 , 该 场 景 不 能 被 执 行 。<br />

226 页 中 的 suite,Data Entry 和和 Sales 用 户 组 执 行 的 测 试 脚 本本 是 Login 和和 Initialize Options。 将 这 两<br />

个 测 试 脚 本本 保 存 到到 一 个 场 景 中 , 可 以 简 化化 这 个 suite。 下 面 的 这 个 suite 展 现 了 Login 和和 Initialize<br />

Options 这 两 个 测 试 脚 本本 被 分 组 在 Set Up Database Application 场 景 下 :


51Testing 软 件 测 试 网<br />

创 建 一 个 新 的 场 景 :<br />

● 从 suite 的 Scenarios 部 分 , 点 击 Suite > Insert > Scenario。<br />

插 入 场 景 到到 suite 中 :<br />

● 点 击 你 希 望 放 置 场 景 的 部 分 , 然 后 点 击 Suite > Insert > Scenario。<br />

在 创 建 场 景 之 后 , 该 场 景 未 添 加 到到 一 个 用 户 组 之 前前 , 放 置 一 个 场 景 是 一 个 不 错 的 方 法 。 一 个 场<br />

景 只 需 要 测 试 脚 本本 就 可 执 行 。


51Testing 软 件 测 试 网<br />

然 而 , 如 同 一 个 用 户 组 , 一 个 真 正 的 场 景 也 可 以 包包 含 选 择 器 , 延 迟 , 同 步 点 , 和和 交 易 者 。 甚 至<br />

场 景 中 也 可 以 包包 含 其 他 的 场 景 。<br />

插 入 一 个 Suite 到到 Suite 中 (Inserting a Suite into a Suite)<br />

虽 然 在 一 般 情 况 下 , 性 能 测 试 中 使 用 的 suite 包包 含 用 户 组 ( 而 非 测 试 机机 组 ), 但 是 也 可 以 插 入 一<br />

个 包包 含 了 测 试 机机 组 的 suite 到到 另 一 个 suite 中 。 插 入 suite 到到 另 一 个 suite 中 的 优 势势 是 变 更 , 这 个 变 更 可<br />

以 持 续 的 构构 造 子 suite。 因 此 , 插 入 一 组 测 试 脚 本本 到到 一 个 基 于 测 试 机机 的 suite 中 , 在 不 同 的 suites 中<br />

使 用 该 组 , 但 只 能 更 新 这 个 suite 一 次 。<br />

更 多 信 息 , 参 阅 171 页 Inserting a Suite into a Suite 的 内 容 。<br />

插 入 一 个 选 择 器 (Inserting a Selector)<br />

TestManager 允 许 通 过 设 置 “ 选 择 器 ”(selector) 来来 设 置 suite 项 , 是 suite 以 不 同 的 顺 序 执 行 。<br />

在 suite 中 , 相 比 运 行 一 个 简 单 的 连 续 顺 序 项 ,“ 选 择 器 ” 对 suite 提 供 了 更 为 高 级 和和 复 杂 的 控 制 。<br />

一 个 selector 告告 诉 TestManager 每 个 虚 拟 测 试 者 执 行 的 项 , 和和 执 行 的 顺 序 。 例 如 , 如 果果 希 望 从 一<br />

组 测 试 脚 本本 中 随 机机 的 重 复 选 择 一 个 测 试 脚 本本 。 选 择 器 可 以 帮 助 你 做 这 些 事 。<br />

插 入 选 择 器 到到 suite 中 :<br />

● 选 择 需 要 包包 含 选 择 器 的 用 户 组 或 场 景 , 然 后 点 击 Suite > Insert > Selector。<br />

考 虑 下 面 的 选 择 器 , 那 些 不 包包 含 任 意 的 选 择 器 :


51Testing 软 件 测 试 网<br />

当 你 执 行 具 有 50 个 虚 拟 测 试 者 的 suite 时 ,TestManager 分 配 10 个 虚 拟 测 试 者 到到 Accounting,15 个<br />

虚 拟 测 试 者 到到 Data Entry, 和和 25 个 虚 拟 测 试 者 到到 Sales( 基 于 明 确 说 明 的 有 比 例 的 用 户 组 )。 所 有<br />

的 50 个 虚 拟 测 试 者 在 相 同 的 时 刻刻 开 始 执 行 。<br />

● 这 10 个 Accounting 虚 拟 测 试 者 按 顺 序 执 行 每 个 出 现 在 该 suite 中 的 测 试 脚 本本 : 先 是 Calculate<br />

Hours, 然 后 是 Calculate Taxes。<br />

● 这 15 个 Data Entry 虚 拟 测 试 者 按 顺 序 执 行 每 个 出 现 在 该 suite 中 的 测 试 脚 本本 : 执 行 Set Up<br />

Database Application 场 景 , 然 后 执 行 Add New Record,Modify Record, 和和 Delete Record 测 试 脚<br />

本本 。<br />

● 这 25 个 Sales 虚 拟 测 试 者 先 执 行 Set Up Database Application 场 景 , 然 后 执 行 Read Record 测 试 脚<br />

本本 。<br />

然 而 , 假 设 你 的 Data Entry 虚 拟 测 试 者 实 际 上 是 随 机机 地 添 加 纪 录 , 删 除 纪 录 , 和和 修 改 纪 录 。 而 且 ,<br />

他 们 不 是 以 相 同 的 频 率 来来 执 行 这 些 任 务 。 因 为 他 们 删 除 每 个 纪 录 , 修 改 了 7 个 纪 录 , 并 添 加 了 2<br />

个 纪 录 。<br />

要 使 你 的 用 户 组 反 映 出 这 些 行 为 , 插 入 一 个 “ 随 机机 选 择 器 ”(Random selector) 到到 Data<br />

Entry 用 户 组 中 。 下 面 的 suite 展 现 了 Data Entry 用 户 组 设 置 的 选 择 器 , 在 没 有 代 替 者 的 情 况 下 随 机机


51Testing 软 件 测 试 网<br />

地 选 择 测 试 脚 本本 。<br />

当 你 执 行 具 有 50 个 虚 拟 测 试 者 的 suite 时 , 围 绕 用 户 组 的 说 明 , 每 个 Data Entry 虚 拟 测 试 者 :<br />

● 执 行 Set Up Database Application 场 景 。<br />

● 每 次 迭 代 选 择 一 个 测 试 脚 本本 :Add New Record,Add New Record, 或 Delete Record。 从 100<br />

次 迭 代 开 始 起 , 每 个 Data Entry 虚 拟 测 试 者 20 次 纪 录 添 加 , 70 次 纪 录 修 改 , 和和 10 次 纪 录 删<br />

除 的 操 作 。 添 加 , 修 改 和和 删 除 操 作 具 有 任 意 的 顺 序 。<br />

选 择 器 的 类 型 (Types of Selectors)<br />

TestManager 提 供 以 下 的 选 择 器 类 型 :<br />

● 连 续 的 (Sequential)—— 按 顺 序 执 行 出 现 在 suite 中 的 每 一 个 测 试 脚 本本 和和 场 景 。 该 类 型 是 默<br />

认 的 。<br />

● 并 行 的 (Parallel)—— 使 它 的 测 试 脚 本本 或 场 景 分 布 到到 一 个 可 用 的 虚 拟 测 试 者 中 ( 每 测 试 机机<br />

一 个 虚 拟 测 试 者 )。 一 般 地 , 在 功 能 测 试 中 使 用 这 个 选 择 器 。<br />

该 项 按 顺 序 分 开 , 依 据 虚 拟 测 试 者 来来 执 行 测 试 脚 本本 。 一 旦 有 一 项 被 执 行 , 那 么 它 就 不 能 再<br />

次 被 执 行 。


51Testing 软 件 测 试 网<br />

并 行 选 择 器 在 不 关 注 其 迭 代 的 情 况 下 来来 分 配 每 个 测 试 脚 本本 。<br />

● 有 重 置 的 随 机机 (Random with replacement)—— 该 选 择 器 随 机机 的 执 行 这 些 项 , 每 次 有 一<br />

个 项 被 选 择 , 那 么 它 再 次 被 选 择 的 机机 率 与 剩 余 项 相 同 。<br />

例 如 , 一 个 水 桶 里 有 10 个 红 色 的 球 和和 10 个 绿 色 的 球 。 选 择 红 色 球 和和 绿 色 球 的 机机 会 是 一 样 的 ,<br />

都 是 50%。 第 一 个 被 选 择 的 球 是 红 色 的 , 然 后 将 这 个 红 色 的 球 和和 其 他 红 色 的 球 一 起 重 新 放<br />

置 在 水 桶 中 。 每 次 你 挑 出 一 个 球 , 你 依 然 有 50% 的 机机 会 获 得 一 个 红 色 的 球 。<br />

每 次 选 择 之 后 , 该 球 被 重 新 放 置 , 水 桶 中 总 是 有 10 个 红 色 的 球 和和 10 个 绿 色 的 球 。 甚 至 每 次<br />

你 都 可 能 ( 但 未 必 ) 挑 出 一 个 红 色 的 球 。 同 样 的 , 具 有 替 换 的 随 机机 选 择 器 并 不 保 证 执 行 他<br />

们 中 的 每 一 项 , 特 别 地 , 如 果果 你 设 置 了 一 个 比 其 他 脚 本本 执 行 频 率 更 高 的 测 试 脚 本本 。 换 句 话<br />

说 , 如 果果 你 的 水 桶 里 有 19 个 红 色 的 球 和和 一 个 绿 色 的 球 , 那 么 这 个 绿 色 的 球 可 能 一 次 都 不 会<br />

被 选 择 。<br />

● 无 重 置 的 随 机机 (Random without replacement)—— 该 选 择 器 随 机机 的 执 行 这 些 项 , 但 每<br />

次 有 一 个 项 被 选 择 , 那 么 它 再 次 被 选 择 的 几 率 会 发 生 变 化化 。 例 如 , 考 虑 相 同 的 水 桶 中 有 10<br />

个 红 色 的 球 和和 10 个 绿 色 的 球 。 同 样 的 , 第 一 个 被 选 择 的 球 是 红 色 的 。 然 而 , 这 个 球 不 会 被<br />

重 新 放 回 水 桶 中 。 因 此 , 下 一 次 你 就 有 较 大 的 机机 会 来来 挑 出 一 个 绿 色 的 球 。 每 次 你 选 择 一 个<br />

球 , 你 的 几 率 都 会 变 化化 。<br />

因 此 , 如 果果 第 一 次 选 择 的 10 个 球 是 红 色 的 , 那 么 下 一 次 选 择 的 这 10 个 球 为 绿 色 的 几 率 是<br />

100%。 同 样 的 , 只 要 选 择 器 的 迭 代 数 量 大 于 或 等 于 该 选 择 器 中 的 项 数 , 无 重 置 的 随 机机 选 择<br />

器 将 在 其 中 执 行 每 一 个 项 。<br />

● 动 态 负 载 均 衡 (Dynamic load balancing)—— 利 用 动 态 负 载 均 衡 , 这 些 项 不 是 被 随 机机 选<br />

择 的 。 再 次 考 虑 这 个 有 红 色 球 和和 绿 色 球 的 水 桶 。 你 分 配 给 每 个 球 以 相 同 的 “ 重 量 ”。 如 果果<br />

第 一 个 被 选 择 的 球 是 红 色 的 , 那 么 第 二 个 选 择 的 球 总 会 是 绿 色 的 。 这 是 因 为 每 个 被 选 择 的<br />

球 或 测 试 脚 本本 , 系 统 “ 动 态 平 衡 ” 工 作 负 载 以 接 近 你 设 置 的 50-50 的 重 量 。 你 也 可 以 设 置 其<br />

他 的 总 量 。 这 里 的 关 键 点 是 , 下 一 个 测 试 脚 本本 的 执 行 不 是 被 随 机机 选 择 的 , 它 的 选 择 是 根 据<br />

你 设 置 的 重 量 来来 平 衡 工 作 负 载 。<br />

同 时 也 可 以 平 衡 工 作 负 载 的 时 间 或 频 率 。 例 如 , 假 设 动 态 均 衡 脚 本本 A 和和 脚 本本 B, 并 且 使 用 了<br />

相 同 的 重 量 。 不 管 怎 样 , 脚 本本 A 执 行 的 两 倍 时 长 和和 脚 本本 B 是 一 样 的 。<br />

如 果果 动 态 负 载 均 衡 的 是 时 间 , 那 么 负 载 是 通 过 每 个 测 试 脚 本本 的 执 行 时 间 来来 均 衡 的 。 因 为 脚<br />

本本 A 获 得 两 倍 的 执 行 时 长 , 它 实 际 上 和和 脚 本本 B 一 样 被 选 择 的 只 有 一 半 。<br />

如 果果 动 态 负 载 均 衡 的 是 频 率 , 那 么 两 个 测 试 脚 本本 执 行 的 次 数 是 相 同 的 。 如 果果 脚 本本 A 执 行 500


51Testing 软 件 测 试 网<br />

次 , 那 么 脚 本本 B 也 会 执 行 500 次 。 事 实 上 , 脚 本本 A 获 得 长 时 间 的 执 行 不 是 均 衡 中 的 因 素 。<br />

动 态 负 载 均 衡 是 通 过 用 户 组 中 的 所 有 虚 拟 测 试 者 来来 完 成 的 。 例 如 , 下 图 展 示 了 含 有 15 个 虚 拟<br />

测 试 者 的 Data Entry 组 。 三 个 测 试 脚 本本 ,Add New Record,Modify Record, 和和 Delete Record,<br />

是 包包 含 在 动 态 负 载 均 衡 选 择 器 中 的 。<br />

在 执 行 该 suite 时 , 第 一 个 Data Entry 虚 拟 测 试 者 选 择 Modify Record 脚 本本 , 因 为 最 大 的 重 量 。 但 是<br />

由 于 工 作 负 载 是 通 过 所 有 的 Data Entry 虚 拟 测 试 者 来来 均 衡 的 , 所 以 在 第 一 个 虚 拟 测 试 者 退 出 之<br />

后 ,TestManager 重 新 计 算 重 量 来来 反 映 出 这 个 细 节 , 这 个 已 经 被 选 择 的 测 试 脚 本本 具 有 最 大 的 为 7<br />

的 重 量 。 在 较 晚 的 虚 拟 测 试 者 准 备 选 择 一 个 测 试 脚 本本 的 时 候 , 重 量 已 经 发 生 变 更 , 以 使 他 们 有<br />

更 大 的 选 择 Add New Record 的 机机 会 。<br />

插 入 一 个 延 迟 (Inserting a Delay)<br />

“ 延 迟 ” 是 告告 诉 TestManager 在 suite 中 它 执 行 下 一 个 项 之 前前 , 需 要 暂 停 多 长 的 时 间 。<br />

插 入 一 个 延 迟 到到 suite:<br />

● 点 击 需 要 添 加 延 迟 的 用 户 组 , 场 景 , 或 者 选 择 器 , 然 后 点 击 Suite > Insert > Delay。


51Testing 软 件 测 试 网<br />

在 性 能 测 试 中 , 使 用 延 迟 来来 效 仿 典 型 用 户 行 为 。 例 如 , 如 果果 Accounting 用 户 组 计 算 时 间 和和 税 额 ,<br />

然 后 暂 停 两 分 钟 , 在 Calculate Taxes 测 试 脚 本本 之 后 添 加 一 个 延 迟 , 就 像 下 面 的 suite 所 展 示 的 :<br />

在 suite 中 或 一 个 测 试 脚 本本 中 插 入 一 个 延 迟 。 插 入 延 迟 的 好 处 在 于 , 该 延 迟 在 suite 中 是 可 见 的 ,<br />

并 且 在 不 编 辑 该 测 试 脚 本本 的 情 况 下 , 该 延 迟 是 容 易 变 更 的 。<br />

插 入 交 易 者 (Inserting a Transactor)<br />

“ 交 易 者 ” 告告 诉 TestManager 在 给 定 的 时 间 段 内 每 个 虚 拟 测 试 者 执 行 的 任 务 数 量 。 例 如 , 测 试<br />

Order Entry 组 , 需 要 每 小 时 完 成 10 forms, 或 者 在 测 试 一 个 Web 服 务 器 , 希 望 能 够 支 持 每 分 钟 100<br />

次 的 点 击 量 。 使 用 交 易 者 来来 效 仿 这 种 基 于 时 间 的 行 为 。


51Testing 软 件 测 试 网<br />

在 suite 中 插 入 交 易 者 :<br />

选 择 交 易 者 的 用 户 组 或 选 择 器 , 点 击 Suite><br />

插 入 > 交 易 者<br />

在 前前 一 节 添 加 了 一 个 延 迟 到到 Accounting 用 户 组 。 这 个 延 迟 使 虚 拟 测 试 者 在 计 算 时 间 和和 税 额 之 后<br />

暂 停 两 分 钟 , 如 242 页 的 图 示 。<br />

然 而 , 假 设 Accounting 组 在 计 算 时 间 和和 税 额 时 , 它 的 交 易 率 为 每 小 时 10 笔 交 易 。 那 么 可 以 编 辑 suite<br />

来来 反 映 出 这 个 交 易 率 , 具 体 是 利 用 交 易 者 来来 替 换 选 择 器 和和 延 迟 。 下 面 的 suite 展 现 了 添 加 了 一 个<br />

交 易 者 之 后 的 Accounting 用 户 组 。


51Testing 软 件 测 试 网<br />

这 个 suite 和和 242 页 的 那 个 几 乎 完 全 相 同 , 只 是 它 包包 含 了 :<br />

● 一 个 交 易 者 , 它 告告 诉 TestManager 你 希 望 维 持 的 速 率 , 以 及 你 希 望 维 持 这 个 速 率 的 时 长 。<br />

● 一 个 场 景 , 它 包包 含 了 交 易 者 将 要 执 行 的 一 些 项 。<br />

交 易 者 类 型 可 以 是 下 面 这 两 种 类 型 中 的 一 种 :<br />

● “ 协 调 的 ” 交 易 者 , 它 是 一 个 内 建 的 同 步 点 , 用 来来 指 定 你 希 望 达 到到 的 总 速 率 。 虚 拟 测 试 者<br />

一 起 工 作 来来 产 生 工 作 负 载 。 例 如 , 如 果果 执 行 一 个 具 有 10 个 虚 拟 测 试 者 的 suite, 再 执 行 具 有 20<br />

个 虚 拟 测 试 者 的 相 同 的 suite, 总 交 易 率 是 不 会 发 生 变 化化 的 。<br />

当 模 拟 一 个 适 用 于 服 务 器 的 总 交 易 率 时 , 需 要 使 用 一 个 协 调 的 交 易 者 , 而 不 是 一 个 虚 拟 测<br />

试 者 执 行 一 项 任 务 的 具 体 时 间 率 。 例 如 , 要 模 拟 一 个 Web 服 务 器 可 以 处 理 的 每 分 钟 点 击 量 ,<br />

可 以 使 用 协 调 的 交 易 者 。<br />

● “ 独 立 的 ” 交 易 者 使 每 个 虚 拟 测 试 者 独 立 地 进 行 操 作 。 它 不 会 将 虚 拟 测 试 者 协 调 在 内 建 的<br />

同 步 点 之 下 。 例 如 , 如 果果 执 行 一 个 具 有 10 个 虚 拟 测 试 者 的 suite, 然 后 再 执 行 具 有 20 个 虚 拟 测<br />

试 者 的 相 同 的 suite, 那 么 总 交 易 率 将 增 加 一 倍 — 因 为 虚 拟 测 试 者 的 数 量 增 加 了 一 倍 。<br />

如 果果 不 同 的 用 户 组 在 不 同 的 时 间 执 行 交 易 , 或 者 需 要 模 拟 单 个 的 行 为 而 非 一 组 行 为 的 话 , 可<br />

以 使 用 “ 独 立 的 ” 交 易 者 。 例 如 , 要 模 拟 Accounting 用 户 组 每 小 时 只 执 行 10 次 计 算 , 而 不 是 在


51Testing 软 件 测 试 网<br />

相 同 的 时 间 里 进 行 全 部 的 计 算 , 可 以 使 用 一 个 独 立 的 交 易 者 。<br />

如 果果 你 定 义 了 交 易 者 类 型 , 那 么 你 必 须 指 定 该 交 易 者 的 速 率 :<br />

● 总 速 率 (Total rate)—— 对 于 一 个 协 调 的 交 易 者 , 一 般 情 况 下 选 择 总 速 率 。 这 是 因 为 不 论<br />

是 100 个 虚 拟 测 试 者 还 是 50 个 虚 拟 测 试 者 的 参 与 , 它 都 不 会 影 响响 TestManager 提 交 “ 交 易 事 务<br />

处 理 ” 这 个 速 率 。<br />

● 用 户 速 率 (User rate)—— 对 于 独 立 的 交 易 者 , 必 须 选 择 用 户 速 率 。<br />

如 果果 期 望 改 变 速 率 并 希 望 不 必 每 次 都 要 编 辑 suite, 那 么 可 以 选 择 用 户 速 率 。 例 如 , 假 设 你 插<br />

入 了 一 个 协 调 的 交 易 者 , 同 时 希 望 比 较 每 分 钟 分 别 为 100 次 点 击 ,200 次 点 击 和和 300 次 点 击 时 的<br />

工 作 负 载 — 每 个 suite 执 行 时 增 加 这 些 工 作 负 载 。 如 果果 你 选 择 用 户 速 率 , 那 么 就 没 有 必 要 去 修<br />

改 交 易 者 属 性 中 的 速 率 。 相 反 的 , 当 你 执 行 分 别 为 100 个 ,200 个 , 和和 300 个 虚 拟 测 试 者 的 suite<br />

时 , 该 速 率 是 成 比 例 换 算 的 。<br />

接 下 来来 , 指 定 交 易 者 的 分 布 :<br />

● 连 续 分 布 意 味味 着 每 个 交 易 完 全 地 发 生 在 你 说 明 的 速 率 上 。 例 如 , 如 果果 交 易 率 是 每 分 钟 4 次 ,<br />

那 么 交 易 者 开 始 与 15 秒 ,30 秒 ,45 秒 和和 60 秒 — 完 全 地 每 分 钟 4 次 , 均 匀匀 地 分 开 , 有 一 个 15 秒 钟<br />

的 间 隔 。 虽 然 这 种 分 布 在 概 念 上 来来 说 是 简 单 的 , 但 它 不 能 准 确 地 模 拟 用 户 的 随 机机 行 为 。<br />

连 续 分 布 对 于 模 拟 一 个 自 动 过 程 是 有 效 的 。 例 如 , 你 可 能 希 望 模 拟 一 个 环 境 , 在 其 中 , 虚 拟<br />

测 试 者 每 半 个 小 时 上 传 数 据 到到 数 据 库 。<br />

● “ 均 匀匀 分 布 ” 是 指 在 时 间 中 , 交 易 在 指 定 的 速 率 中 达 到到 平 均 , 即 使 每 次 交 易 之 间 的 时 间 是<br />

连 续 的 。 通 过 均 匀匀 分 布 , 每 个 交 易 开 始 之 间 的 时 间 在 选 择 的 范 围 内 是 被 随 机机 选 择 的 。 考 虑 这<br />

个 范 围 , 交 易 执 行 所 通 过 的 “ 窗 口 ”。<br />

例 如 , 交 易 率 为 每 分 钟 4 次 ( 每 15 秒 钟 间 隔 一 次 )。 如 果果 选 择 一 个 20% 的 范 围 , 那 么 交 易 在 15<br />

秒 间 隔 的 每 一 侧 上 有 一 个 3 秒 的 窗 口 , 因 为 15 秒 的 20% 是 3 秒 。<br />

因 此 , 第 一 次 交 易 开 始 与 12—18 秒 (15 减 或 加 3)。 第 二 次 交 易 在 第 一 次 开 始 之 后 开 始 ,15<br />

秒 减 或 者 加 3 秒 。 如 果果 第 一 次 开 始 与 12 秒 , 那 么 第 二 次 交 易 则 开 始 与 24 到到 30 秒 。 当 然 , 如 果果 第<br />

一 次 开 始 与 18 秒 , 那 么 第 二 次 交 易 则 开 始 与 30 到到 36 秒 。<br />

由 于 每 次 交 易 在 你 指 定 的 范 围 内 是 随 机机 开 始 的 , 所 以 这 个 速 率 比 你 选 择 的 短 时 间 内 的 速 率 快<br />

或 者 慢 一 些 , 这 是 正 常 的 。 例 如 , 交 易 在 一 分 钟 内 每 12 秒 开 始 一 次 ( 回 忆 那 个 窗 口 是 12—18<br />

秒 ), 对 于 这 个 初 始 的 间 隔 , 速 率 是 每 分 钟 5 次 — 不 是 所 选 择 的 每 分 钟 4 次 。 但 是 , 在 整 个 时<br />

间 段 中 , 交 易 率 达 到到 每 分 钟 4 次 的 平 均 。<br />

利 用 均 匀匀 分 布 , 交 易 在 指 定 的 范 围 内 具 有 相 同 的 执 行 机机 率 。 交 易 开 始 与 这 个 窗 口 中 的 任 意


51Testing 软 件 测 试 网<br />

地 方 。 在 例 子 中 , 第 一 次 开 始 与 12 秒 的 交 易 和和 开 始 与 18 秒 的 交 易 的 几 率 是 相 等 的 。<br />

● “ 负 指 数 分 布 ” 就 是 改 变 交 易 开 始 时 的 机机 率 。 这 种 分 布 最 接 近 地 模 拟 用 户 行 为 的 特 点 , 通<br />

过 使 活 动 逐 渐 地 减 少 (by a tapering off of activity) 而 伴 随 的 突 然 增 加 的 大 量 活 动 。 在 同 一 个<br />

例 子 中 , 每 分 钟 4 次 交 易 , 一 次 立 即 开 始 的 交 易 机机 率 是 高 的 , 但 在 整 个 时 间 内 会 减 少 。<br />

TestManager 维 持 这 个 期 望 的 平 均 速 率 。<br />

假 设 要 在 2 点 时 召 开 一 个 会 议 。 大 多 数 的 人 都 是 在 2 点 钟 到到 达 的 , 有 一 些 人 是 在 2 点 过 5 分 的<br />

时 候 到到 达 的 , 较 少 的 人 是 2 点 过 10 分 到到 达 的 。 也 许 最 后 的 人 是 在 2 点 半 的 时 候 来来 的 。 这 个 到到 达<br />

时 间 就 近 似 一 个 负 指 数 分 布 。 大 多 数 的 人 准 时 参 加 会 议 , 然 后 到到 达 率 将 会 下 降 。 用 数 学 的 理<br />

论 来来 说 , 一 个 具 有 平 均 ( 时 间 ) 间 隔 的 负 指 数 分 布 , 它 的 ( 时 间 ) 间 隔 是 随 机机 选 取 的 , 而 这<br />

个 ( 时 间 ) 间 隔 等 于 1/ 速 率 。<br />

交 易 者 可 以 被 插 入 到到 一 个 用 户 组 或 独 立 地 在 一 个 顺 序 或 随 机机 的 选 择 器 中 。 如 果果 在 一 个 随 机机 选 择<br />

器 中 插 入 一 个 独 立 的 交 易 者 , 那 么 必 须 指 明 该 选 择 器 的 重 量 。 有 关 选 择 器 的 信 息 , 参 阅 238 页<br />

Types of Selectors 的 内 容 。<br />

交 易 者 可 以 设 置 一 个 事 件 。 有 关 事 件 的 信 息 , 参 阅 254 页 Using Events and Dependencies to<br />

Coordinate Execution 的 内 容 。<br />

插 入 同 步 点 (Inserting a Synchronization Point)<br />

“ 同 步 点 ” 通 过 在 一 个 特 殊 点 ( 即 同 步 点 ) 处 暂 停 每 个 虚 拟 测 试 者 的 执 行 , 使 你 协 调 虚 拟 测 试<br />

者 的 活 动 , 直 到到 以 下 的 一 个 事 件 发 生 :<br />

● 所 有 关 联 到到 同 步 点 的 虚 拟 测 试 者 到到 达 这 个 同 步 点 。<br />

当 一 个 虚 拟 测 试 者 遇 到到 一 个 同 步 点 时 , 该 虚 拟 测 试 者 停 止 并 等 待 其 他 的 虚 拟 测 试 者 到到 达 。<br />

当 被 指 定 到到 达 该 同 步 点 的 虚 拟 测 试 者 全 部 到到 达 该 点 时 ,TestManager 释 放 这 些 虚 拟 测 试 者 并 使<br />

他 们 继 续 执 行 该 suite。<br />

● 在 所 有 的 虚 拟 测 试 者 到到 达 该 同 步 点 之 前前 , 到到 达 一 个 超 时 时 间 。<br />

当 一 个 虚 拟 测 试 者 遇 到到 一 个 同 步 点 时 , 该 虚 拟 测 试 者 停 止 并 等 待 其 他 的 虚 拟 测 试 者 到到 达 。<br />

其 他 虚 拟 测 试 者 到到 达 该 同 步 点 并 等 待 。 然 而 , 在 所 有 的 虚 拟 测 试 者 到到 达 该 同 步 点 之 前前 , 已 到到<br />

了 超 时 时 间 ,TestManager 释 放 这 些 虚 拟 测 试 者 并 使 其 继 续 执 行 该 suite。 还 没 有 到到 达 该 同 步 点<br />

的 虚 拟 测 试 者 , 在 未 达 到到 超 时 时 间 之 前前 , 不 能 再 该 同 步 点 处 停 止 。 他 们 也 会 继 续 执 行 该 suite。<br />

● 你 在 监 控 suite 时 , 手 动 释 放 虚 拟 测 试 者 。<br />

当 一 个 虚 拟 测 试 者 遇 到到 一 个 同 步 点 时 , 该 虚 拟 测 试 者 停 止 并 等 待 其 他 的 虚 拟 测 试 者 到到 达 。<br />

其 他 虚 拟 测 试 者 到到 达 时 该 同 步 点 等 待 。 然 而 , 在 这 个 时 候 , 来来 决 定 从 该 同 步 点 处 释 放 这 些 虚


51Testing 软 件 测 试 网<br />

拟 测 试 者 , 并 继 续 执 行 suite。 所 有 的 虚 拟 测 试 者 已 经 到到 达 或 还 没 有 到到 达 该 同 步 点 。 那 些 没 有<br />

到到 达 同 步 点 的 虚 拟 测 试 者 , 在 手 动 地 释 放 他 们 之 前前 , 不 能 在 该 同 步 点 处 停 止 。 他 们 也 会 及 继<br />

续 执 行 suite。<br />

插 入 同 步 点 :<br />

● 插 入 测 试 脚 本本 —— 用 以 下 的 方 法 使 用 Rational Robot 插 入 一 个 同 步 点 到到 测 试 脚 本本 中 :<br />

○ 在 录 制 期 间 , 使 用 工 具 栏栏 的 按 钮 或 Insert 菜 单 。<br />

○ 在 测 试 脚 本本 编 辑 期 间 , 通 过 手 动 输 入 同 步 点 命命 令 到到 测 试 脚 本本 中 。<br />

插 入 同 步 点 到到 测 试 脚 本本 中 来来 准 确 地 控 制 测 试 脚 本本 暂 停 的 地 方 。 例 如 , 就 在 你 发 送 一 个 请 求<br />

到到 服 务 器 之 前前 , 插 入 一 个 同 步 点 命命 令 。<br />

同 步 点 依 赖 于 相 同 逻 辑 情 况 下 使 用 这 种 方 法 , 而 这 种 相 同 的 逻 辑 是 在 编 辑 期 间 , 你 添 加 到到<br />

测 试 脚 本本 中 去 的 。<br />

● 插 入 suite— 通 过 TestManager 插 入 一 个 同 步 点 到到 suite 中 。<br />

插 入 同 步 点 到到 TestManager 中 的 suite, 来来 暂 停 测 试 脚 本本 之 前前 或 之 间 的 执 行 , 而 不 是 一 个 测 试<br />

脚 本本 内 部 的 执 行 暂 停 。 插 入 同 步 点 到到 suite 中 , 有 下 面 这 些 优 点 :<br />

○ 你 可 以 在 不 去 编 辑 测 试 脚 本本 的 情 况 下 , 容 易 地 移 动 同 步 点 的 定 位 。<br />

○ 在 suite 内 部 的 同 步 点 是 可 见 的 , 而 不 是 隐 藏 在 一 个 测 试 脚 本本 中 。<br />

当 你 插 入 同 步 点 到到 TestManager 中 的 suite 时 , 比 之 分 配 一 个 同 步 点 到到 一 个 测 试 脚 本本 的 工 作 , 你<br />

可 以 做 的 更 多 。 例 如 :<br />

○ 你 可 以 说 明 你 是 否 希 望 虚 拟 测 试 者 在 相 同 或 者 不 同 的 时 刻刻 处 被 释 放 。<br />

○ 如 果果 虚 拟 测 试 者 在 不 同 的 时 刻刻 ( 交 错 ) 被 释 放 , 那 么 你 就 可 以 指 定 虚 拟 测 试 者 被 释 放 的 最<br />

小 和和 最 大 时 间 。<br />

○ 可 定 义 超 时 时 间<br />

插 入 同 步 点 到到 suite 中 :<br />

● 点 击 Suite > Insert > Synchronization Point。


51Testing 软 件 测 试 网<br />

例 如 , 当 执 行 一 个 压 力力 测 试 时 ( 在 极极 端 条条 件 下 执 行 你 的 应 用 程 序 来来 查查 看 他 们 或 服 务 器 是 否 会 档<br />

机机 ), suite 可 能 包包 含 这 样 的 虚 拟 测 试 者 , 他 们 不 断 地 执 行 某某 项 操 作 并 连 续 地 重 复 几 个 小 时 。 要<br />

最 有 效 地 执 行 压 力力 测 试 , 可 以 同 步 这 些 虚 拟 测 试 者 , 以 使 他 们 在 相 同 的 时 刻刻 内 执 行 操 作 来来 进 行<br />

系 统 的 压 力力 测 试 。 也 可 以 通 过 插 入 一 个 同 步 点 的 方 式 来来 到到 达 这 种 目 的 , 以 协 调 这 些 虚 拟 测 试 者<br />

来来 同 时 执 行 某某 项 功 能 。<br />

同 步 点 如 何 工 作 (How Synchronization Points Work)<br />

在 测 试 开 始 时 , 所 有 的 虚 拟 测 试 者 开 始 执 行 其 下 的 测 试 脚 本本 。 直 到到 他 们 到到 达 同 步 点 , 否 则 会 继<br />

续 执 行 下 去 。 在 测 试 脚 本本 中 指 定 时 , 同 步 点 是 一 个 程 序 式 命命 令 ( 在 VU 测 试 脚 本本 中 是 sync_point,<br />

在 SQABasic 测 试 脚 本本 中 是 SQASyncPointWait, 在 VB 测 试 脚 本本 中 是 TSSSync.SyncPoint,<br />

在 Java 测 试 脚 本本 中 是 TSSSync.syncPoint)。 在 suite 中 指 定 时 , 同 步 点 的 放 置 类 似 于 其 他<br />

的 suite 元 素 ( 延 迟 , 交 易 者 , 以 及 其 他 等 )。<br />

下 图 说 明 了 一 个 同 步 点 :<br />

虚 拟 测 试 者 在 同 步 点 处 暂 停 , 直 到到 TestManager 释 放 他 们 。<br />

下 面 的 suite 展 现 了 被 称 为 压 力力 测 试 的 同 步 点 :


51Testing 软 件 测 试 网<br />

Accounting 用 户 组 中 的 虚 拟 测 试 者 等 待 同 步 点 。<br />

Data Entry 和和 Sales 用 户 组 执 行 Set Up Database Application 场 景 , 然 后 等 待 同 步 点 。 当 所 有 的 虚 拟<br />

测 试 者 到到 达 该 测 试 点 时 , 他 们 被 释 放 。<br />

如 果果 执 行 一 个 含 有 10,000 虚 拟 测 试 者 的 测 试 , 当 所 有 的 虚 拟 测 试 者 到到 达 这 个 “ 压 力力 测 试 ” 同 步<br />

点 时 , 他 们 被 释 放 。 在 这 个 例 子 中 :<br />

● Accounting 组 有 2000 个 虚 拟 测 试 者 , 每 一 个 测 试 者 计 算 时 间 和和 税 额 , 暂 停 2 分 钟 , 然 后 重 新<br />

计 算 时 间 和和 税 额 。 每 个 虚 拟 测 试 者 重 复 进 行 100 次 这 样 的 操 作 。<br />

● Data Entry 组 有 3000 个 虚 拟 测 试 者 , 每 一 个 测 试 者 添 加 , 删 除 , 或 者 修 改 一 个 记 录 。 每 个 虚<br />

拟 测 试 者 重 复 进 行 100 次 这 样 的 操 作 。<br />

● Sales 组 有 5000 个 虚 拟 测 试 者 , 每 一 个 测 试 者 读 取 一 个 记 录 。 每 个 虚 拟 测 试 者 重 复 进 行 200<br />

次 这 样 的 操 作 。<br />

在 设 置 同 步 点 时 , 你 必 须 说 明 虚 拟 测 试 者 如 何 从 同 步 点 处 释 放 :<br />

● 同 时 (Together)—— 一 次 性 释 放 所 有 的 虚 拟 测 试 者 。<br />

指 定 一 个 重 新 开 始 的 时 间 来来 延 迟 虚 拟 测 试 者 。 例 如 , 如 果果 重 新 开 始 的 时 间 设 置 为 4 秒 , 在 虚 拟<br />

测 试 者 到到 达 该 同 步 点 之 后 ( 或 已 经 超 时 ), 他 们 等 待 4 秒 , 然 后 全 部 被 释 放 。


51Testing 软 件 测 试 网<br />

默 认 的 重 新 开 始 时 间 为 0, 这 意 味味 着 当 最 后 一 个 虚 拟 测 试 者 到到 达 该 同 步 点 时 , 所 有 的 虚 拟 测 试<br />

者 立 刻刻 被 释 放 。<br />

● 交 错 (Staggered)—— 一 个 接 一 个 的 释 放 虚 拟 测 试 者 。<br />

每 个 虚 拟 测 试 者 等 待 被 释 放 的 时 间 总 量 是 随 机机 选 取 的 , 并 且 在 指 定 的 最 大 和和 最 小 的 时 间 范<br />

围 内 成 均 匀匀 分 布 。 例 如 , 如 果果 最 小 时 间 为 1 秒 , 最 大 时 间 为 10 秒 , 在 虚 拟 测 试 者 到到 达 该 同 步 点<br />

( 或 发 生 超 时 ) 之 后 , 每 个 虚 拟 测 试 者 在 被 释 放 之 前前 , 等 待 1 到到 4 秒 。 所 有 的 虚 拟 测 试 者 随 机机<br />

地 分 布 在 1 和和 4 秒 之 间 。<br />

对 于 同 步 点 的 超 时 的 时 间 被 指 定 为 ,TestManager 等 待 虚 拟 测 试 者 到到 达 该 同 步 点 的 总 时 间 。 如 果果<br />

所 有 关 联 与 一 个 同 步 点 的 虚 拟 测 试 者 在 超 时 时 间 结 束束 时 , 没 有 到到 达 该 同 步 点 , 那 么 TestManager<br />

释 放 任 意 的 虚 拟 测 试 者 以 等 待 。 在 第 一 个 虚 拟 测 试 者 到到 达 该 同 步 点 时 , 超 时 时 间 开 始 。<br />

虽 然 在 一 个 超 时 之 后 到到 达 同 步 点 的 虚 拟 测 试 者 不 被 保 留 , 但 该 虚 拟 测 试 者 会 在 同 步 点 处 被 延 迟 。<br />

例 如 , 如 果果 超 时 时 间 已 到到 达 , 且 重 新 开 始 的 时 间 为 1 秒 , 最 大 时 间 为 4 秒 , 那 么 虚 拟 测 试 者 被 延<br />

迟 在 1 和和 4 秒 之 间 。<br />

默 认 超 时 为 0, 这 意 味味 着 此 处 没 有 超 时 时 间 。 设 置 超 时 是 有 用 的 , 因 为 一 个 虚 拟 测 试 者 可 能 遇 到到<br />

问 题 , 并 且 可 能 从 来来 都 没 有 到到 达 过 同 步 点 。 在 你 设 置 时 间 时 , 你 没 有 停 止 其 他 的 虚 拟 测 试 者 ,<br />

这 是 因 为 问 题 只 是 这 一 个 虚 拟 测 试 者 的 问 题 。<br />

Suite 或 测 试 脚 本本 可 以 有 多 个 同 步 点 , 每 一 个 都 具 有 唯 一 的 名 称 。 给 定 的 同 步 点 名 称 可 以 在 多 个<br />

测 试 脚 本本 和和 ( 或 )suites 中 被 引 用 。<br />

为 什 么 要 使 用 同 步 点 ?(Why Use Synchronization Points?)<br />

通 过 同 步 虚 拟 测 试 者 , 可 以 使 其 在 相 同 的 时 刻刻 执 行 相 同 的 活 动 , 可 以 使 这 些 活 动 发 生 在 测 试 中<br />

的 一 些 特 殊 的 点 上 — 例 如 , 应 用 程 序 向 服 务 器 发 送 一 个 查查 询 时 。<br />

测 试 脚 本本 中 的 同 步 点 常 常 和和 计 时 器 一 起 使 用 , 来来 确 定 在 定 时 活 动 上 不 同 虚 拟 测 试 者 负 载 的 影 响响 。<br />

例 如 , 要 模 拟 数 据 检 索 上 的 虚 拟 测 试 者 的 负 载 :<br />

1 录 制 一 个 提 交 请 求 和和 展 示 结 果果 的 测 试 脚 本本 ( 在 此 例 中 名 为 VU1) 时 , 执 行 以 下 的 活 动 :<br />

a 插 入 名 为 TestQuery 的 同 步 点 到到 测 试 脚 本本 中<br />

b 开 始 一 个 block。<br />

该 block 定 时 执 行 交 易 。 它 也 将 该 block 和和 计 时 器 名 称 关 联 于 执 行 此 交 易 的 模 拟 命命 令 的 名 称 。<br />

c 提 交 查查 询 , 并 等 待 结 果果 展 现 。<br />

d 停 止 该 block。<br />

2 录 制 提 供 负 载 的 测 试 脚 本本 时 , 就 在 你 刚 刚 开 始 记 录 提 供 负 载 的 任 务 之 前前 , 插 入 另 一 个


51Testing 软 件 测 试 网<br />

TestQuery 同 步 点 。 例 如 , 就 在 你 点 击 提 交 定 购 单 的 按 钮 之 前前 , 添 加 一 个 同 步 点 。 将 此 测 试<br />

脚 本本 命命 名 为 VU2。<br />

3 添 加 VU1 和和 VU2 到到 suite 中 。<br />

4 多 次 执 行 该 suite, 每 次 添 加 不 同 数 量 的 虚 拟 测 试 者 到到 VU2 脚 本本 中 。 然 而 , 在 每 次 测 试 中 , 只<br />

需 要 一 个 虚 拟 测 试 者 来来 执 行 VU1 测 试 脚 本本 就 可 以 了 。<br />

理 论 上 , 当 VU2 中 同 步 的 虚 拟 测 试 者 数 量 增 加 时 , 通 过 VU1 计 时 器 纪 录 的 时 间 也 应 该 增 加 。<br />

在 本本 例 中 ,TestQuery 同 步 点 确 保 :<br />

● VU2 中 的 所 有 虚 拟 测 试 者 在 相 同 时 刻刻 提 交 他 们 的 表 单 — 为 此 提 供 最 大 的 并 行 虚 拟 测 试 者 的 负<br />

载 。<br />

● VU1 中 的 虚 拟 测 试 者 在 VU2 的 虚 拟 测 试 者 加 载 服 务 器 的 时 间 内 , 提 交 它 的 查查 询 请 求 — 为 此 提<br />

供 一 个 最 大 负 载 的 临 界 时 间 。<br />

测 试 脚 本本 中 的 同 步 点 释 放 时 间 和和 超 时 时 间 (Release Times and Timeouts for<br />

Synchronization Points in Test Scripts)<br />

当 你 插 入 同 步 点 到到 suite 时 , 你 不 能 为 插 入 到到 测 试 脚 本本 中 的 该 同 步 点 定 义 最 大 和和 最 小 的 释 放 时 间<br />

或 超 时 时 间 。 按 照 缺 省 :<br />

● 虚 拟 测 试 者 保 留 基 于 脚 本本 的 同 步 点 被 同 时 释 放 。<br />

● 这 里 没 有 时 间 限 制 虚 拟 测 试 者 在 同 步 点 处 被 保 留 多 久 。<br />

然 而 , 如 果果 suite 中 的 同 步 点 具 有 一 个 释 放 时 间 的 范 围 和和 为 其 定 义 的 超 时 时 间 , 那 么 这 个 释 放 时<br />

间 和和 超 时 时 间 适 用 于 所 有 具 有 相 同 名 称 的 同 步 点 — 即 使 同 步 点 是 测 试 脚 本本 中 的 。<br />

同 步 点 的 范 围 包包 含 所 有 的 测 试 脚 本本 , 外 加 所 有 的 用 户 组 。 这 些 测 试 脚 本本 和和 用 户 组 都 引 用 一 个 特<br />

殊 同 步 点 的 名 称 。<br />

例 如 , 假 设 在 suite 中 已 有 下 面 的 这 些 用 户 组 :<br />

含 有 75 个 虚 拟 测 试 者 的 Data Entry 用 户 组 。 这 个 用 户 组 执 行 一 个 测 试 脚 本本 , 包包 含 一 个 名 为 Before<br />

Query 的 同 步 点 。<br />

含 有 10 个 虚 拟 测 试 者 的 Engineering 用 户 组 。 这 个 用 户 组 执 行 与 Data Entry 用 户 组 不 同 的 测 试 脚<br />

本本 。 但 在 这 个 测 试 脚 本本 中 也 包包 含 一 个 名 为 Before Query 的 同 步 点 。<br />

含 有 25 个 虚 拟 测 试 者 的 Customer Service 的 用 户 组 。 这 个 用 户 组 执 行 一 个 不 包包 含 同 步 点 的 测 试 脚<br />

本本 。 然 而 , 该 用 户 组 确 实 存 在 一 个 为 其 定 义 的 同 步 点 。 该 同 步 点 也 被 命命 名 为 Before Query。<br />

在 suite 执 行 时 , 当 所 有 的 110 个 虚 拟 测 试 者 到到 达 他 们 各 自 的 同 步 点 时 ,TestManager 释 放 保 留 在<br />

Before Query 同 步 点 处 的 虚 拟 测 试 者 。


51Testing 软 件 测 试 网<br />

使 用 事 件 和 依 赖 协 调 执 行 (Using Events and Dependencies<br />

to Coordinate Execution)<br />

“ 事 件 ” 是 一 个 机机 制 , 用 来来 协 调 项 在 suite 中 执 行 的 方 式 。 例 如 , 你 正 在 执 行 一 个 具 有 100 个 虚<br />

拟 测 试 者 的 suite, 来来 访 问 数 据 库 。 你 希 望 第 一 个 虚 拟 测 试 者 去 初 始 化化 数 据 库 , 而 其 他 的 99 个 虚<br />

拟 测 试 者 等 待 初 始 化化 的 完 成 。 要 这 样 运 作 , 你 可 以 设 置 初 始 化化 事 件 上 的 一 个 “ 依 赖 ”, 阻 塞 这<br />

99 个 虚 拟 测 试 者 , 直 到到 事 件 ( 第 一 个 虚 拟 测 试 者 初 始 化化 数 据 库 ) 发 生 。<br />

你 可 以 在 suite 中 有 多 个 事 件 。 当 suite 中 只 有 一 项 能 够 设 置 事 件 时 , 有 很 多 的 项 可 以 依 赖 于 这 个<br />

事 件 。<br />

注 意 事 项 : 事 件 和和 依 赖 只 需 要 活 动 的 发 生 — 没 必 要 他 们 成 功 地 完 成 。 如 果果 suite 部 分 需 要 不 仅 仅<br />

需 要 活 动 的 发 生 , 还 要 求 成 功 的 完 成 , 那 么 可 以 在 测 试 用 例 , 测 试 脚 本本 , 或 者 suite 上 使 用 前前 置<br />

条条 件 。 有 关 前前 置 条条 件 的 信 息 , 参 阅 231 页 Setting a Precondition on a Test Script, Test Case, or Suite<br />

的 内 容 。<br />

下 面 的 这 个 suite 展 示 了 99 个 虚 拟 测 试 者 的 等 待 , 直 到到 第 一 个 虚 拟 测 试 者 初 始 化化 数 据 库 的 事 件 发<br />

生 。


51Testing 软 件 测 试 网<br />

该 suite 中 的 第 二 行 列 出 了 事 件 , 并 且 第 三 行 列 出 了 依 赖 。 在 这 个 suite 中 ,Initialize Database 测 试<br />

脚 本本 一 完 成 , 它 就 将 事 件 设 置 为 Database Is Initialized。Add New Record, Modify Record, 和和<br />

Delete Record 测 试 脚 本本 依 赖 于 该 事 件 , 并 且 只 能 在 事 件 被 设 置 之 后 执 行 。<br />

注 意 事 项 : 在 前前 一 个 例 子 中 ,Data Entry 用 户 组 中 的 虚 拟 测 试 者 随 机机 地 执 行 测 试 脚 本本 。 在 这 个 用<br />

例 中 , 你 必 须 添 加 依 赖 到到 选 择 器 中 的 每 一 个 测 试 脚 本本 中 , 因 为 你 不 知 道 那 个 脚 本本 会 第 一 个 执 行 。<br />

但 是 , 如 果果 Data Entry 用 户 组 是 顺 序 执 行 这 些 测 试 脚 本本 的 , 那 么 只 要 向 第 一 个 测 试 脚 本本 添 加 一 个<br />

依 赖 就 可 以 了 。<br />

● 添 加 一 个 设 置 或 依 赖 于 事 件 的 测 试 脚 本本 :<br />

点 击 Suite > Insert > Test Script。<br />

注 意 事 项 : 上 一 个 例 子 展 示 了 如 何 添 加 设 置 了 事 件 的 测 试 脚 本本 和和 另 一 个 依 赖 于 事 件 的 测 试 脚 本本 。<br />

然 而 , 场 景 , 交 易 者 , 和和 延 迟 也 都 可 以 设 置 事 件 , 且 他 们 的 执 行 也 可 以 依 赖 于 事 件 。<br />

Suites 的 执 行 (Executing Suites)<br />

在 你 已 经 创 建 和和 保 存 了 suite 之 后 , 你 真 正 执 行 它 之 前前 , 你 可 以 :<br />

检 查查 suite 中 的 错 误 。<br />

检 查查 代 理 测 试 机机 (Agent computers) 的 状 态 。


51Testing 软 件 测 试 网<br />

控 制 suite 的 执 行 时 间 信 息 。<br />

控 制 如 何 suite 中 止 。<br />

执 行 suite。<br />

最 后 , 在 suite 执 行 时 , 你 可 以 监 控 suite 的 执 行 过 程 。<br />

有 关 所 有 这 些 主 题 的 信 息 , 参 阅 87 页 Executing Tests 的 内 容 。<br />

使 用 数 据 池 (Working with Datapools)11<br />

这 一 章 描 述 如 何 创 建 和和 管 理 数 据 池 。 它 包包 含 了 以 下 的 主 题 :<br />

● 什 么 是 数 据 池<br />

● 一 个 数 据 池 的 计 划 和和 创 建<br />

● 数 据 类 型<br />

● 数 据 池 的 管 理<br />

● 用 户 自 定 义 数 据 类 型 的 管 理<br />

● 数 据 池 唯 一 行 的 生 成 和和 检 索


51Testing 软 件 测 试 网<br />

● 在 Rational Test 之 外 创 建 数 据 池<br />

● 在 Rational Test 之 外 创 建 列 值<br />

在 你 使 用 数 据 池 之 前前 , 你 应 该 使 你 熟 悉 本本 章 介 绍 的 概 念 和和 过 程 。<br />

注 意 事 项 : 这 一 章 描 述 在 一 个 TestManager suite 中 ,VU 和和 GUI 测 试 脚 本本 在 回 放 时 对 数 据 池 的 访<br />

问 和和 使 用 。 有 关 数 据 池 的 附 加 信 息 , 可 以 在 许 多 不 同 的 Rational 文 档 中 看 到到 :<br />

□ 数 据 池 过 程 , 参 阅 Rational TestManager 帮 助 。<br />

□ 在 VB 或 者 Java 测 试 脚 本本 中 使 用 数 据 池 , 参 阅 合 适 的 Rational Test Script Services API 文 档 。<br />

□ 在 常 规 测 试 脚 本本 类 型 中 使 用 数 据 池 , 参 阅 Rational TestManager Extensibility Reference 手 册 。<br />

□ 在 测 试 脚 本本 的 期 间 创 建 数 据 池 , 参 阅 Using Rational Robot 手 册 和和 Robot 帮 助 。<br />

□ 有 关 数 据 池 和和 GUI 测 试 脚 本本 的 信 息 , 参 阅 SQABasic Reference 手 册 。<br />

什 么 是 数 据 池 (What Is a Datapool?)<br />

“ 数 据 池 ” 就 是 一 个 测 试 的 数 据 集 合 。 它 为 回 放 的 测 试 脚 本本 提 供 测 试 数 据 变 量 。<br />

数 据 池 使 你 可 以 自 动 地 提 供 测 试 数 据 变 量 给 虚 拟 测 试 者 , 这 是 在 高 容 量 条条 件 下 , 即 潜 在 的 包包 含<br />

了 执 行 几 千 个 事 务 处 理 的 几 百 个 虚 拟 测 试 者 。<br />

一 般 情 况 下 , 你 使 用 数 据 池 可 以 :<br />

● 每 一 个 执 行 测 试 脚 本本 的 虚 拟 测 试 者 可 发 送 真 实 的 测 试 数 据 ( 可 以 包包 含 唯 一 的 数 据 ) 到到 服 务 器 。<br />

● 多 次 数 执 行 相 同 事 务 处 理 的 单 个 虚 拟 测 试 者 可 发 送 针 对 每 个 事 务 处 理 的 真 实 ( 通 常 是 不 同 的 )<br />

测 试 数 据 到到 服 务 器 。<br />

如 果果 在 回 放 期 间 不 使 用 数 据 池 , 那 么 每 个 虚 拟 测 试 者 会 发 送 相 同 的 字 面 值 到到 服 务 器 — 该 值 是 在<br />

测 试 脚 本本 中 定 义 的 。<br />

例 如 , 假 设 你 一 个 VU 测 试 脚 本本 以 发 送 订 单 号 53328 到到 服 务 器 。 如 果果 有 100 个 虚 拟 测 试 者 执 行 该 测<br />

试 脚 本本 , 那 么 该 订 单 号 53328 会 被 发 送 到到 该 服 务 器 达 100 次 。 如 果果 你 使 用 数 据 池 , 那 么 每 个 虚 拟<br />

测 试 者 可 发 送 不 同 的 订 单 号 到到 该 服 务 器 。<br />

数 据 池 工 具 (Datapool Tools)<br />

可 以 使 用 Robot 或 TestManager 来来 创 建 和和 管 理 数 据 池 。 下 表 展 示 了 你 使 用 这 两 种 产 品品 可 以 执 行 的<br />

活 动 :


51Testing 软 件 测 试 网<br />

活 动 Robot TestManager<br />

在 测 试 脚 本本 中 自 动 地 生 成 数 据 池<br />

命命 令 。<br />

创 建 数 据 池 并 自 动 地 生 成 数 据 池<br />

值 。<br />

编 辑 一 个 VU 测 试 脚 本本 的<br />

DATA_CONFIG 部 分 。<br />

编 辑 数 据 池 的 列 定 义 和和 数 据 池 的<br />

值 。<br />

创 建 和和 编 辑 数 据 池 的 数 据 类 型 。<br />

执 行 数 据 池 的 管 理 活 动 , 比 如 复<br />

制 和和 重 命命 名 数 据 池 。<br />

输 入 和和 输 出 数 据 池 。<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />


51Testing 软 件 测 试 网<br />

输 入 数 据 类 型 。<br />

●<br />

这 一 章 论 述 数 据 池 并 阐 明 在 TestManager 中 执 行 关 联 到到 数 据 池 的 活 动 。 有 关 在 Rational Robot 中 使<br />

用 数 据 池 的 相 关 信 息 , 参 阅 Using Rational Robot 手 册 。<br />

数 据 池 文 件 的 管 理 (Managing Datapool Files)<br />

数 据 池 由 两 种 文 件 组 成 : 文 本本 文 件 和和 说 明 文 件 。<br />

● 数 据 池 的 值 可 以 保 存 在 文 本本 文 件 中 , 文 件 后 缀 名 为 .csv。<br />

● 数 据 池 的 列 名 保 存 在 说 明 文 件 中 ( 文 件 后 缀 为 .spc)。Robot 或 TestManager 负 责 创 建 和和 维 护 该<br />

文 件 。 但 是 , 你 不 应 该 直 接 编 辑 该 文 件 。<br />

.csv 和和 .spc 文 件 被 保 存 在 你 项 目 的 TMS_Datapool 的 目 录 中 。<br />

当 然 , 如 果果 你 输 入 一 个 数 据 池 ,Robot 或 TestManager 自 动 地 创 建 和和 管 理 .csv 和和 .spc 文 件 , 但 是 ,<br />

这 些 文 件 是 基 于 你 通 过 用 户 界 面 提 供 的 指 令 ( 指 导 ) 来来 执 行 这 些 活 动 的 。<br />

如 果果 你 输 入 一 个 数 据 池 , 那 么 应 该 由 你 来来 创 建 .csv 文 件 并 填 充 数 据 。 然 而 ,Rational Test 软 件 依<br />

然 会 负 责 创 建 和和 管 理 这 个 输 入 数 据 池 的 .spc 文 件 。<br />

有 关 输 入 数 据 池 的 信 息 , 参 阅 278 页 Importing a Datapool 和和 284 页 Creating a Datapool Outside<br />

Rational Test 的 内 容 。<br />

注 意 事 项 :TestManager 自 动 地 复 制 一 个 .csv 文 件 到到 每 一 个 需 要 它 的 代 理 测 试 机机 。 如 果果 代 理 测 试<br />

机机 的 .csv 文 件 变 成 out-of-date( 过 期 数 据 ),TestManager 会 自 动 地 更 新 它 。<br />

数 据 池 游 标标 (Datapool Cursor)<br />

数 据 池 的 “ 游 标标 ”, 或 行 指 针 , 可 以 在 访 问 该 数 据 池 的 所 有 虚 拟 测 试 者 之 间 被 共 享 , 或 者 对 于<br />

每 个 虚 拟 测 试 者 可 唯 一 。<br />

在 所 有 的 虚 拟 测 试 者 之 间 对 数 据 池 游 标标 的 共 享 , 可 以 给 与 一 个 协 调 的 测 试 。<br />

因 为 数 据 池 的 每 一 行 是 唯 一 的 , 每 个 虚 拟 测 试 者 可 以 共 享 相 同 的 游 标标 , 并 且 依 然 可 以 发 送 唯 一<br />

的 到到 数 据 库 。<br />

此 外 , 一 个 共 享 的 游 标标 可 以 不 间 断 的 跨 过 suite 的 执 行 。 例 如 , 假 设 在 suite 执 行 时 访 问 的 数 据 池<br />

最 后 的 一 行 是 第 100 行 :<br />

● 如 果果 该 游 标标 是 不 间 断 的 跨 过 suite 的 执 行 , 那 么 数 据 池 行 的 访 问 , 在 一 个 新 的 suite 执 行 时 , 首<br />

次 访 问 是 从 第 101 行 恢 复 开 始 。<br />

● 如 果果 该 游 标标 不 是 连 续 的 , 那 么 在 一 个 新 的 suite 执 行 时 , 对 数 据 池 行 的 访 问 , 首 次 从 第 1 行 重 新<br />

开 始 。


51Testing 软 件 测 试 网<br />

注 意 事 项 : 执 行 SQABasic 测 试 脚 本本 的 虚 拟 测 试 者 , 可 以 在 一 个 TestManager suite 中 回 放 时 , 共<br />

享 一 个 游 标标 , 但 不 是 在 Robot 中 的 回 放 发 生 时 。<br />

有 关 游 标标 范 围 的 定 义 , 参 阅 Using Rational Robot 手 册 中 的 “ 游 标标 ” 主 题 的 描 述 。<br />

行 访 问 顺 序 (Row Access Order)<br />

行 访 问 顺 序 是 在 测 试 执 行 期 间 被 访 问 的 行 的 顺 序 。<br />

利 用 GUI 测 试 脚 本本 , 你 可 以 控 制 数 据 池 游 标标 的 行 访 问 顺 序 , 使 用 SQABasic SQADatapoolOpen<br />

命命 令 的 “ 顺 序 ” 变 量 。<br />

利 用 VU 测 试 脚 本本 , 你 可 以 控 制 行 访 问 顺 序 , 通 过 在 脚 本本 对 话 框 的 Robot Configure Datapool 中<br />

Access Order 的 设 置 。( 参 阅 Using Rational Robot 手 册 。)<br />

对 于 其 他 类 型 的 测 试 脚 本本 。 参 考 合 适 的 API 文 档 。<br />

数 据 池 的 界 限 (Datapool Limits)<br />

一 个 数 据 池 , 如 果果 是 Robot 或 TestManger 自 动 地 为 其 生 成 数 据 , 那 么 达 到到 150 列 。 如 果果 , 你 是 从<br />

一 个 数 据 库 或 其 他 的 数 据 源 输 入 一 个 数 据 池 , 那 么 可 以 达 到到 32,768 列 。 同 样 的 , 一 个 数 据 池 可<br />

以 达 到到 2,147,483,647 行 。<br />

数 据 池 解 决 何 种 类 型 的 问 题 ?(What Kinds of Problems Does a Datapool<br />

Solve?)<br />

如 果果 在 测 试 执 行 期 间 , 你 只 回 放 一 个 测 试 脚 本本 , 那 么 这 个 测 试 脚 本本 很 可 能 就 不 要 去 访 问 数 据 池 。<br />

但 通 常 情 况 下 , 在 测 试 执 行 期 间 , 特 别 是 在 性 能 测 试 时 , 你 需 要 多 次 执 行 相 同 的 测 试 脚 本本 。 例<br />

如 :<br />

● 在 性 能 测 试 时 , 你 可 能 希 望 之 行 一 个 测 试 脚 本本 的 多 个 实 例 , 以 使 该 测 试 脚 本本 同 时 地 执 行 多 次 。<br />

( 牢 记 , 一 个 虚 拟 测 试 者 是 一 个 测 试 脚 本本 的 一 个 执 行 实 例 。)<br />

● 在 功 能 测 试 和和 性 能 测 试 期 间 , 你 经 常 会 执 行 一 个 测 试 脚 本本 的 多 个 迭 代 , 以 使 该 测 试 脚 本本 不 间<br />

断 地 执 行 多 次 ( 模 拟 一 个 虚 拟 测 试 者 重 复 地 执 行 相 同 的 任 务 )。<br />

如 果果 这 个 被 使 用 在 每 个 测 试 脚 本本 实 例 和和 每 个 测 试 脚 本本 迭 代 的 值 是 相 同 的 文 字 值 — 该 值 是 在 录 制<br />

或 手 动 输 入 到到 测 试 脚 本本 中 的 值 — 你 可 能 在 suite 执 行 期 间 遇 到到 问 题 。<br />

下 面 的 这 些 问 题 的 例 子 , 可 由 数 据 池 解 决 :<br />

● 问 题 : 在 录 制 期 间 , 你 为 一 个 新 雇 员员 创 建 一 个 人 员员 文 件 , 并 使 用 了 雇 员员 的 唯 一 标标 示 : 社 会 保<br />

险 号 。 每 次 在 测 试 脚 本本 回 放 时 , 这 里 会 试 图 创 建 相 同 的 人 员员 文 件 并 提 供 相 同 的 社 会 保 险 号 。<br />

该 应 用 程 序 拒 绝 了 复 制 的 请 求 。<br />

解 决 方 案 : 使 用 一 个 数 据 池 , 每 次 在 测 试 脚 本本 回 放 时 , 发 送 包包 含 唯 一 社 会 保 险 号 的 不 同 雇 员员


51Testing 软 件 测 试 网<br />

数 据 到到 该 服 务 器 。<br />

● 问 题 : 在 录 制 期 间 你 删 除 了 一 个 记 录 。 回 放 期 间 , 测 试 脚 本本 的 每 个 实 例 和和 迭 代 试 图 删 除 相 同<br />

的 记 录 , 并 出 现 “Record Not Found” 的 错 误 结 果果 。<br />

解 决 方 案 : 使 用 一 个 数 据 池 , 每 次 在 测 试 脚 本本 回 放 时 , 删 除 请 求 中 参 考 不 同 的 记 录 。<br />

● 问 题 : 针 对 一 个 性 能 测 试 , 你 录 制 一 个 测 试 脚 本本 时 , 客 户 应 用 程 序 读 取 数 据 库 的 记 录 。 在 回<br />

放 期 间 , 那 个 相 同 的 记 录 被 读 了 几 百 次 。 因 为 客 户 应 用 程 序 是 设 计 良 好 的 , 他 在 缓 存 中 获 得<br />

该 记 录 , 并 在 随 后 的 数 据 取 得 中 出 现 了 快 速 检 索 的 假 象 。 这 时 , 性 能 测 试 产 生 的 响响 应 时 间 是<br />

不 准 确 的 。<br />

解 决 方 案 : 每 次 在 测 试 脚 本本 回 放 时 , 使 用 数 据 池 来来 请 求 不 同 的 记 录 。<br />

数 据 池 的 计 划 和 创 建 (Planning and Creating a Datapool)<br />

该 阶 段 的 摘 要 涉 及 到到 在 测 试 中 使 用 数 据 池 时 , 对 其 的 准 备 工 作 , 如 下 图 说 明 。 图 中 展 示 的 该 阶<br />

段 顺 序 是 对 测 试 脚 本本 所 使 用 的 数 据 池 进 行 计 划 和和 创 建 的 典 型 顺 序 。


51Testing 软 件 测 试 网<br />

以 下 的 步 骤 提 供 了 有 关 这 些 活 动 的 细 节 :<br />

1 计 划 数 据 池 .<br />

确 定 你 需 要 的 该 数 据 池 的 列 。 换 句 话 说 , 就 是 你 希 望 从 数 据 池 检 索 并 发 送 到到 服 务 器 的 那 些 值 ( 名<br />

称 , 地 址 , 日 期 , 以 及 其 他 ) 的 种 类 。<br />

一 般 地 , 你 需 要 为 每 一 个 测 试 脚 本本 设 置 数 据 池 列 , 可 使 你 在 录 制 脚 本本 期 间 来来 变 化化 的 分 配 数 据 池<br />

的 值 。<br />

例 如 , 假 设 你 的 客 户 端 程 序 有 一 个 名 为 Order Number 的 字 段 。<br />

在 录 制 期 间 , 你 为 这 个 字 段 输 入 一 个 值 。VU 测 试 脚 本本 中 , 该 值 被 自 动 地 分 配 给 一 个 测 试 脚 本本 的<br />

变 量 。 在 回 放 期 间 , 这 个 变 量 由 一 个 数 据 池 列 分 配 成 唯 一 的 订 单 编 号 。<br />

该 阶 段 需 要 一 些 客 户 端 应 用 程 序 的 知 识 , 以 及 处 理 的 数 据 类 型 。<br />

帮 助 你 确 定 你 需 要 的 数 据 池 的 列 , 录 制 一 个 初 步 的 脚 本本 。Rational Robot 自 动 地 捕 获 所 有 的 值 ,<br />

而 这 些 值 是 在 录 制 期 间 由 客 户 端 应 用 程 序 提 供 的 , 并 且 将 它 们 列 出 在 测 试 脚 本本 的 结 束束 部 分 的<br />

DATAPOOL_CONFIG 部 分 中 。 更 多 的 信 息 , 参 阅 266 页 Finding Out Which Data Types You Need


51Testing 软 件 测 试 网<br />

的 内 容 。<br />

2 生 成 数 据 池 代 码 .<br />

在 运 行 时 访 问 数 据 池 , 一 个 测 试 脚 本本 必 须 包包 含 数 据 池 命命 令 , 比 如 打 开 数 据 池 , 和和 检 索 一 行 数 据<br />

的 命命 令 。 在 VU 测 试 脚 本本 中 , 一 个 DATAPOOL_CONFIG 部 分 也 必 须 被 指 出 。 这 一 节 包包 含 了 有 关 如<br />

何 创 建 和和 访 问 数 据 池 的 信 息 。<br />

数 据 池 代 码 可 利 用 以 下 这 些 方 法 产 生 :<br />

● VU 测 试 脚 本本 ,Robot 在 你 完 成 一 个 session 的 录 制 时 , 会 自 动 地 生 成 数 据 池 的 代 码 。Robot 可 觉<br />

察 到到 在 录 制 期 间 分 配 到到 session 中 的 所 有 值 变 量 , 并 且 在 测 试 脚 本本 中 将 这 些 变 量 的 每 一 个 与 数<br />

据 池 的 列 相 匹 配 。<br />

在 录 制 期 间 使 Robot 自 动 地 生 成 数 据 池 命命 令 , 需 要 你 在 录 制 该 测 试 脚 本本 之 前前 , 确 保 已 选 择 了<br />

Session Record Options 对 话 盒 Generator 标标 签 中 Use datapools。<br />

注 意 事 项 : 你 依 然 需 要 为 数 据 池 提 供 数 据 , 并 使 其 有 效 。<br />

● SQABasic 测 试 脚 本本 , 你 需 要 手 动 地 输 入 输 入 数 据 池 命命 令 , 当 然 将 测 试 脚 本本 变 量 与 数 据 池 列 相<br />

匹 配 也 是 手 动 地 。 有 关 数 据 池 编 写 数 据 池 命命 令 的 信 息 , 参 阅 Using Rational Robot 手 册 。<br />

● 有 关 在 其 他 类 型 的 测 试 脚 本本 中 使 用 数 据 池 的 信 息 , 参 阅 合 适 的 Rational Test Script Services API<br />

文 档 。<br />

3 生 成 和和 填 充 数 据 池 .<br />

数 据 池 命命 令 存 在 于 测 试 脚 本本 中 之 后 , 你 就 可 以 创 建 和和 填 充 该 数 据 池 了 。<br />

针 对 一 个 你 在 Robot 中 编 辑 的 VU 测 试 脚 本本 , 开 始 创 建 和和 填 充 一 个 数 据 池 , 点 击 Edit > Datapool<br />

Information。<br />

为 一 个 测 试 脚 本本 创 建 和和 填 充 一 个 数 据 池 , 包包 含 以 下 的 步 骤 :<br />

● 编 辑 测 试 脚 本本 的 DATAPOOL_CONFIG 部 分 。 例 如 , 你 可 能 希 望 改 变 默 认 的 数 据 池 访 问 标标 志 ,<br />

或 者 针 对 一 个 特 殊 的 测 试 脚 本本 变 量 排 除 一 个 数 据 池 列 。 或 者 , 在 一 个 VU 测 试 脚 本本 中 ,Robot<br />

创 建 这 部 分 的 时 候 , 你 可 以 接 受 所 有 的 这 些 Robot 指 定 的 默 认 设 置 。<br />

有 关 编 辑 一 个 测 试 脚 本本 的 DATAPOOL_CONFIG 部 分 的 信 息 , 参 阅 Using Rational Robot 手 册 。<br />

● 在 阶 段 的 计 划 期 间 , 定 义 你 确 定 需 要 的 数 据 池 列 。 例 如 , 对 于 一 个 订 单 编 号 列 , 你 可 以 说 明<br />

一 个 订 单 编 号 最 大 的 字 符 数 量 , 并 且 , 该 订 单 编 号 列 是 否 必 须 包包 含 唯 一 的 值 。<br />

有 关 数 据 池 列 的 信 息 , 参 阅 Using Rational Robot 手 册 。<br />

你 也 可 以 为 每 一 个 数 据 列 指 定 一 个 数 据 类 型 。 数 据 类 型 向 一 个 数 据 池 列 提 供 它 的 值 。 有 关 数<br />

据 类 型 的 信 息 , 参 阅 264 页 Data Types 的 内 容 。


51Testing 软 件 测 试 网<br />

● 生 成 数 据 。 一 旦 你 配 置 数 据 池 , 并 定 义 了 它 的 列 , 你 就 可 以 通 过 点 击 Generate Data 来来 填 充<br />

这 个 数 据 池 了 。<br />

注 意 事 项 : 你 也 可 以 手 动 地 创 建 和和 填 充 一 个 数 据 池 文 件 , 并 将 其 输 入 到到 datastore。 更 多 的 信 息 ,<br />

参 阅 284 页 Creating a Datapool Outside Rational Test 的 内 容 。<br />

数 据 类 型 (Data Types)<br />

数 据 池 的 “ 数 据 类 型 ” 是 数 据 池 列 的 一 个 数 据 源 。<br />

例 如 ,Names – First 数 据 类 型 ( 发 送 时 在 Rational Test 中 作 为 一 个 标标 准 数 据 类 型 ) 包包 含 普 通 的 英<br />

文 姓 名 的 一 个 列 表 。 假 设 你 分 配 这 种 数 据 类 型 到到 数 据 池 的 FNAME 列 。 当 你 生 成 该 数 据 池 时 ,<br />

TestManager 以 Names – First 数 据 类 型 给 FNAME 列 填 充 所 有 的 值 。<br />

下 图 展 现 了 数 据 类 型 之 间 的 关 系 , 数 据 池 列 , 以 及 在 回 放 期 间 分 配 给 测 试 脚 本本 变 量 的 值 :<br />

标标 准 数 据 类 型 和和 用 户 定 义 的 数 据 类 型 (Standard and User-Defined Data Types)<br />

这 里 有 两 种 数 据 池 的 数 据 类 型 , 如 下 :<br />

● 标标 准 数 据 类 型 Rational Test 带 有 的 。 这 些 数 据 类 型 包包 含 通 常 的 用 法 , 真 实 的 一 类 数 据 类 型 ,<br />

比 如 名 和和 姓 , 公 司 名 称 , 城 市 , 以 及 号 码 。<br />

For a list of the standard data types, see Standard Datapool Data Types on page 341<br />

对 于 标标 准 数 据 类 型 列 表 , 参 阅 341 页 Standard Datapool Data Types 的 内 容 。.


51Testing 软 件 测 试 网<br />

● 用 户 定 义 的 数 据 类 型 由 你 创 建 。 如 果果 标标 准 数 据 类 型 没 有 包包 含 你 希 望 提 供 给 测 试 脚 本本 变 量 的 一<br />

类 值 , 那 么 你 必 须 创 建 一 个 数 据 类 型 。<br />

用 户 定 义 的 数 据 类 型 用 于 以 下 这 些 情 况 :<br />

□ 当 一 个 字 段 接 受 一 定 数 量 的 合 法 值 时 。 例 如 , 假 设 一 个 数 据 池 列 为 测 试 脚 本本 名 为 “Color”<br />

变 量 提 供 数 据 。 该 变 量 为 服 务 器 提 供 定 购 的 产 品品 颜 色 。 如 果果 该 产 品品 只 有 红 , 绿 , 蓝 , 黄 ,<br />

和和 棕 这 几 种 颜 色 , 那 么 这 些 值 被 分 配 到到 “color” 列 中 。 标标 准 数 据 类 型 不 包包 含 这 些 确 切 的 值 。<br />

确 认 该 变 量 由 数 据 池 分 配 了 一 个 有 效 值 :<br />

i 在 你 创 建 数 据 池 之 前前 , 创 建 名 为 Colors 的 数 据 类 型 , 它 包包 含 5 个 相 应 值 (Red,Green,<br />

Blue, Yellow, Brown)<br />

ii 当 你 创 建 数 据 池 时 , 分 配 这 个 Colors 数 据 类 型 到到 数 据 池 列 COLOR。COLOR 列 将 为 测 试<br />

脚 本本 的 “color”( 颜 色 ) 变 量 提 供 值 。<br />

□ 当 你 需 要 生 成 多 字 节 字 符 的 数 据 时 , 比 如 那 些 使 用 的 外 文 字 符 集 。 更 多 的 信 息 , 参 阅 268<br />

页 Generating Multi-Byte Characters 的 内 容 。<br />

创 建 数 据 池 之 前前 , 搞 清 作 为 数 据 源 使 用 的 标标 准 数 据 类 型 和和 需 要 你 创 建 的 用 户 定 义 的 数 据 类 型 。<br />

虽 然 在 你 创 建 数 据 池 本本 身 的 同 时 来来 创 建 数 据 类 型 是 可 能 的 , 但 如 果果 你 首 先 创 建 的 是 用 户 定 义 的<br />

数 据 类 型 , 那 么 创 建 数 据 池 的 过 程 将 会 更 加 平 稳 。<br />

搞 清 你 需 要 的 数 据 类 型 (Finding Out Which Data Types You Need)<br />

确 定 是 否 要 分 配 一 个 标标 准 数 据 类 型 或 一 个 用 户 定 义 的 数 据 类 型 到到 数 据 池 的 每 一 列 , 你 需 要 了 解<br />

在 回 放 期 间 提 供 给 测 试 脚 本本 变 量 的 值 类 型 — 例 如 , 该 变 量 是 否 包包 含 姓 名 , 日 期 , 订 单 号 码 , 等<br />

等 。<br />

找 出 为 一 个 变 量 提 供 的 值 类 型 :<br />

● 在 VU 测 试 脚 本本 中 , 查查 看 测 试 脚 本本 的 DATAPOOL_CONFIG 部 分 。( 在 录 制 期 间 ,Robot 自 动 地<br />

添 加 该 信 息 到到 一 个 VU 测 试 脚 本本 中 , 前前 提 是 你 在 Session Record Options 对 话 框 的 Generator 标标<br />

签 中 选 择 了 Use datapools。)<br />

DATAPOOL_CONFIG 部 分 在 录 制 期 间 包包 含 一 行 数 据 值 , 这 些 值 被 分 配 到到 一 个 测 试 脚 本本 变 量 。<br />

在 下 面 的 例 子 中 , 值 329781 被 分 配 到到 变 量 CUSTID:<br />

INCLUDE, "CUSTID", "string", "329781"<br />

有 关 测 试 脚 本本 DATAPOOL_CONFIG 部 分 , 参 阅 Using Rational Robot 手 册 。<br />

创 建 用 户 定 义 的 数 据 类 型 (Creating User-Defined Data Types)<br />

如 果果 标标 准 数 据 类 型 不 能 为 一 个 测 试 脚 本本 变 量 提 供 正 确 的 值 类 型 , 那 么 你 可 以 创 建 一 个 用 户 定 义


51Testing 软 件 测 试 网<br />

的 数 据 类 型 。<br />

创 建 一 个 用 户 定 义 的 数 据 类 型 :<br />

● 点 击 Tools > Manage > Data Types, 并 点 击 New。<br />

当 你 创 建 一 个 用 户 定 义 的 数 据 类 型 时 , 它 被 罗 列 在 Datapool Specification 对 话 框 ( 你 定 义 数 据 池<br />

列 的 地 方 ) 的 Type 栏栏 中 。Type 也 包包 括 所 有 的 标标 准 类 型 的 名 称 。 用 户 定 义 的 数 据 类 型 在 该 列 表<br />

中 有 一 个 星 号 (*) 标标 志 。<br />

注 意 事 项 : 你 可 以 指 定 数 据 由 一 个 标标 准 数 据 类 型 到到 一 个 用 户 定 义 的 数 据 类 型 。 有 关 信 息 , 参 阅<br />

280 页 Editing User-Defined Data Type Definitions 的 内 容 。<br />

由 用 户 定 义 的 数 据 类 型 生 成 唯 一 值 (Generating Unique Values from<br />

User-Defined Data Types)<br />

在 回 放 期 间 , 你 可 能 希 望 一 个 用 户 定 义 数 据 类 型 为 测 试 脚 本本 变 量 提 供 唯 一 的 值 。 要 这 样 做 , 该<br />

用 户 定 义 的 数 据 类 型 必 须 包包 含 唯 一 值 。<br />

此 外 , 当 你 在 Datapool Specification 对 话 框 中 定 义 该 数 据 池 时 , 使 以 下 针 对 数 据 列 的 设 置 关 联 到到<br />

用 户 定 义 的 数 据 类 型 :<br />

● 设 置 Sequence 为 “Sequential” ( 连 续 的 )。<br />

● 设 置 Repeat 为 1。<br />

● 确 认 No. of records to generate 值 在 你 的 用 户 定 义 数 据 类 型 中 不 超 过 唯 一 值 的 数 目 。<br />

有 关 在 对 话 框 中 设 置 值 的 信 息 , 参 阅 271 页 Defining Datapool Columns 的 内 容 。<br />

生 成 多 字 节 字 符 (Generating Multi-Byte Characters)<br />

如 果果 你 希 望 在 你 的 数 据 池 中 包包 含 有 多 字 节 字 符 ( 例 如 , 要 支 持 日 语 或 其 他 的 包包 含 了 多 字 节 字 符<br />

的 语 言 ), 你 可 以 用 下 面 的 这 些 方 法 的 任 一 个 来来 实 现 :


51Testing 软 件 测 试 网<br />

● 通 过 一 个 用 户 定 义 的 数 据 类 型 。 有 关 信 息 , 参 阅 266 页 Creating User-Defined Data Types 的 内<br />

容 。<br />

编 辑 器 为 用 户 定 义 的 数 据 提 供 全 面 的 支 持 Input Method Editor( 输 入 法 编 辑 器 ) 的 操 作 。IME<br />

使 你 可 以 由 标标 准 的 键 盘 输 入 多 字 节 字 符 , 比 如 Kanji 和和 Katakana 字 符 , 以 及 多 字 节 的 ASCII。IME<br />

包包 含 了 Microsoft Windows 的 日 语 版 本本 。<br />

● 通 过 从 文 件 数 据 类 型 中 读 取 。 有 关 信 息 , 参 阅 288 页 Creating a Column of Values Outside<br />

Rational Test 的 内 容 。<br />

数 据 池 的 管 理 (Managing Datapools)<br />

由 Manage Datapools 来来 管 理 数 据 池 。 在 这 个 对 话 框 中 执 行 的 活 动 影 响响 在 当 前前 datastore 中 的 数 据 池<br />

的 存 储 。 有 关 数 据 池 存 储 地 方 的 信 息 , 参 阅 278 页 Datapool Location 的 内 容 。<br />

创 建 一 个 数 据 池 (Creating a Datapool)<br />

在 使 用 TestManager 创 建 数 据 池 时 , 你 必 须 说 明 以 下 的 内 容 :<br />

● 该 数 据 池 的 名 称 和和 描 述 .<br />

选 择 一 个 可 达 40 个 字 符 的 名 称 。 当 一 个 描 述 为 可 选 的 时 , 输 入 1 可 以 帮 助 你 指 明 该 数 据 池 的 目<br />

的 。 数 据 池 的 描 述 最 多 可 达 255 个 字 符 。<br />

● 列 名 .<br />

数 据 池 的 列 也 被 称 为 字 段 。 在 VU 测 试 脚 本本 中 , 数 据 池 的 列 名 必 须 与 测 试 脚 本本 变 量 的 名 称 相 匹<br />

配 。<br />

名 称 是 用 例 敏 感 的 (case-sensitive)。<br />

● 每 一 个 数 据 池 列 的 数 据 类 型 和和 属 性 .<br />

有 关 定 义 数 据 池 列 属 性 的 信 息 , 参 阅 271 页 Defining Datapool Columns 的 内 容 。


51Testing 软 件 测 试 网<br />

● 产 生 记 录 的 数 目 。<br />

创 建 并 自 动 地 填 充 一 个 数 据 池 :<br />

● 点 击 Tools > Manage > Datapools, 并 点 击 New。<br />

如 果果 存 在 错 误 (If There Are Errors)<br />

如 果果 该 数 据 池 的 值 没 有 被 成 功 地 生 成 , 那 么 TestManager 会 询 问 你 是 否 希 望 查查 看 一 个 错 误 报 告告 ,<br />

而 不 是 一 个 生 成 数 据 的 摘 要 。 查查 看 这 个 报 告告 , 可 以 帮 助 你 确 定 数 据 池 字 段 中 有 哪哪 些 需 要 改 正 。<br />

要 查查 看 一 个 错 误 报 告告 , 在 TestManager 询 问 你 是 否 需 要 查查 看 一 个 错 误 报 告告 或 者 摘 要 数 据 的 时 候 ,<br />

点 击 Yes。<br />

查查 看 数 据 池 的 值 (Viewing Datapool Values)<br />

如 果果 一 个 数 据 池 包包 含 了 复 杂 的 值 ( 例 如 , 嵌 套 字 符 串 , 或 字 段 分 隔 符 等 包包 含 在 数 据 池 值 中 字 符 ),<br />

你 应 该 查查 看 数 据 池 的 值 , 以 确 保 该 数 据 池 的 内 容 是 你 所 期 望 的 。<br />

要 查查 看 产 生 的 值 :<br />

● 在 Manage Datapools 对 话 框 中 , 选 择 你 刚 才 创 建 的 这 个 数 据 池 , 点 击 Edit, 然 后 点 击 Edit<br />

Datapool Data。


51Testing 软 件 测 试 网<br />

使 数 据 池 可 用 于 一 个 测 试 脚 本本 (Making the Datapool Available to a Test Script)<br />

对 于 一 个 可 以 访 问 数 据 池 的 测 试 脚 本本 而 言 , 该 测 试 脚 本本 必 须 包包 含 数 据 池 命命 令 , 比 如 打 开 数 据 池<br />

和和 检 索 数 据 值 的 命命 令 。VU 测 试 脚 本本 也 必 须 含 有 DATAPOOL_CONFIG。<br />

你 可 以 添 加 数 据 池 命命 令 和和 DATAPOOL_CONFIG 到到 一 个 测 试 脚 本本 , 当 然 , 这 可 以 是 在 你 用<br />

TestManager 创 建 这 个 数 据 池 之 前前 或 者 之 后 。 有 关 在 录 制 期 间 自 动 地 添 加 数 据 池 命命 令 和和<br />

DATAPOOL_CONFIG 到到 一 个 测 试 脚 本本 中 的 信 息 , 参 阅 Using Rational Robot 手 册 。<br />

定 义 数 据 池 的 列 (Defining Datapool Columns)<br />

使 用 下 表 , 可 帮 助 你 在 Datapool Specification 对 话 框 中 定 义 数 据 池 列 :


51Testing 软 件 测 试 网


51Testing 软 件 测 试 网


51Testing 软 件 测 试 网<br />

表 格 列<br />

描 述<br />

Name 数 据 池 的 列 名 称 ( 它 对 应 于 测 试 脚 本本 变 量 )。<br />

如 果果 你 改 变 一 个 数 据 池 的 列 , 那 么 需 要 确 保 新 的 名 称 与 它 对 应 的 测 试 脚<br />

本本 变 量 的 所 有 实 例 相 匹 配 。<br />

如 果果 你 是 在 Rational Test 环 境 之 外 创 建 了 一 个 数 据 池 , 并 将 其 输 入 , 那 么<br />

TestManager 会 自 动 地 为 这 个 数 据 池 的 列 指 定 默 认 名 称 。 使 用 “Name” 将<br />

输 入 的 数 据 池 的 列 名 与 它 们 对 应 的 测 试 脚 本本 变 量 相 匹 配 。 名 称 是 用 例 敏<br />

感 的 (case--sensitive)。<br />

你 可 以 使 用 IME 在 数 据 池 字 段 名 中 输 入 多 字 节 字 符 。


51Testing 软 件 测 试 网<br />

Type<br />

标标 准 和和 用 户 定 义 的 数 据 类 型 为 Name 栏栏 中 的 数 据 池 列 提 供 值 。 用 户 定 义 的<br />

数 据 类 型 用 星 号 (*) 标标 示 。<br />

说 明 数 据 池 列 指 定 的 数 据 类 型 , 如 下 :<br />

● 选 择 一 个 标标 准 数 据 类 型 或 者 一 个 现 存 的 用 户 定 义 的 数 据 类 型 , 点 击 当<br />

前前 显 示 的 数 据 类 型 名 称 , 然 后 从 下 拉 列 表 中 选 择 新 的 数 据 类 型 :<br />

● 参 阅 附 录 B 有 关 标标 准 数 据 类 型 的 描 述 。<br />

● 如 果果 你 是 输 入 而 非 选 择 了 一 个 用 户 定 义 的 数 据 类 型 的 名 称 , 那 么 在 该<br />

用 户 定 义 的 数 据 类 型 输 入 名 称 之 前前 , 输 入 一 个 星 号 。 例 如 , 说 明 一 个<br />

用 户 定 义 的 数 据 类 型 MyData, 输 入 :<br />

*MyData<br />

● 要 创 建 一 个 新 的 用 户 定 义 的 数 据 类 型 , 在 字 段 中 输 入 该 数 据 类 型 的 名<br />

称 ( 不 带 星 号 ), 然 后 按 RETURN。 在 你 点 击 Yes 以 确 认 你 希 望 创 建 的<br />

用 户 定 义 的 数 据 类 型 之 后 ,Data Type Properties—Edit 对 话 框 出 现 。<br />

● 创 建 一 个 数 据 类 型 的 有 关 信 息 , 参 阅 266 页 Creating User-Defined Data<br />

Types 的 内 容 。<br />

Sequence<br />

在 Type 中 被 说 明 的 数 据 类 型 的 值 按 顺 序 被 写 入 数 据 池 列 。 可 从 下 拉 列 表<br />

中 选 择 这 些 选 项 :<br />

● Random( 随 机机 )-- 以 任 意 顺 序 将 数 字 与 字 母 的 值 写 入 数 据 池 列 。<br />

● Sequential( 顺 序 )-- 顺 序 地 写 入 数 值 ( 例 如 ,0,1,2……)。 对 于 小<br />

数 , 该 顺 序 是 按 照 可 能 的 最 低 位 增 加 ( 例 如 , 有 一 个 小 数 为 2 位 小 数 ,<br />

则 顺 序 值 是 0.00,0.01,0.02,……)。<br />

● Sequential 只 支 持 数 值 ( 包包 括 日 期 和和 时 间 值 ) 以 及 由 用 户 定 义 的 数 据 类<br />

型 产 生 的 值 。<br />

当 你 选 择 Sequential 时 , 你 要 指 定 一 个 最 小 和和 最 大 的 范 围 , 并 且 Interval<br />

( 间 隔 ) 必 须 大 于 0。<br />

● Unique( 唯 一 )-- 数 据 类 型 为 有 符 号 整 数 , 确 保 被 写 入 数 据 池 列 的 数 是<br />

唯 一 的 。 并 设 置 Repeat 为 1, 定 义 一 个 最 小 和和 最 大 的 范 围 。<br />

不 要 将 现 在 所 说 的 表 格 中 Random 和和 Sequential 设 置 与 Script 对 话 框 中<br />

ConfigureDatapool 的 Random 和和 Sequential 访 问 顺 序 相 混 淆 。Random 和和<br />

Sequential 设 置 决 定 了 数 据 池 创 建 时 , 值 被 写 入 到到 独 立 的 数 据 池 列 的 顺 序 。<br />

Random 和和 Sequential 访 问 顺 序 决 定 了 suite 执 行 时 , 虚 拟 测 试 者 访 问 数 据 池<br />

行 的 顺 序 。<br />

Repeat 一 个 给 定 值 出 现 在 一 个 数 据 池 列 中 的 次 数 。<br />

Repeat 不 能 被 设 置 为 0。<br />

要 使 整 数 值 唯 一 — 有 符 号 数 据 类 型 和和 用 户 定 义 的 数 据 类 型 , 设 置 Repeat<br />

为 1。 对 于 唯 一 整 数 — 有 符 号 , 并 设 置 Sequence 为 Sequential 或 Unique。<br />

当 定 义 唯 一 值 时 , 确 认 创 建 的 行 数 不 高 于 可 能 的 唯 一 值 的 范 围 。<br />

Length 在 数 据 池 列 中 能 达 到到 的 字 符 值 的 最 大 位 数 。 如 果果 数 据 池 列 包包 含 数 值 ,<br />

Length 说 明 了 能 够 达 到到 的 字 符 的 最 大 位 数 , 如 果果 有 的 话 , 其 中 还 包包 含 了<br />

小 数 点 和和 负 号 。


51Testing 软 件 测 试 网<br />

例 如 , 小 数 999.99, 它 的 长 度 设 置 为 6。<br />

而 对 于 小 数 -999.99, 它 的 长 度 设 置 为 7。<br />

Length 不 能 为 0。<br />

Decimals 说 明 小 数 位 浮 点 值 的 最 大 位 数 。 最 大 设 置 为 6 位 小 数 。<br />

Interval<br />

写 一 列 数 值 到到 数 据 池 列 。 该 序 列 按 照 你 设 置 的 间 隔 增 加 。 例 如 , 如 果果<br />

Interval 为 10, 则 数 据 池 列 包包 含 0,10,20, 等 。 如 果果 间 隔 为 10 , 小 数 为 2,<br />

则 该 数 据 池 的 列 包包 含 0.00,0.10,0.20, 等 。<br />

最 小 间 隔 为 1。 最 大 间 隔 为 999999。<br />

数 字 类 型 ( 包包 括 日 期 和和 时 间 ), 当 Sequence 被 设 置 为 Sequential, 并 且 你<br />

指 定 了 最 小 和和 最 大 的 范 围 ,Interval 必 须 大 于 0。<br />

Minimum<br />

只 有 数 值 ( 包包 括 日 期 和和 时 间 ) 使 用 Interval( 间 隔 )。<br />

指 定 数 值 的 最 低 范 围 。 例 如 , 如 果果 数 据 池 列 提 供 订 单 编 号 值 , 而 且 最 小<br />

可 能 的 订 单 编 号 为 10000, 设 置 Type 为 有 符 号 整 数 , 则 Minimum 为 10000,<br />

且 Maximum 为 最 大 可 能 的 订 单 编 号 。<br />

只 有 数 值 ( 包包 括 日 期 和和 时 间 ) 使 用 Minimum( 最 小 值 )。<br />

Maximum 说 明 数 值 的 最 大 范 围 。 例 如 , 如 果果 数 据 池 列 提 供 一 个 名 为 ounces( 盎 司 )<br />

的 变 量 值 , 设 置 Type 为 有 符 号 整 数 , 则 最 小 值 为 0, 最 大 值 为 16。<br />

只 有 数 值 ( 包包 括 日 期 和和 时 间 ) 使 用 Minimum( 最 大 值 )。<br />

Seed Rational Test 用 户 使 用 的 数 字 以 计 算 随 机机 值 。<br />

相 同 的 seed 数 字 一 般 会 导 致 相 同 的 随 机机 顺 序 。<br />

要 改 变 随 机机 顺 序 , 就 要 改 变 seed 数 字 。<br />

Data File 用 户 定 义 的 数 据 类 型 的 文 件 路 径 。 该 路 径 自 动 插 入 。 该 字 段 不 能 被 修 改 。<br />

数 据 类 型 文 件 被 保 存 在 项 目 的 Datatype 目 录 中 。<br />

你 不 能 直 接 地 修 改 这 些 文 件 。<br />

这 里 有 一 些 项 也 存 在 不 能 被 修 改 的 情 况 , 这 依 赖 于 你 选 择 的 数 据 类 型 。 例 如 , 如 果果 你 选 择 Names<br />

– First 的 数 据 类 型 , 那 么 你 就 不 能 修 改 Decimals,Interval, Minimum, 或 Maximum 等 项 。<br />

如 果果 你 为 有 符 号 整 数 的 数 据 类 型 生 成 了 唯 一 的 值 , 那 么 Length,Minimum,Maximum, 和和 No.<br />

of records to generate( 生 成 的 记 录 编 号 ) 必 须 是 相 容 的 ( 一 致 的 )。 例 如 , 如 果果 你 希 望 唯 一<br />

的 数 字 从 0 到到 999, 那 么 Length 设 置 为 1,Maximum 设 置 为 5000, 或 者 No. of records to<br />

generate( 生 成 的 记 录 编 号 ) 数 目 大 于 1000, 都 会 引 起 错 误 。<br />

注 意 事 项 : 你 可 以 使 用 IME 来来 输 入 多 字 节 字 符 , 但 它 只 能 被 输 入 到到 Name 列 中 。<br />

当 你 编 辑 其 他 列 时 ,IME 会 自 动 停 止 ( 不 可 用 )。<br />

例 1: 定 义 数 据 池 列 (Example of Datapool Column Definition)


51Testing 软 件 测 试 网<br />

假 设 你 希 望 录 制 顾 客 购 买 的 这 样 一 个 事 物 处 理 , 并 输 入 到到 数 据 库 中 。 在 录 制 期 间 , 你 向 客 户 端<br />

应 用 程 序 提 供 以 下 的 有 关 顾 客 的 基 本本 信 息 :<br />

● 顾 客 姓 名<br />

● 顾 客 的 ID<br />

● 信 用 卡 号 码<br />

● 信 用 卡 类 型<br />

● 信 用 卡 终 止 日 期<br />

在 你 录 制 了 这 个 测 试 脚 本本 之 后 , 创 建 数 据 池 。 在 Datapool Specification 对 话 框 中 定 义 该 数 据 池 的<br />

列 , 如 下 图 所 示 :<br />

以 下 是 一 些 你 选 择 的 该 数 据 池 的 列 :<br />

● fName 列 . 标标 准 数 据 类 型 Names – First, 为 这 个 数 据 池 列 提 供 男 性 和和 女 性 的 名 称 。<br />

● lName 列 . 标标 准 数 据 类 型 Names – Last, 为 这 个 数 据 池 列 提 供 姓 氏 。<br />

● custID 列 . 标标 准 的 有 符 号 整 数 型 , 为 该 数 据 池 列 提 供 ID 号 码 。 在 此 例 中 , 由 于 所 有 的 顾 客 ID<br />

号 码 都 是 7 位 数 字 , 所 以 Minimum 和和 Maximum 的 范 围 设 置 为 1000000 到到 9999999。 而 且 , 所 有<br />

ID 号 码 必 须 唯 一 , 所 以 Sequence 被 设 置 为 Unique( 唯 一 )。<br />

注 意 事 项 : 对 于 有 符 号 的 整 数 型 ,Sequence 只 能 设 置 为 Unique( 唯 一 )。<br />

● ccNum 列 . 有 符 号 的 整 数 型 , 生 成 为 多 达 9 位 的 数 字 。<br />

注 意 事 项 : 由 于 信 用 卡 号 码 包包 含 大 于 9 位 的 数 字 , 所 以 标标 准 数 据 类 型 Float( 浮 点 )X.XXX 常<br />

被 使 用 向 该 数 据 池 列 提 供 信 用 卡 号 码 。<br />

● Decimals 设 置 为 0, 仅 产 生 整 数 。Sequence 设 置 为 Random, 以 生 成 随 机机 的 信 用 卡 号 。 要 产


51Testing 软 件 测 试 网<br />

生 唯 一 的 号 码 ,Repeat 设 置 为 1。<br />

● ccType 列 . 这 是 仅 有 的 需 要 由 用 户 定 义 的 数 据 类 型 提 供 值 的 列 。 用 户 定 义 数 据 类 型 Credit<br />

Card Type 只 包包 含 4 个 值 —American Express,Discover,MasterCard 和和 Visa。<br />

● ccExpDate 列 . 标标 准 的 日 期 数 据 类 型 —MM/DD/YYYY, 向 数 据 池 的 该 列 提 供 信 用 卡 的 终 止 日<br />

期 。 有 效 的 终 止 日 期 范 围 设 置 为 :7 月 1 日 1998 到到 12 月 31 日 2002。Sequence 设 置 为 Random,<br />

以 产 生 随 机机 的 日 期 。<br />

例 2: 生 成 数 据 池 的 值 (Example of Datapool Value Generation)<br />

在 Datapool Specification 对 话 框 中 定 义 了 数 据 池 列 之 后 , 点 击 Generate Data 以 产 生 该 数 据 池 的<br />

值 。<br />

要 查查 看 你 生 成 的 值 :<br />

1 点 击 Close。<br />

2 点 击 Edit Datapool Data。<br />

你 将 看 到到 :<br />

编 辑 数 据 池 列 的 定 义 (Editing Datapool Column Definitions)<br />

Datapool Specification 对 话 框 允 许 你 定 义 并 编 辑 数 据 池 文 件 中 的 列 。 数 据 池 列 的 定 义 以 行 的 形 式<br />

罗 列 在 该 对 话 框 中 。<br />

数 据 池 列 也 被 称 为 “ 字 段 ”。<br />

要 编 辑 一 个 现 存 的 数 据 池 列 的 定 义 :


51Testing 软 件 测 试 网<br />

● 点 击 Tools > Manage > Datapools, 选 择 该 数 据 池 , 进 行 编 辑 , 然 后 点 击 Edit。<br />

当 你 完 成 数 据 池 列 的 编 辑 时 , 选 择 是 否 要 为 该 数 据 池 生 成 数 据 。<br />

查查 看 产 生 的 值 :<br />

● 在 Datapool Properties - Edit 对 话 框 中 , 点 击 Edit Datapool Data。<br />

如 果果 该 数 据 池 的 值 不 能 成 功 地 产 生 , 那 么 TestManager 会 询 问 你 是 否 希 望 查查 看 一 个 错 误 报 告告 。 查查<br />

看 该 错 误 报 告告 , 可 以 帮 助 你 确 定 需 要 更 正 的 该 数 据 池 的 字 段 。 要 查查 看 一 个 错 误 报 告告 , 在<br />

TestManager 询 问 你 是 否 需 要 查查 看 一 个 错 误 报 告告 或 摘 要 数 据 时 , 点 击 Yes。<br />

删 除 数 据 池 列 (Deleting a Datapool Column)<br />

数 据 池 列 的 定 义 以 行 的 形 式 罗 列 在 该 对 话 框 中 。 要 从 该 列 表 中 删 除 一 个 数 据 池 列 , 选 择 要 删 除<br />

的 行 , 并 按 删 除 键 。<br />

编 辑 数 据 池 的 值 (Editing Datapool Values)<br />

要 查查 看 或 编 辑 一 个 现 存 的 数 据 池 的 值 :<br />

● 点 击 Tools > Manage > Datapools, 选 择 该 数 据 池 , 进 行 编 辑 , 并 点 击 Edit。<br />

在 数 据 池 的 值 时 , 要 注 意 :<br />

□ 当 你 点 击 一 个 值 进 行 编 辑 时 , 一 个 箭 头 图 标标 会 出 现 在 你 正 在 编 辑 的 那 一 行 的 左 侧 。<br />

□ 当 你 开 始 编 辑 该 值 时 , 一 个 笔 状 图 标标 会 出 现 在 那 一 行 的 左 侧 , 指 明 编 辑 状 态 。<br />

□ 要 取 消 变 更 , 在 你 将 插 入 点 移 出 该 字 段 之 前前 , 按 CTRL + Z。<br />

□ 要 查查 看 编 辑 菜 单 , 选 择 文 本本 , 进 行 编 辑 , 然 后 点 击 鼠 标标 右 键 。<br />

□ 增 加 列 宽 , 移 动 单 个 的 列 名 竖 线 。<br />

□ 增 加 行 高 , 移 动 单 个 的 行 线 。<br />

有 关 TestManager 产 生 数 据 池 值 的 相 关 示 例 信 息 , 参 阅 275 页 Example of Datapool Value<br />

Generation 的 内 容 。<br />

重 命命 名 或 复 制 一 个 数 据 池 (Renaming or Copying a Datapool)<br />

当 你 重 命命 名 或 复 制 一 个 数 据 池 时 , 你 必 须 为 该 数 据 池 指 定 一 个 新 的 名 称 , 且 最 多 为 40 个 字 符 。<br />

重 命命 名 或 复 制 一 个 数 据 池 :<br />

● 点 击 Tools > Manage > Datapools。<br />

删 除 数 据 池 (Deleting a Datapool)


51Testing 软 件 测 试 网<br />

删 除 一 个 数 据 池 , 移 除 该 数 据 池 的 .csv 和和 .spc 文 件 , 以 及 所 有 的 从 datastore 而 来来 的 对 该 数 据 池 的<br />

参 照 。<br />

删 除 一 个 数 据 池 :<br />

● 点 击 Tools > Manage > Datapools。<br />

输 入 一 个 数 据 池 (Importing a Datapool)<br />

你 自 己 可 以 创 建 并 填 充 一 个 数 据 池 , 使 用 像 是 Microsoft Excel 这 样 的 工 具 。 例 如 , 你 可 能 希 望 从<br />

你 的 数 据 库 中 输 出 数 据 到到 一 个 .csv 文 件 中 , 然 后 使 用 这 个 文 件 作 为 你 的 数 据 池 。<br />

如 果果 你 自 己 创 建 了 一 个 数 据 池 , 那 么 你 需 要 输 入 它 到到 相 同 的 datastore 中 , 作 为 测 试 脚 本本 将 会 访 问<br />

的 数 据 池 。 你 可 以 使 用 TestManager 输 入 一 个 数 据 池 的 .csv 文 件 。<br />

当 你 输 入 一 个 数 据 池 时 , 你 经 常 会 去 改 变 该 数 据 池 的 列 名 , 以 使 其 与 对 应 的 测 试 脚 本本 变 量 相 匹<br />

配 。 更 多 的 信 息 , 参 阅 287 页 Matching Datapool Columns with Test Script Variables 的 内 容 。<br />

输 入 一 个 数 据 池 的 .csv 文 件 :<br />

● 点 击 Tools > Manage > Datapools, 然 后 点 击 Import。<br />

数 据 池 的 定 位 (Datapool Location)<br />

当 你 输 入 一 个 数 据 池 时 ,TestManager 复 制 该 数 据 池 的 .csv 文 件 , 使 Datapool 目 录 关 联 与 当 前前 的 项<br />

目 和和 datastore。<br />

例 如 , 如 果果 当 前前 项 目 为 MyProject, 且 当 前前 的 datastore 目 录 为 MyDatastore, 那 么 给 数 据 池 被 保 存<br />

在 下 面 的 目 录 中 :<br />

C:\MyProject\MyDatastore\DefaultTestScriptDatastore\TMS_Datapool<br />

该 目 录 也 包包 括 了 这 个 数 据 池 的 说 明 (.spc) 文 件 。 当 你 创 建 并 输 入 一 个 .csv 文 件 时 ,TestManager


51Testing 软 件 测 试 网<br />

会 自 动 地 为 你 创 建 .spc 文 件 。<br />

你 不 能 直 接 地 去 编 辑 这 个 .spc 文 件 。<br />

注 意 事 项 : 在 你 输 入 一 个 数 据 池 之 后 , 保 存 源 文 件 时 , 你 要 指 定 数 据 池 在 该 目 录 中 。Rational Test<br />

软 件 没 有 对 这 种 文 件 更 进 一 步 的 需 求 。<br />

从 另 一 个 项 目 输 入 一 个 数 据 池 (Importing a Datapool from Another Project)<br />

你 可 以 使 用 TestManager 的 Import 特 点 , 来来 复 制 一 个 你 为 另 一 个 项 目 创 建 的 数 据 池 。 当 你 输 入 一<br />

个 数 据 池 到到 一 个 新 项 目 时 , 源 数 据 池 对 于 原 项 目 依 然 是 可 用 的 。<br />

输 入 一 个 数 据 池 到到 一 个 新 的 项 目 中 :<br />

● 点 击 Tools > Manage > Datapools, 然 后 点 击 Import。<br />

注 意 事 项 : 如 果果 该 数 据 池 中 包包 括 了 用 户 定 义 的 数 据 类 型 , 那 么 要 在 输 入 该 数 据 池 之 前前 输 入 该 数<br />

据 类 型 。 有 关 信 息 , 参 阅 281 页 Importing a User-Defined Data Type 的 内 容 。<br />

输 出 一 个 数 据 池 (Exporting a Datapool)<br />

你 可 以 使 用 TestManager 的 Export 特 点 , 来来 复 制 一 个 数 据 池 到到 任 意 的 目 录 下 , 当 然 是 符 合 你 的 计<br />

算 机机 的 目 录 结 构构 的 。 当 你 输 出 一 个 数 据 池 时 , 源 数 据 池 会 留 在 他 的 项 目 和和 datastore 中 。<br />

不 要 试 图 输 出 一 个 数 据 池 到到 另 一 个 Rational Test 项 目 中 。 相 反 的 , 使 用 import 特 点 可 以 输 入 该 数<br />

据 池 到到 一 个 新 的 项 目 中 。 更 多 的 信 息 , 参 阅 278 页 Importing a Datapool 的 内 容 。<br />

在 你 的 计 算 机机 上 输 出 一 个 数 据 池 :<br />

● 点 击 Tools > Manage > Datapools。<br />

对 用 户 定 义 数 据 类 型 的 管 理 (Managing User-Defined Data<br />

Types)<br />

使 用 TestManager 管 理 用 户 定 义 的 数 据 类 型 。 你 可 以 编 辑 数 据 类 型 的 值 和和 数 据 类 型 的 定 义 。 也 可<br />

以 重 命命 名 , 复 制 , 和和 删 除 数 据 类 型 。<br />

有 关 创 建 用 户 定 义 的 数 据 类 型 的 信 息 , 参 阅 264 页 Data Types 的 内 容 。<br />

编 辑 用 户 定 义 数 据 类 型 的 值 (Editing User-Defined Data Type Values)<br />

如 果果 你 希 望 添 加 , 移 除 , 或 者 修 改 数 据 类 型 的 值 , 或 者 只 想 修 改 可 选 的 描 述 , 编 辑 该 数 据 类 型 。<br />

你 只 能 编 辑 用 户 定 义 的 数 据 类 型 , 而 不 是 标标 准 的 数 据 类 型 。<br />

编 辑 一 个 用 户 定 义 的 数 据 类 型 :


51Testing 软 件 测 试 网<br />

● 点 击 Tools > Manage > Data Types。<br />

编 辑 用 户 定 义 数 据 类 型 的 定 义 (Editing User-Defined Data Type Definitions)<br />

如 同 所 有 的 数 据 类 型 一 样 , 一 个 用 户 定 义 的 数 据 类 型 是 一 种 重 要 的 单 列 数 据 池 。 这 个 单 列 包包 含<br />

了 你 输 入 到到 该 用 户 定 义 的 数 据 类 型 中 的 值 。<br />

你 可 以 在 Datapool Specification 对 话 框 中 编 辑 数 据 类 型 列 的 默 认 定 义 , 就 如 同 你 编 辑 数 据 池 列 的<br />

默 认 属 性 一 样 。<br />

如 果果 你 编 辑 一 个 用 户 定 义 的 数 据 类 型 的 定 义 , 然 后 为 该 类 型 产 生 值 , 那 么 你 需 要 覆 盖 该 类 型 的<br />

所 有 已 存 在 的 值 。<br />

编 辑 一 个 用 户 定 义 的 数 据 类 型 :<br />

● 点 击 Tools > Manage > Data Types。<br />

你 也 可 以 给 一 个 用 户 定 义 的 数 据 类 型 添 加 值 , 通 过 向 其 提 供 来来 自 一 个 标标 准 数 据 类 型 的 值 。 通 过<br />

TestManager 自 动 产 生 的 值 , 可 以 减 少 手 工 的 输 入 量 。<br />

例 如 , 假 设 你 希 望 创 建 包包 含 一 个 有 效 产 品品 ID 号 的 用 户 定 义 的 数 据 类 型 。 这 个 有 效 的 ID 号 码 的 范<br />

围 是 1000001 到到 1000100。<br />

然 而 , 在 这 里 的 第 四 位 和和 第 五 位 之 间 存 在 一 个 “-”( 破 折 ) 号 。<br />

而 不 是 输 入 所 有 的 100 个 号 码 , 需 要 加 上 破 折 号 , 你 可 以 用 TestManager 生 成 这 些 号 码 并 指 定 他<br />

们 为 一 个 用 户 定 义 的 数 据 类 型 。 然 后 , 你 可 以 编 辑 该 数 据 类 型 的 值 和和 每 一 个 ID 号 。<br />

在 你 选 择 了 自 动 生 成 值 的 同 时 , 你 必 须 说 明 TestManager 在 生 成 数 据 时 使 用 的 引 导 值 。 这 些 值 包包<br />

括 :<br />

● Type = Integers – Signed( 有 符 号 整 数 )<br />

● Sequence = Sequential( 连 续 的 )<br />

● Repeat = 1<br />

● Length = 7<br />

● Interval = 1<br />

● Minimum = 1000001<br />

● Maximum = 1000100<br />

● No. of records to generate<br />

注 意 事 项 : 你 也 可 以 指 定 标标 准 数 据 类 型 Read From File 到到 一 个 用 户 定 义 的 数 据 类 型 。 有 关 使 用<br />

Read From File 数 据 类 型 的 信 息 , 参 阅 288 页 Creating a Column of Values Outside Rational Test 的 内<br />

容 。<br />

输 入 一 个 用 户 定 义 的 数 据 类 型 (Importing a User-Defined Data Type)


51Testing 软 件 测 试 网<br />

你 可 以 从 一 个 项 目 输 入 一 个 用 户 定 义 的 数 据 类 型 到到 另 一 个 中 去 。 当 你 输 入 一 个 用 户 定 义 的 数 据<br />

类 型 到到 一 个 新 的 项 目 中 去 时 , 源 数 据 类 型 依 然 适 用 于 原 项 目 。<br />

输 入 一 个 用 户 定 义 的 数 据 类 型 到到 一 个 新 的 项 目 中 :<br />

● 点 击 Tools > Manage > Test Input Types。<br />

重 命命 名 或 复 制 一 个 用 户 定 义 的 数 据 类 型 (Renaming or Copying a User-Defined<br />

Data Type)<br />

当 你 重 命命 名 或 者 复 制 一 个 用 户 定 义 的 数 据 类 型 时 , 你 必 须 为 该 数 据 类 型 指 定 一 个 新 的 名 称 , 最<br />

多 可 达 40 个 字 符 。<br />

重 命命 名 或 复 制 一 个 用 户 定 义 的 数 据 类 型 :<br />

● 点 击 Tools > Manage > Data Types。<br />

删 除 一 个 用 户 定 义 的 数 据 类 型 (Deleting a User-Defined Data Type)<br />

在 TestManager 中 删 除 一 个 用 户 定 义 的 数 据 类 型 :<br />

● 点 击 Tools > Manage > Data Types。<br />

生 成 并 检 索 唯 一 的 数 据 池 行 (Generating and Retrieving<br />

Unique Datapool Rows)<br />

很 多 的 数 据 库 测 试 工 作 , 最 好 每 行 有 唯 一 的 测 试 数 据 。 例 如 , 如 果果 一 个 测 试 包包 含 的 虚 拟 测 试 者<br />

是 添 加 顾 客 的 定 购 信 息 到到 数 据 库 , 那 么 每 一 个 定 购 应 该 是 唯 一 的 — 换 句 话 说 , 在 新 记 录 中 至 少<br />

有 一 个 字 段 是 必 须 是 一 个 “ 键 ” 字 段 , 它 具 有 唯 一 的 数 值 。<br />

当 你 在 Datapool Specification 对 话 框 中 定 义 数 据 池 列 时 , 说 明 一 个 给 定 的 数 据 池 列 是 否 应 该 包包 含<br />

唯 一 的 数 值 。 如 果果 你 指 定 一 个 或 者 多 于 一 个 的 数 据 池 列 包包 含 唯 一 的 数 值 , 那 么 这 个 由 Rational


51Testing 软 件 测 试 网<br />

Test 软 件 产 生 的 数 据 池 保 证 会 包包 含 唯 一 的 行 。<br />

然 而 , 即 便 是 一 个 数 据 池 包包 含 了 全 部 的 唯 一 行 , 它 在 一 个 测 试 脚 本本 执 行 时 , 也 有 可 能 为 其 提 供<br />

重 复 的 行 。<br />

生 成 和和 检 索 唯 一 的 数 据 池 行 , 你 需 要 在 你 定 义 该 数 据 池 时 执 行 一 些 简 单 的 工 作 。<br />

在 数 据 池 被 单 个 的 或 者 多 个 测 试 脚 本本 ( 包包 含 VU 和和 GUI 测 试 脚 本本 ) 访 问 时 , 使 用 下 面 的 引 导 规 则 。<br />

保 证 唯 一 行 的 检 索 (What You Can Do to Guarantee Unique Row Retrieval)<br />

确 保 一 个 数 据 池 为 测 试 脚 本本 在 执 行 时 提 供 唯 一 的 ( 数 据 ) 行 , 可 参 照 这 些 引 导 规 则 :


51Testing 软 件 测 试 网<br />

What to do<br />

( 做 什 么 )<br />

指 定 最 少 一 列 的<br />

唯 一 数 据 .<br />

How to do it<br />

( 怎 么 做 )<br />

在 Datapool Specification 对 话 框 中 , 指 定 最 少 一 个 数 据 池 列 应<br />

包包 含 唯 一 的 数 据 。 唯 一 数 据 可 以 通 过 有 符 号 整 数 类 型 ,Read<br />

From File 数 据 类 型 , 和和 用 户 定 义 的 数 据 类 型 提 供 。<br />

有 符 号 整 数 类 型 中 , 需 要 进 行 这 些 活 动 :<br />

● 设 置 Sequence 为 Unique 或 Sequential。<br />

● 设 置 Repeat 为 1。<br />

● 如 果果 Sequence=Unique, 设 置 一 个 合 适 的 最 小 和和 最 大 的 范<br />

围 。<br />

● 确 认 值 的 Length( 长 度 ), 确 保 NO. of records to generate<br />

( 产 生 的 记 录 号 码 ) 适 合 产 生 的 数 字 集 。<br />

Read From File 数 据 类 型 , 参 阅 289 页 Generating Unique<br />

Values 的 内 容 。<br />

用 户 定 义 的 数 据 类 型 , 参 阅 267 页 Generating Unique Value<br />

from User-Defines Data Types 的 内 容 。


51Testing 软 件 测 试 网<br />

生 成 足 够 的 数 据<br />

池 行 .<br />

生 成 至 少 和和 测 试 期 间 访 问 该 数 据 池 的 次 数 一 样 多 的 唯 一 的<br />

数 据 池 行 。<br />

例 如 , 如 果果 一 个 测 试 中 , 有 50 个 虚 拟 测 试 者 将 访 问 一 个 数 据<br />

池 , 并 且 每 个 虚 拟 测 试 者 被 设 置 为 3 次 迭 代 , 那 么 该 数 据 池<br />

必 须 包包 含 至 少 150 行 。<br />

在 Datapool Specification 对 话 框 的 NO. of records to generate<br />

( 产 生 的 记 录 号 码 ) 区 段 中 指 定 生 成 的 行 的 数 目 。<br />

禁 用 游 标标 环 绕 .<br />

如 果果 数 据 池 的 游 标标 在 该 数 据 池 的 最 后 一 行 被 访 问 后 发 生 环<br />

绕 , 那 么 先 前前 检 索 的 行 会 被 再 次 检 索 。<br />

用 以 下 的 方 法 可 禁 用 游 标标 环 绕 :<br />

● 当 你 在 Script 对 话 框 Configure Datapool 中 编 辑 一 个 VU 测 试<br />

脚 本本 的 DATAPOOL_CONFIG 部 分 时 , 将 Wrap at end of<br />

file? 设 置 为 NO。<br />

● 在 Robot 中 编 辑 一 个 VU 测 试 脚 本本 时 , 给<br />

DATAPOOL_CONFIG 语 句 或 datapool_open 函 数 的 flags 变<br />

量 的 列 表 中 添 加 DP_NOWRAP。<br />

● 在 Robot 中 编 辑 一 个 GUI 测 试 脚 本本 时 , 设 置<br />

SQADatapoolOpen 命命 令 的 wrap 语 句 为 False。<br />

使 用 senquential<br />

或 shuffle 访 问 顺<br />

序 .<br />

利 用 senquential 或 shuffle 访 问 顺 序 , 每 一 个 数 据 池 行 刚 好 每 次<br />

参 照 该 行 的 访 问 顺 序 。 当 最 后 一 行 被 检 索 时 , 该 数 据 池 的 游<br />

标标 会 发 生 环 绕 或 者 数 据 池 的 访 问 结 束束 。<br />

利 用 random( 随 机机 ) 访 问 , 行 可 以 在 访 问 顺 序 中 被 多 次 参 照 。<br />

因 此 , 一 个 给 定 的 行 可 以 被 多 次 检 索 。<br />

你 可 以 用 以 下 的 任 一 方 法 设 置 行 访 问 顺 序 :<br />

● 当 你 在 Script 对 话 框 Configure Datapool 中 编 辑 一 个 VU 测 试<br />

脚 本本 的 DATAPOOL_CONFIG 部 分 时 , 设 置 Access Order<br />

为 Senquential 或 Shuffle。<br />

● 在 Robot 中 编 辑 一 个 VU 测 试 脚 本本 时 , 给<br />

DATAPOOL_CONFIG 语 句 或 datapool_open 函 数 的 flags 变<br />

量 的 列 表 中 添 加 DP_SEQUENTIAL 或 DP_SHUFFLE。<br />

● 在 Robot 中 编 辑 一 个 GUI 测 试 脚 本本 时 , 设 置<br />

SQADatapoolOpen 命命 令 的 sequence 语 句 为<br />

SQA_DP_SEQUENTIAL 或 SQA_DP_SHUFFLE。<br />

不 要 在 测 试 期 间<br />

重 绕 游 标标 .<br />

如 果果 你 在 测 试 期 间 重 绕 数 据 池 的 游 标标 ( 通 过 VU 的<br />

datapool_rewind 函 数 或 SQABasic 的 SQADatapoolRewind 命命<br />

令 ), 那 么 先 前前 访 问 的 行 将 会 被 再 次 检 索 。<br />

注 意 事 项 :Rational Test 可 以 保 证 一 个 数 据 池 在 通 过 Robot 或 者 TestManager 产 生 数 据 的 时 候 包包 含<br />

有 唯 一 的 行 。


51Testing 软 件 测 试 网<br />

在 Rational Test 外 创 建 数 据 池 ( Creating a Datapool<br />

Outside Rational Test)<br />

创 建 一 个 数 据 池 文 件 并 填 充 数 据 , 你 可 以 使 用 任 意 的 文 本本 编 辑 器 , 比 如 Windows Notepad, 或 者<br />

任 意 的 应 用 程 序 , 比 如 Microsoft Excel 或 Microsoft Access, 可 以 保 存 为 .csv 格 式 。<br />

例 如 , 你 可 以 创 建 一 个 数 据 池 文 件 , 并 输 入 数 据 , 可 以 一 行 一 行 的 输 入 , 一 个 值 一 个 值 的 输 入 。<br />

或 者 , 你 可 以 从 你 的 数 据 库 中 将 数 据 输 出 到到 一 个 .csv 文 件 中 , 当 然 这 个 文 件 是 由 像 Excel 这 样 的<br />

工 具 创 建 的 。<br />

在 你 创 建 并 填 充 了 一 个 数 据 池 之 后 , 你 可 以 使 用 TestManager 将 该 数 据 池 输 入 到到 datastore。 有 关<br />

输 入 一 个 数 据 池 的 信 息 , 参 阅 278 页 Importing a Datapool 的 内 容 。<br />

数 据 池 的 结 构构 (Datapool Structure)<br />

一 个 数 据 池 保 存 为 一 个 文 本本 文 件 , 扩 展 名 为 .csv。 该 文 件 有 下 列 的 特 征 :<br />

● 每 一 行 包包 含 一 个 记 录 。<br />

● 每 一 个 记 录 包包 含 由 一 个 字 段 分 隔 符 分 隔 的 字 段 值 。 任 意 字 符 可 以 被 使 用 来来 作 为 字 段 分 隔 符 。<br />

以 下 是 一 些 常 见 的 字 段 分 隔 符 :<br />

□ 逗 号 (,)。 在 U.S 和和 U.K 中 是 典 型 的 默 认 符 号 。<br />

□ 分 号 (;)。 在 大 多 数 的 其 他 国 家 中 是 典 型 的 默 认 符 号 。<br />

□ 冒 号 (:)。<br />

□ 竖 线 (|)。<br />

□ 斜 线 (/)。<br />

● 数 据 池 文 件 中 的 每 一 列 都 包包 含 数 据 池 字 段 值 的 一 个 列 表 。<br />

● 字 段 值 可 以 包包 含 间 隔 。<br />

● 如 果果 该 值 在 双 引 号 中 , 那 么 这 个 单 值 可 包包 含 一 个 分 隔 符 。 例 如 ,“Jones, Robert” 在 记 录 中 是<br />

一 个 单 值 , 而 不 是 两 个 。<br />

引 号 只 能 使 用 在 该 值 被 保 存 在 数 据 池 文 件 中 时 。 引 号 不 是 这 个 值 的 一 部 分 。<br />

● 一 个 单 值 可 包包 含 嵌 入 的 字 符 串 。 例 如 ,“Jones, Robert“Bob”” 在 记 录 中 是 一 个 单 值 , 而 不<br />

是 两 个 。<br />

● 每 一 个 记 录 以 换 行 结 束束 。<br />

● 数 据 池 的 列 名 被 保 存 在 .spc 文 件 中 。(Robot 和和 TestManager 编 辑 .spc 文 件 。 不 能 直 接 编 辑 .spc


51Testing 软 件 测 试 网<br />

文 件 。)<br />

● 保 存 在 datastore 中 的 数 据 池 名 称 是 与 根 (root) 数 据 池 名 相 同 的 ( 无 .csv 扩 展 )。 数 据 池 名 称<br />

的 最 大 长 度 为 40 个 字 符 。<br />

例 子 (Example Datapool)<br />

下 面 是 一 个 含 有 3 行 数 据 的 数 据 池 文 件 的 例 子 。 在 这 个 例 子 中 , 字 段 值 通 过 逗 号 分 隔 开 :<br />

John,Sullivan,238 Tuckerman St,Andover,MA,01810<br />

Peter,Hahn,512 Lewiston Rd,Malden,MA,02148<br />

Sally,Sutherland,8 Upper Woodland Highway,Revere,MA,02151<br />

使 用 Microsoft Excel 创 建 数 据 池 (Using Microsoft Excel to Create Datapool Data)<br />

当 你 使 用 Microsoft Excel 来来 填 充 一 个 数 据 池 时 , 不 要 使 用 285 页 的 Windows 分 隔 符 来来 分 隔 值 。Excel<br />

在 你 将 该 数 据 池 保 存 为 .csv 格 式 的 时 候 , 自 动 地 插 入 分 隔 符 。<br />

使 用 Microsoft Excel 创 建 并 填 充 一 个 数 据 池 :<br />

● 点 击 File > New 创 建 一 个 新 的 Excel 工 作 簿 。<br />

下 面 的 例 子 就 是 在 Microsoft Excel 中 被 看 作 的 填 充 数 据 :<br />

● 每 一 列 表 示 一 个 字 段 。<br />

● 每 一 行 作 为 一 个 独 立 的 数 据 池 纪 录 包包 含 了 数 据 池 字 段 的 值 。<br />

在 Excel 中 保 存 数 据 池 (Saving the Datapool in Excel)<br />

当 你 完 成 对 数 据 池 行 值 的 添 加 时 , 可 将 该 数 据 池 保 存 为 .csv 格 式 。<br />

使 用 Microsoft Excel 保 存 一 个 数 据 池 文 件 :<br />

● 点 击 File > Save As。<br />

注 意 事 项 : 不 要 在 datastore 中 指 定 该 数 据 池 的 目 录 。 当 你 迟 些 时 候 使 用 TestManager 的 Import 特<br />

性 输 入 该 数 据 池 时 ,TestManager 自 动 地 复 制 该 数 据 池 到到 当 前前 项 目 和和 datastore 中 的 Datapool 目 录<br />

中 。<br />

如 果果 使 用 Windows Notepad 打 开 你 刚 刚 创 建 并 保 存 了 的 数 据 池 , 那 么 可 以 看 到到 :


51Testing 软 件 测 试 网<br />

使 数 据 池 的 列 与 测 试 脚 本本 变 量 相 匹 配 (Matching Datapool Columns with Test<br />

Script Variables)<br />

当 你 创 建 一 个 .csv 文 件 并 将 其 作 为 一 个 数 据 池 输 入 时 ,TestManager 自 动 地 为 数 据 池 的 每 一 列 指<br />

定 列 名 ( 也 就 是 数 据 池 的 字 段 名 )。<br />

数 据 池 的 列 名 必 须 与 提 供 数 据 ( 包包 括 一 个 case 对 ) 的 测 试 脚 本本 变 量 相 匹 配 。 但 最 为 可 能 是 , 当<br />

你 创 建 并 输 入 一 个 数 据 池 时 ,TestManager 指 定 的 列 名 不 会 与 测 试 脚 本本 变 量 关 联 的 名 称 相 匹 配 。<br />

因 此 , 你 需 要 在 输 入 该 数 据 池 时 编 辑 由 TestManager 自 动 指 定 的 列 名 。 你 可 以 这 样 做 , 在 Datapool<br />

Specification 对 话 框 中 修 改 一 列 的 Name 值 。<br />

在 数 据 池 编 辑 时 如 何 打 开 Datapool Specification 对 话 框 , 请 参 阅 Editing Datapool Column<br />

Definitions 276 页 的 内 容 。<br />

输 入 列 的 最 大 数 目 (Maximum Number of Imported Columns)<br />

你 可 以 输 入 一 个 含 有 32,768 列 的 数 据 池 。 如 果果 你 在 Datapool Specification 对 话 框 中 打 开 一 个 输 入<br />

的 数 据 池 , 那 么 你 可 以 查查 看 并 编 辑 所 有 的 数 据 池 的 列 定 义 , 可 达 到到 它 的 列 数 目 的 上 限 。<br />

一 个 数 据 池 如 果果 是 由 Datapool Specification 对 话 框 产 生 数 据 的 话 , 那 么 只 有 一 个 150 例 的 限 制 。<br />

在 Rational Test 之 外 创 建 列 值 (Creating a Column of<br />

Values Outside Rational Test)<br />

利 用 Rational Test 创 建 的 数 据 池 包包 含 了 通 过 一 个 ASCII 文 本本 文 件 提 供 的 列 值 。 你 可 以 使 用 这 种 特<br />

性 , 例 如 , 如 果果 你 希 望 该 数 据 池 含 有 来来 自 一 个 数 据 库 的 列 值 。<br />

从 一 个 外 部 文 件 填 充 一 个 数 据 池 , 需 要 两 个 基 本本 步 骤 :<br />

1 创 建 含 有 值 的 文 件 。<br />

2 通 过 标标 准 数 据 类 型 Read From File 将 该 文 件 的 值 指 定 到到 一 个 数 据 池 列 。


51Testing 软 件 测 试 网<br />

步 骤 1. 创 建 文 件 (Step 1. Create the File)<br />

如 果果 你 希 望 使 用 一 个 文 件 作 为 数 据 池 列 的 数 据 源 , 那 么 该 文 件 必 须 是 一 个 标标 准 的 ASCII 文 本本 文<br />

件 。 该 文 件 必 须 包包 含 一 单 个 的 列 值 , 且 每 一 个 值 通 过 回 车 结 束束 。<br />

你 可 以 用 自 己 喜 欢 的 任 意 方 法 来来 创 建 这 个 文 件 — 例 如 , 你 可 以 下 面 的 这 些 方 法 :<br />

● 用 Microsoft Notepad 输 入 列 表 的 值 。<br />

● 从 一 个 数 据 库 输 出 一 列 值 到到 一 个 文 本本 文 件 中 。<br />

步 骤 2. 分 配 该 文 件 的 值 到到 数 据 池 的 列 (Step 2. Assign the File’s Values to the<br />

Datapool Column)<br />

一 旦 该 文 件 的 值 存 在 , 你 可 以 指 定 该 值 , 如 同 你 指 定 任 意 的 值 的 集 合 到到 一 个 数 据 池 列 ( 通 过 一<br />

个 数 据 类 型 ) 一 样 。 在 这 个 事 例 中 , 通 过 Read From File 数 据 类 型 来来 分 配 值 。<br />

要 这 样 做 的 话 , 可 以 从 Datapool Specification 对 话 框 的 Type 列 中 , 选 择 该 数 据 类 型 Read From<br />

File, 从 而 可 以 由 外 部 的 文 本本 文 件 来来 为 该 数 据 池 的 列 提 供 数 值 。<br />

你 可 以 使 用 Read From File 数 据 类 型 向 多 个 列 ( 在 相 同 的 数 据 池 中 ) 分 配 数 值 。<br />

生 成 唯 一 数 值 (Generating Unique Values)<br />

你 可 以 使 用 Read From File 数 据 类 型 向 一 个 你 在 Rational Test 之 外 创 建 的 数 据 池 列 产 生 唯 一 数 值 。<br />

要 通 过 Read From File 数 据 类 型 来来 创 建 唯 一 数 值 , 具 有 数 据 类 型 访 问 的 该 文 件 中 必 须 包包 含 唯 一 数<br />

值 。<br />

此 外 , 当 你 在 Datapool Specification 对 话 框 中 定 义 数 据 池 时 , 为 关 联 于 ReadFrom File 数 据 类 型 的<br />

数 据 池 列 进 行 以 下 的 设 置 :<br />

● 设 置 Sequence 为 Sequential。<br />

● 设 置 Repeat 为 1。<br />

● 确 保 No. of records to generate 的 数 值 不 会 超 出 你 通 过 Read From File data 数 据 类 型 关 联 的<br />

唯 一 数 值 的 数 量 。<br />

有 关 在 Datapool Specification 对 话 框 中 设 置 数 据 的 信 息 , 参 阅 271 页 Defining Datapool Columns 的<br />

内 容 。


51Testing 软 件 测 试 网<br />

性 能 测 试 结 果果 报 表 (Reporting Performance<br />

Testing Results) 12<br />

这 一 章 讨 论 性 能 测 试 的 报 表 , 以 及 评 估 该 报 表 提 供 数 据 的 一 些 建 议 方 法 。 它 包包 含 了 以 下 的 主 题 :<br />

□ 关 于 报 表<br />

□ 执 行 一 个 报 表<br />

□ 定 制 报 表<br />

□ 输 出 报 表<br />

□ 改 变 报 表 默 认<br />

□ 报 表 的 类 型<br />

关 于 报 表 (About Reports)<br />

TestManager 提 供 若 干 种 类 型 的 报 表 , 帮 助 你 分 析析 一 个 成 功 或 失 败 的 给 定 suite 的 执 行 , 以 及 服 务<br />

器 在 指 定 条条 件 下 的 性 能 。 例 如 , 你 可 以 确 定 一 个 虚 拟 测 试 者 执 行 一 个 命命 令 的 时 长 是 多 少 , 以 及<br />

不 同 的 suite 执 行 时 变 化化 的 响响 应 时 间 的 长 度 。<br />

你 可 以 基 于 报 表 类 型 定 义 新 的 报 表 。 定 制 报 表 可 以 帮 助 你 进 一 步 改 进 测 试 , 通 过 你 的 测 试 计 划<br />

和和 测 试 用 例 , 显 示 你 做 判 断 时 , 需 要 的 确 切 数 据 。<br />

TestManager 不 能 区 分 报 表 定 义 和和 处 理 的 报 表 数 据 。 大 多 数 的 活 动 可 以 在 一 个 报 表 定 义 上 执 行 ,<br />

当 然 , 你 也 可 以 在 处 理 的 报 表 数 据 上 执 行 。<br />

默 认 方 式 , 如 果果 一 个 测 试 成 功 地 完 成 , 并 且 该 测 试 生 成 合 适 的 数 据 ,TestManager 会 自 动 地 执 行<br />

下 图 展 现 了 一 个 简 单 的 Command Status 和和 Performance 报 表 :


51Testing 软 件 测 试 网<br />

在 你 检 查查 了 报 表 数 据 之 后 , 你 可 以 保 存 或 者 删 除 该 报 表 。 如 果果 你 保 存 该 报 表 ,TestManager 会 给<br />

它 一 个 默 认 的 名 称 , 该 名 称 基 于 这 个 报 表 的 类 型 以 及 该 类 型 报 表 的 数 量 — 例 如 ,Performance 1。<br />

TestManager 将 报 表 保 存 在 该 项 目 中 的 日 志 下 。 要 再 次 查查 看 该 报 表 , 你 可 以 打 开 这 个 保 存 的 报 表 。<br />

如 果果 你 删 除 了 报 表 , 通 过 执 行 相 同 日 志 下 相 同 类 型 的 报 表 , 你 可 以 重 建 它 。


51Testing 软 件 测 试 网<br />

Report<br />

( 报 表 )<br />

Performance<br />

( 性 能 )<br />

Compare<br />

Performance<br />

( 比 较 性 能 )<br />

Function<br />

( 功 能 )<br />

显 示 响响 应 时 间 , 并 计 算 平 均 值 , 标标 准 偏 差 , 以<br />

及 在 suite 执 行 中 每 一 个 命命 令 的 百 分 比 。<br />

该 报 表 通 过 命命 令 ID 分 组 响响 应 , 且 只 展 现 那 些 通<br />

过 的 响响 应 。<br />

比 较 通 过 性 能 报 表 衡 量 的 响响 应 时 间 。 在 你 生 成<br />

若 干 性 能 报 表 之 后 , 使 用 Compare Performance<br />

报 表 比 较 指 定 的 数 据 。<br />

Information<br />

( 相 关 信 息 )<br />

308 页 Performance<br />

Reports<br />

312 页 Compare<br />

Performance<br />

Reports


Response vs.<br />

Time<br />

( 响响 应 时 间 )<br />

Command<br />

Status<br />

( 命命 令 状 态 )<br />

51Testing 软 件 测 试 网<br />

展 现 单 个 的 响响 应 时 间 , 以 及 一 个 响响 应 是 通 过 还<br />

是 失 败 。 这 种 报 表 被 用 来来 查查 看 单 个 响响 应 的 数 据<br />

点 , 以 及 该 数 据 中 的 趋 势势 。<br />

该 报 表 单 独 地 展 现 了 每 个 命命 令 的 ID 和和 响响 应 的<br />

状 态 。 比 较 起 来来 ,Performance( 性 能 ) 报 表 是<br />

通 过 命命 令 ID 将 响响 应 分 组 , 且 只 展 现 那 些 通 过 的<br />

响响 应 。<br />

你 可 以 在 报 表 中 右 键 点 击 , 选 择 执 行 的 测 试<br />

机机 , 并 描 绘 针 对 这 台 测 试 机机 的 资 源 监 视 静 态<br />

图 。 在 一 个 suite 执 行 期 间 , 当 你 监 视 资 源 时 ,<br />

这 里 展 现 相 同 的 统 计 。<br />

包包 含 一 个 快 速 的 摘 要 , 有 多 少 的 命命 令 通 过 或 者<br />

失 败 。 该 报 表 展 现 了 所 有 的 仿 真 命命 令 和和<br />

SQABasic 定 时 器 命命 令 的 状 态 。<br />

317 页 的 Response<br />

vs.Time Reports<br />

320 页 的 Command<br />

Status Reports<br />

Command<br />

Usage<br />

( 命命 令 利 用 率 )<br />

查查 看 累 计 响响 应 时 间 和和 统 计 结 果果 摘 要 , 以 及 针 对<br />

所 有 测 试 脚 本本 和和 一 个 完 整 suite 执 行 的 所 有 仿<br />

真 命命 令 的 吞 吐 量 信 息 。<br />

322 页 的 Command<br />

Usage Reports<br />

注 意 事 项 : 升 级 自 Rational Suite PerformanceStudio 或 Rational LoadTest 的 用 户 可 能 希 望 访 问 早 先<br />

生 成 的 Analog 和和 Trace 报 表 的 可 用 信 息 。 现 在 , 那 些 报 表 中 的 信 息 通 过 Test Log 窗 口 是 可 用 的 。<br />

有 关 查查 看 和和 使 用 日 志 , 参 阅 127 页 Evaluating Tests 的 内 容 。<br />

执 行 一 个 报 表 (Running a Report)<br />

TestManager 在 一 个 suite 执 行 结 束束 时 自 动 地 执 行 默 认 的 Performance 和和 Command Status 报 表 ( 如 果果<br />

不 是 该 suite 中 途 失 败 或 者 日 志 数 据 没 有 产 生 )。 这 些 报 表 提 供 相 当 数 量 的 有 关 你 的 测 试 执 行 的<br />

信 息 , 你 可 能 希 望 执 行 其 他 的 报 表 和和 / 或 改 变 任 意 给 定 报 表 中 的 信 息 。 这 一 节 讨 论 如 何 执 行 不 同<br />

的 报 表 。<br />

从 Report 栏栏 或 TestManager 菜 单 执 行 报 表 。<br />

注 意 事 项 : 你 也 可 能 希 望 查查 看 日 志 文 件 —“ 未 加 工 ” 的 结 果果 文 件 — 在 你 执 行 报 表 之 前前 。 有 关 在<br />

Test Log 窗 口 中 查查 看 日 志 的 信 息 , 参 阅 127 页 Evaluating Tests 的 内 容 。<br />

从 Report 栏栏 执 行 一 个 报 表 (Running a Report from the Report Bar)<br />

执 行 一 个 报 表 最 快 的 方 法 是 在 Report 栏栏 上 点 击 一 个 按 钮 。 在 Report 栏栏 上 ,TestManager 列 出 由 最<br />

后 的 suite 创 建 的 日 志 。 如 果果 你 不 指 定 为 另 一 个 日 志 , 那 么 TestManage 是 用 这 个 日 志 中 的 信 息 来来<br />

执 行 一 个 报 表 。<br />

从 Report 栏栏 执 行 一 个 报 表 :


51Testing 软 件 测 试 网<br />

● 点 击 View > Report Bar, 然 后 点 击 任 意 的 一 个 报 表 按 钮 。<br />

注 意 事 项 : 利 用 你 自 己 的 报 表 来来 填 充 , 你 可 以 定 制 Report 栏栏 。 更 多 的 信 息 , 参 阅 307 页 Changing<br />

the Reports that Run from the Report Bar 的 内 容 。<br />

从 菜 单 栏栏 执 行 一 个 报 表 (Running a Report from the Menu Bar)<br />

虽 然 TestManager 使 你 从 Report 栏栏 可 快 速 地 执 行 报 表 , 但 你 可 以 利 用 此 方 法 , 将 一 个 日 志 下 的 每<br />

一 类 型 , 只 执 行 一 个 报 表 。 然 而 , 你 可 能 希 望 从 一 系 列 的 日 志 来来 执 行 许 多 的 报 表 。 例 如 , 如 果果<br />

你 定 义 了 一 些 新 的 Performance 报 表 , 你 可 能 希 望 针 对 相 同 的 日 志 执 行 每 个 报 表 。<br />

你 可 以 从 菜 单 栏栏 执 行 这 些 报 表 。<br />

从 菜 单 栏栏 执 行 一 个 报 表 :<br />

● 点 击 Reports > Run, 并 选 择 要 执 行 的 报 表 类 型 。<br />

定 制制 报 表 (Customizing Reports)<br />

TestManager 可 以 使 你 针 对 特 殊 的 测 试 需 求 来来 定 制 报 表 。<br />

你 可 以 通 过 以 下 的 方 法 来来 定 制 一 个 报 表 :<br />

● 过 滤 数 据 。<br />

例 如 , 你 可 以 过 滤 报 表 以 使 它 只 包包 含 一 个 虚 拟 测 试 者 组 , 只 包包 含 测 试 脚 本本 , 以 及 某某 几 个 命命 令<br />

ID。<br />

● 改 变 一 个 报 表 的 高 级 选 项 。<br />

例 如 , 你 可 以 修 改 一 个 Response vs. Time 报 表 , 以 使 那 些 过 长 的 响响 应 不 包包 含 在 这 个 报 表 中 。<br />

● 改 变 一 个 图 形 的 类 型 和和 外 观 。<br />

例 如 , 你 可 以 将 一 个 图 形 显 示 为 一 个 折 线 图 或 者 一 个 柱柱 状 图 。<br />

在 你 定 制 了 一 个 报 表 和和 保 存 它 之 后 , 你 可 以 重 复 地 使 用 它 来来 快 速 地 分 析析 你 的 数 据 。<br />

过 滤 报 表 数 据 (Filtering Report Data)<br />

TestManager 通 过 预 先 定 义 的 设 置 和和 选 项 , 提 供 一 套 默 认 的 报 表 。<br />

当 然 , 你 可 以 定 制 报 表 来来 过 滤 某某 些 数 据 。<br />

例 如 ,292 页 的 Performance 报 表 包包 含 许 多 的 命命 令 ID 的 信 息 , 且 图 形 复 杂 。 要 查查 看 少 量 的 命命 令 ID,<br />

将 图 形 拉 近 放 大 , 像 304 页 解 释 的 那 样 。 交 替 地 , 右 键 点 击 该 报 表 , 点 击 Settings, 然 后 点 击 Select


51Testing 软 件 测 试 网<br />

Command IDs。<br />

然 而 , 代 替 过 滤 处 理 的 报 表 , 过 滤 报 表 的 预 先 定 义 , 以 使 结 果果 报 表 中 只 含 有 你 感 兴 趣 的 信 息 是<br />

更 为 容 易 的 。 你 可 以 过 滤 一 个 报 表 使 其 只 含 有 某某 几 个 虚 拟 测 试 者 , 只 包包 含 测 试 脚 本本 , 或 者 只 含<br />

有 某某 几 个 命命 令 。<br />

当 你 设 置 一 个 报 表 中 的 过 滤 时 , 你 必 须 指 定 以 下 的 信 息 , 依 赖 于 报 表 的 类 型 :<br />

● Build 和和 log 信 息<br />

Build 和和 log 文 件 夹 针 对 要 寻 找 的 日 志 文 件 , 以 及 指 定 日 志 文 件 在 报 表 中 要 过 滤 的 数 据 。<br />

● 虚 拟 测 试 者<br />

虚 拟 测 试 者 和和 / 或 组 ( 测 试 机机 或 用 户 ) 关 联 于 要 过 滤 数 据 的 指 定 日 志 。<br />

● 脚 本本<br />

测 试 脚 本本 关 联 于 要 过 滤 数 据 的 被 选 择 虚 拟 测 试 者 。<br />

● 命命 令 ID<br />

在 被 选 择 的 测 试 脚 本本 中 指 定 要 过 滤 数 据 的 命命 令 ID。<br />

在 Performance, Response vs. Time, Command Status, 和和 Command Usage 报 表 中 设 置 过 滤 :<br />

● 打 开 或 者 创 建 该 类 型 的 一 个 新 的 报 表 , 然 后 点 击 Change Filters。<br />

注 意 事 项 : 如 果果 你 过 滤 虚 拟 测 试 者 , 那 么 你 通 常 要 选 择 具 有 最 大 数 量 的 虚 拟 测 试 者 的 日 志 。 这<br />

样 保 证 你 的 报 表 可 以 过 滤 所 有 的 虚 拟 测 试 者 。<br />

你 也 可 以 在 执 行 报 表 之 后 , 过 滤 该 报 表 。 更 多 的 信 息 , 参 阅 305 页 Filtering Command IDs that<br />

Appear in a Graph 的 内 容 。


51Testing 软 件 测 试 网<br />

设 置 高 级 选 项 (Setting Advanced Options)<br />

所 有 的 TestManager 报 表 都 具 有 高 级 选 项 , 以 确 定 报 表 如 何 被 计 算 和和 展 现 。 指 定 的 高 级 选 项 对 于<br />

每 一 个 报 表 都 是 不 同 的 。 要 调 试 一 个 报 表 , 改 变 高 级 选 项 。<br />

查查 看 一 个 报 表 的 高 级 选 项 :<br />

● 打 开 或 者 创 建 一 个 新 的 报 表 , 然 后 点 击 Change Options。<br />

注 意 事 项 : 有 关 高 级 选 项 的 信 息 , 参 阅 TestManager 的 帮 助 。<br />

下 表 总 结 了 每 个 高 级 选 项 , 并 列 出 使 用 这 些 选 项 的 报 表 :


51Testing 软 件 测 试 网<br />

Option<br />

( 选 项 )<br />

Graph<br />

( 图 形 )<br />

Description<br />

( 描 述 )<br />

将 报 表 展 现 为 一 个 图 , 一 个 表 , 或 者 两 者 皆 有 ,<br />

改 变 展 现 的 图 类 型 , 改 变 图 形 的 标标 号 , 以 及 添 加<br />

标标 题 和和 脚 注 。<br />

Report<br />

( 报 表 )<br />

Command Status,<br />

Performance, Response vs.<br />

Time, Compare Performance


Response<br />

Range<br />

( 响响 应 范 围 )<br />

Response<br />

Types<br />

( 响响 应 类 型 )<br />

Sort Method<br />

( 分 类 方 法 )<br />

Stable Load<br />

( 稳 定 负 载 )<br />

Time Period<br />

( 时 间 周周 期 )<br />

Calculation<br />

( 计 算 )<br />

Response<br />

Status<br />

( 响响 应 状 态 )<br />

51Testing 软 件 测 试 网<br />

只 包包 含 全 部 的 在 最 小 和和 最 大 之 间 的 响响 应 。 默 认 包包<br />

含 全 部 的 响响 应 时 间 。<br />

你 可 能 希 望 设 置 最 小 响响 应 时 间 来来 消 除 外 露 的 部<br />

分 。 如 果果 你 针 对 一 个 报 表 改 变 改 选 项 , 那 么 其 他<br />

的 报 表 也 要 改 变 , 以 使 报 表 反 映 出 相 同 的 信 息 。<br />

更 多 的 信 息 , 参 阅 299 页 Eliminating Outliers 的 内<br />

容 。<br />

只 包包 含 HTTP 响响 应 或 定 时 器 响响 应 。 默 认 包包 含 这 里 所<br />

有 的 响响 应 。Command Status 和和 Response vs. Time 报<br />

表 也 允 许 你 过 滤 包包 含 了 查查 证 点 的 响响 应 。<br />

数 字 分 类 或 者 已 他 们 执 行 的 顺 序 分 类 命命 令 ID。 默<br />

认 的 命命 令 ID 的 分 类 方 法 是 按 字 母 分 类 的 。<br />

指 定 一 定 数 量 的 虚 拟 测 试 者 在 结 果果 被 记 录 前前 必 须<br />

登 陆 在 系 统 上 。 默 认 设 置 是 在 有 任 意 数 量 的 虚 拟<br />

测 试 者 登 陆 到到 系 统 之 上 时 报 表 结 果果 。 你 可 能 希 望<br />

改 变 该 选 项 , 以 使 确 定 数 量 的 虚 拟 测 试 者 , 或 所<br />

有 的 虚 拟 测 试 者 , 必 须 登 陆 在 系 统 上 。 更 多 的 信<br />

息 , 参 阅 299Reporting on a Stable Load 页 的 内 容 。<br />

如 果果 你 在 监 控 suite 时 , 动 态 地 添 加 虚 拟 测 试 者 , 那<br />

么 你 可 能 希 望 改 变 此 选 项 以 符 合 你 添 加 的 该 数 量<br />

的 虚 拟 测 试 者 。 更 多 的 信 息 , 参 阅 300 页 Report on<br />

a Dynamic Number of Virtual Testers 的 内 容 。<br />

如 果果 你 针 对 一 个 报 表 改 变 该 选 项 , 那 么 也 要 改 变<br />

其 他 的 报 表 , 以 使 报 表 可 以 反 映 出 相 同 的 信 息 。<br />

在 suite 执 行 的 一 个 指 定 部 分 上 的 报 表 。 默 认 设 置 为<br />

整 个 执 行 期 的 报 表 。<br />

改 变 如 何 计 算 响响 应 时 间 。 默 认 时 间 尺 度 为 从 最 后<br />

一 个 发 送 命命 令 结 束束 到到 接 受 响响 应 的 最 后 一 个 字 节<br />

止 。 如 果果 你 针 对 一 个 报 表 改 变 此 选 项 , 那 么 也 要<br />

改 变 其 他 的 报 表 , 以 使 报 表 可 以 反 映 出 相 同 的 信<br />

息 。<br />

仅 包包 含 通 过 的 响响 应 , 或 者 只 有 失 败 的 响响 应 。 默 认<br />

设 置 包包 含 所 有 的 响响 应 。<br />

Command Status,<br />

Performance, Response vs.<br />

Time, Compare Performance<br />

Command Status,<br />

Performance, Response vs.<br />

Time<br />

Command Status,<br />

Performance, Response vs.<br />

Time<br />

Command Status,<br />

Performance, Response vs.<br />

Time<br />

Command Status,<br />

Performance, Response vs.<br />

Time<br />

Performance, Response vs.<br />

Time<br />

Response vs. Time<br />

Summary<br />

( 摘 要 )<br />

Percentiles<br />

( 百 分 比 )<br />

通 过 虚 拟 测 试 者 , 测 试 脚 本本 , 命命 令 ID( 命命 令 状 态 ),<br />

或 者 执 行 ( 命命 令 应 用 ) 来来 总 结 数 据 。 默 认 设 置 是 :<br />

针 对 Command Status 报 表 , 通 过 命命 令 ID 描 述 细 节 ;<br />

对 于 Command Usage 报 表 , 通 过 执 行 描 述 。<br />

改 变 如 何 对 响响 应 时 间 进 行 分 组 。<br />

一 般 地 , 合 适 的 默 认 设 置 为 50,70,80,90 和和 95。<br />

Performance<br />

Performance


51Testing 软 件 测 试 网<br />

消 除 外 露 层 (Eliminating Outliers)<br />

报 表 可 能 包包 含 一 些 数 值 , 称 为 “ 外 露 层 ”, 它 们 完 全 在 正 常 范 围 之 外 。 例 如 , 假 设 你 执 行 一 个<br />

有 1000 个 虚 拟 测 试 者 的 性 能 报 表 , 且 大 多 数 的 响响 应 时 间 的 范 围 在 2 到到 7 秒 之 间 。 该 响响 应 对 于 一 个<br />

命命 令 ID 为 30 秒 — 远 远 超 出 了 正 常 范 围 。 这 种 只 发 生 一 次 的 响响 应 , 可 以 当 作 不 具 备 代 表 性 的 数 据 。<br />

在 一 些 情 况 中 , 你 可 能 希 望 从 报 表 中 消 除 这 样 的 数 据 点 , 因 为 他 们 可 能 不 准 确 地 偏 离 了 累 积 数<br />

据 。<br />

消 除 “ 外 露 层 ”:<br />

● 在 Advanced Options 对 话 框 的 Response Range 标标 签 中 , 指 定 一 个 最 小 的 响响 应 时 间 限 制 。<br />

注 意 事 项 : 认 真 地 考 虑 是 否 需 要 从 图 形 中 移 除 数 据 点 。 虽 然 偏 离 中 心 的 无 关 数 据 可 以 不 具 备 代<br />

表 性 , 但 在 其 他 一 些 情 况 中 , 外 露 层 可 能 表 示 为 其 他 性 能 的 结 果果 。<br />

关 于 一 个 稳 定 负 载 的 报 表 (Reporting on a Stable Load)<br />

使 一 个 报 表 只 包包 含 具 有 一 个 稳 定 的 虚 拟 测 试 者 负 载 的 时 间 , 需 要 有 效 地 限 制 你 的 报 表 。 例 如 ,<br />

你 很 可 能 对 这 样 的 响响 应 时 间 不 感 兴 趣 , 比 如 只 有 很 少 的 几 个 虚 拟 测 试 者 登 陆 在 系 统 上 , 或 者 大<br />

多 数 的 虚 拟 测 试 者 都 退 出 系 统 了 。<br />

指 定 一 个 稳 定 的 负 载 :<br />

● 在 Advanced Options 对 话 框 的 Stable Load 标标 签 中 , 指 定 你 认 为 可 以 算 作 一 个 稳 定 负 载 的 虚 拟<br />

测 试 者 的 数 量 。


51Testing 软 件 测 试 网<br />

关 于 动 态 数 量 虚 拟 测 试 者 的 报 表 (Reporting on a Dynamic Number of Virtual<br />

Testers)<br />

如 果果 你 在 执 行 一 个 suite 时 , 动 态 地 添 加 虚 拟 测 试 者 , 你 可 能 希 望 知 道 这 些 添 加 如 何 影 响响 你 的 结<br />

果果 。 例 如 , 如 果果 你 的 suite 是 以 50 个 虚 拟 测 试 者 开 始 的 , 然 后 再 动 态 地 添 加 3 组 (50 个 一 组 ) 更 多<br />

的 用 户 , 你 的 报 表 应 该 展 现 的 范 围 是 50—100,101—150, 和和 151—200。<br />

关 于 一 个 动 态 数 量 的 虚 拟 测 试 者 的 报 表 :<br />

● 在 Advanced Options 对 话 框 的 Stable Load 标标 签 中 , 指 定 该 数 量 的 虚 拟 测 试 者 。<br />

● 在 Advanced Options 对 话 框 的 Response Range 标标 签 中 , 指 定 具 有 动 态 数 量 的 虚 拟 测 试 者 的<br />

范 围 。<br />

关 于 特 殊 的 命命 令 ID 的 报 表 (Reporting on a Particular Command ID)<br />

默 认 的 Response vs. Time 报 表 可 以 看 起 来来 比 较 混 乱 , 因 为 它 包包 含 了 每 一 个 命命 令 ID 的 有 关 信 息 。 这<br />

个 信 息 对 于 评 估 数 据 的 趋 势势 是 有 效 的 。 然 而 , 你 可 能 希 望 有 一 个 关 于 特 殊 的 命命 令 ID 的 报 表 或 者<br />

一 小 组 的 命命 令 ID, 以 及 用 一 个 线 形 直 方 图 展 现 该 报 表 , 这 样 是 比 较 容 易 阅 读 。<br />

关 于 特 殊 的 命命 令 ID 的 报 表 , 然 后 展 现 为 一 个 线 形 直 方 图 :<br />

● 在 Advanced Options 对 话 框 的 Graph 标标 签 中 , 在 过 滤 关 于 命命 令 ID 的 报 表 之 后 , 指 定 图 形 类 型 。


51Testing 软 件 测 试 网<br />

将 测 试 机机 资 源 映 射 到到 响响 应 时 间 之 上 (Mapping Computer Resource Usage onto<br />

Response Time)<br />

监 控 测 试 机机 资 源 在 性 能 测 试 中 是 必 要 的 。 如 果果 有 性 能 问 题 , 那 么 你 需 要 确 定 是 由 大 数 量 的 虚 拟<br />

测 试 者 引 起 的 还 是 由 于 硬 件 本本 身 的 性 能 瓶 颈 。Response vs. Time 报 表 使 你 在 响响 应 时 间 上 覆 盖 测 试<br />

机机 的 资 源 统 计 。 如 果果 你 的 响响 应 时 间 增 加 , 你 可 以 确 定 这 是 否 是 由 于 测 试 机机 的 资 源 问 题 引 起 的 。<br />

注 意 事 项 : 在 你 记 录 他 们 之 前前 ,TestManager 必 须 设 置 来来 收 集 测 试 机机 资 源 的 信 息 。 当 你 执 行 一 个<br />

suite 时 ,Run Suite 对 话 框 出 现 , 你 必 须 选 择 Monitor resources 检 查查 框 。<br />

将 测 试 机机 资 源 映 射 到到 响响 应 时 间 之 上 :<br />

● 在 Response vs. Time 报 表 的 图 形 上 右 键 点 击 , 然 后 点 击 Show Resources。<br />

改 变 图 形 的 外 观 或 类 型 (Changing a Graph’s Appearance or Type)<br />

TestManager 可 以 将 Compare Performance,Performance,Response vs. Time, 和和 Command Status<br />

报 表 展 现 为 图 和和 表 风 格 的 报 表 。Report Output Settings( 报 表 的 输 出 设 置 ) 对 话 框 使 你 能 够 改 变<br />

图 形 展 现 的 类 型 , 以 及 增 强 它 的 显 示 。<br />

改 变 一 个 图 形 的 类 型 或 外 观 :<br />

● 从 一 个 打 开 的 报 表 中 , 点 击 View > Settings。


51Testing 软 件 测 试 网<br />

注 意 事 项 : 对 于 改 变 一 个 图 形 的 类 型 或 外 观 的 可 用 选 项 , 其 变 化化 是 围 绕 着 你 选 择 的 报 表 类 型 的 。<br />

从 这 个 对 话 框 中 , 你 可 以 :<br />

● 改 变 一 个 图 形 的 外 观 。<br />

● 改 变 一 个 图 形 的 标标 号 。<br />

● 过 滤 信 息 , 比 如 命命 令 的 ID 号 。<br />

在 一 个 性 能 测 试 报 表 中 , 你 也 可 以 改 变 图 形 中 显 示 的 响响 应 范 围 。<br />

改 变 一 个 图 形 的 外 观 (Changing a Graph’s Appearance)<br />

TestManager 使 你 可 以 控 制 一 个 图 形 的 格 式 和和 外 观 。 你 可 以 展 现 或 者 清 除 那 些 不 影 响响 该 图 形 的 累<br />

积 数 据 的 选 择 点 和和 数 据 集 。 下 图 展 现 一 个 簇 状 柱柱 形 图 , 有 标标 题 , 背 景 格 栅栅 , 和和 各 种 各 样 的 其 他<br />

选 项 :<br />

你 可 以 改 变 的 图 形 选 项 包包 括 :


51Testing 软 件 测 试 网<br />

● Log Scale— 衡 量 任 意 的 图 形 显 示 类 型 到到 它 的 对 数 等 价 。<br />

● Inverted Axes— 交 换 图 形 axes 的 相 对 位 置 。<br />

● Show Dataset Label— 添 加 数 据 集 标标 签 到到 图 形 。<br />

● Display Legend— 为 所 有 的 图 形 组 件 展 现 一 个 彩 色 代 码 图 例 符 号 ( 在 Response vs. Time 报 表<br />

中 不 可 用 )。<br />

● Display Grid— 对 于 可 视 化化 的 比 较 , 展 现 一 个 格 栅栅 是 很 有 效 的 ( 在 百 分 图 中 不 可 用 )。<br />

展 现 和和 清 除 数 据 点 信 息 (Displaying and Clearing Data Point Information)<br />

在 使 用 图 形 时 , 你 可 能 希 望 展 现 图 形 中 一 个 指 定 点 的 值 。<br />

要 展 现 有 关 一 个 数 据 点 的 信 息 :<br />

● 移 动 鼠 标标 选 择 图 形 中 期 望 的 区 域 , 点 击 CTRL-SHIFT-BUTTON1。<br />

清 除 数 据 点 信 息 :<br />

● 右 键 点 击 该 图 形 , 然 后 点 击 Clear Point Information。<br />

改 变 一 个 图 形 的 类 型 (Changing a Graph’s Type)<br />

在 使 用 图 形 时 , 你 可 以 改 变 TestManager 展 现 的 图 形 类 型 。<br />

改 变 一 个 图 形 的 类 型 :<br />

● 在 你 希 望 变 更 的 该 图 形 中 , 点 击 View > Settings, 然 后 选 择 一 个 图 形 类 型 。<br />

放 大 和和 旋 转 图 形 (Enlarging and Rotating a Graph)<br />

通 过 点 击 的 SHIFT/CONTROL 组 合 键 和和 鼠 标标 , 你 可 以 进 一 步 操 作 一 个 图 形 的 外 观 。 下 表 列 出 了<br />

一 些 你 可 以 利 用 的 方 法 :


51Testing 软 件 测 试 网<br />

Action<br />

( 活 动 )<br />

放 大 图 形 的 尺 寸 。<br />

改 变 图 形 的 位 置 。<br />

Mouse/Key 顺 序<br />

CTRL-BUTTON1<br />

BUTTON2<br />

SHIFT-BUTTON1<br />

BUTTON2<br />

Other required action<br />

( 其 他 的 活 动 )<br />

拖 动 鼠 标标 接 近 该 图 形 的 底<br />

部 。<br />

移 动 鼠 标标 , 重 新 定 位 该 图<br />

形 。<br />

将 图 形 的 axes 拉 近 。 SHIFT-BUTTON1 拉 动 一 个 围 绕 该 区 域 的 框<br />

来来 进 行 缩 放 操 作 , 然 后 释 放<br />

BUTTON1<br />

将 图 形 的 数 据 拉 近 。 CTRL-BUTTON1 拉 动 一 个 围 绕 该 区 域 的 框<br />

来来 进 行 缩 放 操 作 , 然 后 释 放<br />

BUTTON1<br />

旋 转 一 个 图 形 的 视 角<br />

( 只 能 是 簇 状 图 和和 百<br />

分 比 图 )。<br />

重 置 图 形 , 恢 复 初 始 大<br />

小 。<br />

BUTTON1 BUTTON2<br />

小 写 字 母 “r”<br />

改 变 图 形 的 标标 号 (Changing a Graph’s Labels)<br />

向 上 和和 向 下 移 动 鼠 标标 , 改 变<br />

倾 斜 角 度 。<br />

在 使 用 Command Status,Performance, 或 者 Compare Performance 图 形 时 , 你 可 以 改 变 图 形 的 标标<br />

号 , 包包 括 文 本本 , 字 体 , 风 格 , 和和 标标 号 尺 寸 。<br />

改 变 图 形 的 标标 号 :<br />

● 在 该 图 形 中 , 点 击 View > Settings。<br />

无<br />

过 滤 图 形 中 出 现 的 命命 令 ID(Filtering Command IDs that Appear in a Graph)<br />

在 你 处 理 报 表 之 前前 或 之 后 ,TestManager 允 许 你 过 滤 命命 令 ID。<br />

如 果果 图 形 中 的 报 表 结 果果 是 复 杂 的 , 而 且 你 希 望 检 查查 某某 一 部 分 的 更 多 细 节 , 那 么 在 执 行 该 报 表 之<br />

后 过 滤 命命 令 ID 是 很 有 效 的 。


51Testing 软 件 测 试 网<br />

To filter the command IDs in a graph:<br />

In the graph in which you want to filter IDs, click View > Settings.<br />

过 滤 图 形 中 的 命命 令 ID:<br />

● 在 该 图 形 中 , 点 击 View > Settings。<br />

输 出 报 表 (Exporting Reports)<br />

Performance,Command Status,Compare Performance,Response vs. Time 报 表 展 现 图 形 化化 的 数 据 。<br />

你 可 以 输 出 这 个 图 形 数 据 到到 一 个 .csv 文 件 , 以 进 一 步 处 理 。<br />

要 输 出 报 表 :<br />

● 打 开 该 报 表 , 并 点 击 File > Export to File。<br />

改 变 报 表 的 默 认 (Changing Report Defaults)<br />

TestManager 在 suite 执 行 结 束束 时 自 动 地 生 成 Performance 和和 Command Status 报 表 。 此 外 , 你 可 以 在<br />

Report 栏栏 中 点 击 一 个 报 表 的 名 称 ,TestManager 执 行 你 点 击 的 报 表 。<br />

你 可 以 指 定 报 表 。 例 如 , 除 了 Performance 和和 Command Status 报 表 之 外 ,TestManager 可 以 自 动 地<br />

展 现 一 个 Command Usage 报 表 。 或 者 TestManager 可 以 生 成 一 个 Performance 报 表 , 这 个 报 表 基 于<br />

你 定 义 的 , 以 替 代 默 认 Performance 报 表 的 一 个 报 表 。<br />

在 点 击 Report 栏栏 的 一 个 按 钮 时 , 你 也 可 以 改 变 TestManager 执 行 的 报 表 。 例 如 , 替 代 TestManager<br />

执 行 的 默 认 Performance 报 表 , 你 可 以 使 它 执 行 一 个 你 定 义 的 Performance 报 表 。<br />

改 变 自 动 执 行 的 报 表 (Changing the Reports that Run Automatically)


51Testing 软 件 测 试 网<br />

TestManager 在 suite 执 行 结 束束 时 , 自 动 地 展 现 Performance 和和 Command Status 报 表 。 然 而 , 你 可 以<br />

变 更 这 些 TestManager 自 动 展 现 的 报 表 。<br />

改 变 该 报 表 :<br />

● 点 击 Tools > Options, 然 后 点 击 Reports 标标 签 。<br />

从 Report 栏栏 中 改 变 执 行 的 报 表 (Changing the Reports that Run from the<br />

Report Bar)<br />

Report 栏栏 允 许 你 通 过 点 击 按 钮 执 行 报 表 。TestManager 自 动 地 执 行 默 认 报 表 , 除 非 你 指 定 。 例 如 ,<br />

你 可 能 已 经 定 义 了 一 个 新 的 报 表 以 替 代 默 认 报 表 。<br />

指 定 TestManager 从 Report 栏栏 执 行 的 报 表 :<br />

● 点 击 Tools > Options, 然 后 点 击 Reports 标标 签 。<br />

注 意 事 项 : 重 置 Report 栏栏 , 以 使 其 生 成 默 认 报 表 , 点 击 Tools >Options, 点 击 Reports 标标 签 ,<br />

然 后 点 击 Reset Report Bar 按 钮 。<br />

报 表 的 类 型 (Types of Reports)<br />

这 一 节 讨 论 TestManager 中 可 利 用 的 五 种 类 型 的 性 能 报 表 。<br />

性 能 报 表 (Performance Reports)


51Testing 软 件 测 试 网<br />

你 可 以 使 用 Performance 报 表 来来 展 现 选 择 的 命命 令 在 suite 执 行 期 间 纪 录 的 响响 应 时 间 。Performance 报<br />

表 也 提 供 响响 应 时 间 平 均 值 , 标标 准 偏 差 , 和和 百 分 比 。<br />

要 定 义 一 个 新 的 Performance 报 表 :<br />

● 点 击 Reports > New > Performance。<br />

TestManager 中 的 Performance 报 表 是 纪 录 性 能 关 联 结 果果 的 基 础 。 他 们 可 以 显 示 应 用 程 序 是 否 符 合<br />

在 测 试 计 划 和和 / 或 测 试 用 例 中 定 义 的 基 本本 标标 准 。 例 如 , 一 个 Performance 报 表 告告 诉 你 , 是 否 有 95%<br />

的 虚 拟 测 试 者 接 收 到到 来来 自 系 统 的 响响 应 , 时 间 为 8 秒 或 者 更 少 , 或 者 有 百 分 之 多 少 的 虚 拟 测 试 者 在<br />

那 时 不 能 接 受 到到 来来 自 于 系 统 的 响响 应 。<br />

Performance 报 表 使 用 于 Response vs. Time 报 表 相 同 的 输 入 数 据 , 并 且 他 们 的 分 类 和和 数 据 过 滤 也<br />

是 相 似 的 。 然 而 ,Performance 报 表 以 相 同 的 命命 令 ID 将 响响 应 分 组 , 同 时 ,Response vs. Time 报 表<br />

单 独 地 展 示 每 一 个 命命 令 ID。<br />

下 图 展 现 一 个 报 表 的 例 子 。 这 个 图 形 为 每 个 百 分 比 种 类 展 现 了 15 栏栏 , 因 为 有 15 个 命命 令 被 描 绘 。


51Testing 软 件 测 试 网<br />

● 该 图 形 绘 制 了 针 对 前前 置 百 分 比 的 第 二 响响 应 时 间 。<br />

● MIN 类 展 现 每 个 命命 令 ID 的 最 小 响响 应 时 间 。<br />

● 50th 展 现 每 个 命命 令 ID 的 第 50 百 分 比 的 响响 应 时 间 。<br />

有 一 半 的 命命 令 ID 具 有 较 短 的 响响 应 时 间 , 另 外 的 一 半 具 有 较 长 的 响响 应 时 间 。<br />

● MAX 类 展 现 每 个 命命 令 ID 的 最 大 响响 应 时 间 。<br />

在 性 能 报 表 中 有 什 么 (What’s in Performance Reports?)<br />

报 表 中 包包 含 以 下 的 信 息 :<br />

● Cmd ID— 关 联 与 响响 应 时 间 的 命命 令 ID.<br />

● NUM— 针 对 每 个 命命 令 ID 的 响响 应 数 量 。<br />

● MEAN— 针 对 每 个 命命 令 ID 所 得 的 全 部 响响 应 时 间 的 算 术术 平 均 值 。<br />

● STD DEV— 针 对 每 个 命命 令 ID 的 所 有 响响 应 时 间 的 标标 准 偏 差 。<br />

● MIN— 针 对 每 个 命命 令 ID 的 所 有 响响 应 的 最 小 响响 应 时 间 。<br />

● 50th, 70th, 80th, 90th, 95th— 针 对 每 个 命命 令 ID 的 所 有 响响 应 的 百 分 比 响响 应 时 间 。<br />

例 如 , 如 果果 添 加 Ne002 的 95th 的 百 分 比 是 0.53, 那 么 说 明 95% 的 响响 应 时 间 会 少 于 0.53 秒 。<br />

● MAX— 针 对 每 个 命命 令 ID 的 所 有 响响 应 的 最 大 响响 应 时 间 。<br />

例 如 , 要 在 图 中 和和 报 表 的 最 后 一 行 展 现 总 的 响响 应 时 间 :<br />

1 从 一 个 Performance 报 表 中 , 在 图 形 上 右 键 点 击 , 并 选 择 Settings。


51Testing 软 件 测 试 网<br />

2 点 击 Select Commands IDs 标标 签 , 选 择 TOTAL。<br />

有 关 Performance 报 表 中 的 百 分 比 (About Percentiles in Performance<br />

Reports)<br />

一 个 Performance 报 表 中 的 百 分 比 代 表 最 长 量 的 时 间 , 它 定 义 了 完 成 一 个 测 试 脚 本本 的 所 有 虚 拟 测<br />

试 者 总 数 的 百 分 比 。<br />

百 分 数 对 于 测 试 脚 本本 中 的 每 个 命命 令 ID 和和 时 间 总 数 是 给 定 的 , 所 有 的 虚 拟 测 试 者 去 完 成 整 个 命命 令<br />

的 列 表 。<br />

例 如 , 假 定 你 有 总 共 100 个 虚 拟 测 试 者 , 每 次 执 行 一 个 命命 令 。 在 50th 百 分 比 栏栏 中 的 时 间 说 明 有 50%<br />

的 虚 拟 测 试 者 在 那 段 时 间 里 完 成 命命 令 。 一 些 虚 拟 测 试 者 需 要 2 秒 的 时 间 完 成 测 试 脚 本本 中 的 一 个 命命<br />

令 , 有 一 些 是 3 秒 , 还 有 一 些 是 5 秒 。 出 现 在 Performance 报 表 上 的 50th 百 分 比 时 间 会 是 3 秒 , 在 50th<br />

百 分 比 中 的 所 有 虚 拟 测 试 者 完 成 命命 令 的 平 均 值 少 于 或 等 于 3 秒 。<br />

Performance 报 表 展 现 完 成 一 个 命命 令 的 最 小 和和 最 大 量 时 间 。 百 分 比 的 时 间 范 围 在 最 小 和和 最 大 时 间<br />

之 内 。<br />

当 你 执 行 一 个 性 能 测 试 时 , 有 些 虚 拟 测 试 者 执 行 时 , 完 成 命命 令 的 时 间 是 反 常 的 ( 比 较 长 的 时 间 ),<br />

这 种 情 况 比 较 普 通 。 例 如 , 服 务 器 可 能 在 你 执 行 性 能 测 试 时 , 正 在 下 载 一 个 应 用 程 序 , 以 至 于<br />

在 下 载 期 间 , 虚 拟 测 试 者 完 成 其 任 务 的 时 间 要 长 于 其 他 的 虚 拟 测 试 者 。 这 被 创 建 外 露 层 — 数 据<br />

在 一 个 比 率 的 结 束束 点 是 极极 端 的 , 并 且 不 能 准 确 地 代 表 所 有 虚 拟 测 试 者 的 趋 势势 。 你 可 以 使 用 百 分<br />

数 用 消 除 外 露 层 的 方 法 来来 评 估 测 试 结 果果 , 因 此 , 会 提 供 给 你 一 个 更 为 准 确 的 真 实 响响 应 时 间 的 图<br />

形 。<br />

例 如 , 假 设 你 有 一 个 服 务 器 , 它 包包 含 了 一 个 内 部 的 WEB 站 点 , 该 站 点 为 80 名 技 术术 支 持 员员 工 的 使<br />

用 提 供 信 息 。 你 需 要 做 以 下 的 工 作 :


51Testing 软 件 测 试 网<br />

● 确 定 获 得 的 访 问 站 点 的 时 间 一 般 不 超 过 8 秒 。<br />

● 创 建 一 个 suite, 其 中 具 有 一 个 脚 本本 , 访 问 内 部 提 供 的 WEB 站 点 。<br />

● 考 虑 预 期 的 负 载 为 80 个 用 户 , 并 确 定 为 100 个 用 户 的 测 试 , 以 消 除 外 露 层 。<br />

● 定 义 一 个 有 100 个 虚 拟 测 试 者 的 用 户 组 , 执 行 suite, 然 后 执 行 一 个 Performance 报 表 。<br />

在 报 表 上 的 百 分 数 展 现 为 50,60,70,80,90,95。 虽 然 你 执 行 的 suite 有 100 个 虚 拟 测 试 者 , 但<br />

因 为 你 仅 仅 需 要 针 对 80 个 用 户 的 测 试 结 果果 , 所 以 你 可 以 不 考 虑 90th 和和 95th 百 分 率 , 以 消 除 外 露 层<br />

数 据 , 获 得 针 对 80 个 用 户 的 准 确 结 果果 。 由 于 消 除 外 露 层 , 可 测 试 更 多 的 虚 拟 测 试 者 , 使 你 可 以<br />

确 定 该 服 务 器 是 否 可 以 处 理 多 于 预 期 负 载 的 更 多 的 负 载 。<br />

Compare Performance 报 表 (Compare Performance Reports)<br />

Compare Performance 报 表 比 较 通 过 Performance 报 表 衡 量 的 响响 应 时 间 。 在 你 生 成 若 干 个<br />

Performance 报 表 之 后 , 你 可 以 使 用 一 个 Compare Performance 报 表 来来 比 较 每 个 报 表 中 专 用 字 段 的<br />

值 。 你 也 可 以 比 较 显 示 不 同 数 量 的 虚 拟 测 试 者 的 报 表 , 或 者 比 较 执 行 在 不 同 系 统 配 置 下 的 报 表 。<br />

Compare Performance 报 表 可 以 使 你 查查 看 到到 一 个 特 殊 的 应 用 程 序 针 对 各 种 各 样 的 负 载 配 置 具 有 不<br />

同 的 基 准 信 息 。 这 可 以 帮 助 你 识 别 , 例 如 , 在 测 试 的 应 用 程 序 中 需 要 协 议 的 改 进 。 例 如 , 你 可<br />

以 执 行 一 个 具 有 各 种 虚 拟 测 试 者 负 载 的 应 用 程 序 的 测 试 , 然 后 比 较 各 种 测 试 执 行 Performance 报<br />

表 , 来来 查查 看 应 用 程 序 是 如 何 在 一 个 不 断 增 加 的 虚 拟 测 试 者 负 载 下 进 行 管 理 的 。<br />

当 你 执 行 一 个 Compare Performance 报 表 时 , 你 指 定 一 个 基 本本 的 Performance 报 表 和和 其 他 一 些<br />

Performance 报 表 , 除 了 几 本本 报 表 之 外 , 其 他 的 报 表 可 多 达 6 个 。<br />

定 义 一 个 Compare Performance 报 表 (Defining a Compare Performance<br />

Report)<br />

定 义 一 个 Compare Performance 报 表 与 定 义 其 他 的 报 表 是 相 似 的 。<br />

要 定 义 一 个 新 的 Compare Performance 报 表 :<br />

● 点 击 Reports > New > Compare Performance。


51Testing 软 件 测 试 网<br />

当 你 定 义 一 个 Compare Performance 报 表 时 , 你 必 须 定 义 以 下 的 内 容 :<br />

● 在 Performance 报 表 中 选 择 的 要 比 较 的 字 段 :<br />

□ Mean— 比 较 响响 应 时 间 的 平 均 值 。<br />

□ Standard Deviation— 针 对 响响 应 时 间 , 比 较 标标 准 偏 差 。<br />

□ Percentile— 比 较 基 于 你 选 择 的 百 分 数 的 响响 应 时 间 。 百 分 数 必 须 在 Performance 报 表 中 。 例<br />

如 , 如 果果 Performance 报 表 计 算 50,70,80,90, 和和 95 的 百 分 数 , 那 么 Compare Performance<br />

报 表 必 须 使 用 其 中 的 一 种 。<br />

● 相 对 于 基 本本 Performance 报 表 的 比 较 风 格 :<br />

□ Value relative to base report( 相 对 于 基 本本 报 表 的 值 )— 比 较 相 对 于 基 本本 Performance 报 表<br />

的 响响 应 时 间 。 利 用 该 选 项 , 报 表 ( 基 本本 Performance 报 表 ) 中 的 第 一 栏栏 一 般 为 1, 并 且 其 他 栏栏<br />

是 关 联 与 它 的 。 例 如 , 如 果果 基 本本 报 表 列 出 的 响响 应 时 间 为 2.5, 其 他 报 表 的 列 出 的 响响 应 时 间 为<br />

5, 那 么 在 Compare Performance 报 表 中 列 出 的 值 为 1 和和 2。<br />

□ Absolute data values( 绝 对 数 值 )— 指 明 的 响响 应 时 间 出 现 在 报 表 中 。 例 如 , 如 果果 基 本本 报<br />

表 列 出 的 响响 应 时 间 为 2.5, 其 他 报 表 的 响响 应 时 间 为 5, 那 么 在 报 表 中 列 出 的 值 为 2.5 和和 5。<br />

● 发 生 最 为 频 繁 的 响响 应 时 间 的 重 量 :<br />

□ Individual sample data( 单 个 的 实 例 数 据 )— 响响 应 时 间 不 论 重 量 的 。 一 个 发 生 了 10 次 的 命命<br />

令 ID 和和 一 个 发 生 了 100 次 的 命命 令 ID 对 响响 应 时 间 统 计 的 影 响响 是 相 同 的 。<br />

□ Weighted by count of base report samples( 根 据 基 本本 报 表 的 实 例 计 数 负 重 )— 响响 应 时<br />

间 是 加 重 量 的 , 以 映 射 与 他 们 相 符 的 命命 令 ID 的 发 生 频 率 。 发 生 越 是 频 繁 的 命命 令 ID 越 是 会 影<br />

响响 响响 应 时 间 的 统 计 , 当 然 , 发 生 频 率 越 低 的 命命 令 ID 对 统 计 的 影 响响 也 会 比 较 低 。<br />

注 意 事 项 : 有 关 高 级 选 项 的 信 息 , 参 阅 TestManager 的 帮 助 。<br />

Compare Performance 报 表 中 的 内 容 (What’s in Compare Performance


51Testing 软 件 测 试 网<br />

Reports?)<br />

一 个 Compare Performance 报 表 可 以 用 多 种 方 法 比 较 。 它 可 以 完 全 地 的 比 较 报 表 , 或 者 可 以 相 对<br />

于 一 个 基 本本 报 表 来来 比 较 报 表 。 此 外 , 响响 应 时 间 是 负 重 的 , 以 使 频 繁 发 生 的 命命 令 ID 具 有 更 多 的 影<br />

响响 , 或 者 它 们 不 用 负 重 , 以 使 每 一 个 命命 令 ID 具 有 相 同 的 影 响响 。<br />

Compare Performance 报 表 有 4 个 版 本本 :<br />

● 绝 对 的<br />

● 负 重 绝 对 的<br />

● 相 对 的<br />

● 负 重 相 对 的<br />

绝 对 的 Compare Performance 报 表 (Absolute Compare Performance<br />

Reports)<br />

绝 对 报 表 展 现 响响 应 时 间 的 实 际 值 , 而 且 报 表 的 最 后 一 行 给 出 了 响响 应 时 间 的 算 术术 和和 。<br />

定 义 一 个 绝 对 报 表 :<br />

● 依 照 312 页 Defining a Compare Performance Report 的 步 骤 , 选 择 Absolute data values 选 项 。<br />

下 图 展 示 了 一 个 绝 对 Crmompare Perfoance 报 表 的 最 后 几 行 的 内 容 :<br />

负 重 的 绝 对 Compare Performance 报 表 (Weighted Absolute Compare<br />

Performance Reports)<br />

负 重 的 绝 对 报 表 通 过 他 们 发 生 的 频 率 来来 给 响响 应 时 间 加 重 , 这 对 于 比 较 总 的 响响 应 时 间 是 有 效 的 。<br />

定 义 一 个 负 重 的 绝 对 报 表 :<br />

● 依 照 312 页 Defining a Compare Performance Report 的 步 骤 , 选 择 Absolute data values 选 项 和和<br />

Weighted by count of base report samples 选 项 。<br />

重 量 的 应 用 相 当 于 在 每 个 报 表 中 针 对 那 个 命命 令 ID 的 有 效 响响 应 的 数 量 。 如 果果 报 表 中 的 命命 令 ID 有 着<br />

不 同 数 量 的 响响 应 , 那 么 TestManager 使 用 最 小 的 非 零 数 量 作 为 其 重 量 。


51Testing 软 件 测 试 网<br />

负 重 的 绝 对 值 是 这 个 重 量 的 乘 积 , 且 该 绝 对 值 是 针 对 响响 应 时 间 的 。 负 重 的 绝 对 Compare<br />

Performance 报 表 的 最 后 一 行 , 针 对 每 个 报 表 给 出 了 负 重 响响 应 次 数 的 算 术术 和和 。<br />

下 图 展 示 了 负 重 的 绝 对 Compare Performance 报 表 的 最 后 几 行 :<br />

相 对 Compare Performance 报 表 (Relative Compare Performance Reports)<br />

相 对 报 表 将 1.00 作 为 基 响响 应 时 间 , 且 其 他 的 响响 应 时 间 相 对 于 基 响响 应 时 间 。<br />

定 义 一 个 相 对 报 表 :<br />

● 依 照 312 页 Defining a Compare Performance Report 中 的 步 骤 , 并 选 择 Value relative to base<br />

report 项 。<br />

报 表 的 最 后 一 行 给 出 了 每 个 报 表 相 对 响响 应 时 间 的 几 何 平 均 值 。 要 确 定 集 合 平 均 值 ,TestManager<br />

乘 响响 应 次 数 , 然 后 获 得 的 乘 积 根 目 录 与 响响 应 的 次 数 相 等 。<br />

例 如 , 如 果果 响响 应 为 5 次 , 那 么 TestManager 将 他 们 相 乘 , 并 获 得 第 五 根 目 录 的 乘 积 。<br />

在 数 学 中 , 几 何 平 均 值 的 含 义 是 :<br />

数 值 x1,x2,…,xk。<br />

表 达 式 为 [(x1x2...xk) 的 (1 / k) 次 幂 ]。<br />

下 图 展 示 了 一 个 相 对 Compare Performance 报 表 的 最 后 几 行 :


51Testing 软 件 测 试 网<br />

负 重 的 Compare Performance 报 表 (Weighted Relative Compare Performance<br />

Reports)<br />

该 报 表 与 相 对 报 表 是 相 同 的 , 只 是 需 要 列 出 负 重 的 几 何 平 均 值 。<br />

.<br />

定 义 一 个 负 重 的 相 对 报 表 :<br />

● 依 照 312 页 Defining a Compare Performance Report 的 步 骤 , 选 择 Value relative to base report<br />

和和 Weighted by count of base report samples 选 项 。<br />

负 重 的 几 何 平 均 值 不 同 于 一 般 的 几 何 平 均 值 , 它 需 要 考 虑 不 同 的 命命 令 ID 发 生 的 频 率 。 经 常 使 用<br />

的 命命 令 ID 比 起 不 经 常 使 用 的 , 对 负 重 的 几 何 平 均 值 , 有 着 更 大 的 影 响响 — 和和 一 般 的 几 何 平 均 值 相<br />

比 , 所 有 的 命命 令 ID 具 有 相 同 的 影 响响 。<br />

重 量 应 用 于 为 每 个 命命 令 ID 计 算 负 重 的 几 何 平 均 值 时 , 在 每 个 已 经 比 较 的 报 表 中 , 针 对 于 那 个 命命<br />

令 相 等 数 量 的 有 效 响响 应 。 如 果果 针 对 一 个 命命 令 ID 的 有 效 响响 应 时 间 的 数 量 在 这 些 报 表 中 是 不 相 同 的<br />

话 , 那 么 有 一 个 最 小 的 非 零 数 被 用 来来 作 为 它 的 重 量 。<br />

在 数 学 中 , 负 重 的 几 何 平 均 值 的 含 义 是 :<br />

数 值 x1,x2,…,xk, 每 个 数 值 具 有 各 自 的 频 率 ( 重 量 )f1,f2,…,fk, 且 有 f1+f2+…+fk=N。<br />

表 达 式 为 。<br />

下 图 展 示 了 一 个 负 重 的 Compare Performance 报 表 的 最 后 几 行 :<br />

N/A 与 未 定 义 响响 应 (N/A and Undefined Responses)<br />

偶 然 的 情 况 , 你 可 能 会 在 一 个 Compare Performance 报 表 中 看 到到 有 n/a 和和 Undefn 这 样 的 字 符 串 。<br />

下 表 就 为 你 描 述 了 在 何 种 情 况 下 ,TestManager 会 展 现 这 些 字 符 串 :


51Testing 软 件 测 试 网<br />

如 果果<br />

然 后 Compare Performance<br />

一 个 命命 令 ID 是 在 基 报 表 中 , 而 不 存 在<br />

于 其 他 的 报 表 中 。<br />

一 个 在 报 表 中 的 命命 令 ID, 但 不 在 基 报<br />

表 中 发 生 。<br />

你 在 产 生 一 个 相 对 报 表 , 且 有 一 些 命命<br />

令 ID 的 响响 应 时 间 为 0。<br />

在 一 个 报 表 中 , 所 有 的 响响 应 时 间 以 n/a<br />

或 Undefn 列 出 。<br />

在 表 中 为 这 个 命命 令 ID 列 出 n/a, 但 在 报 表<br />

图 形 中 不 包包 括 此 命命 令 ID 的 信 息 。<br />

忽 略 这 个 命命 令 ID。<br />

在 基 报 表 中 将 该 响响 应 时 间 列 出 , 且 为 0,<br />

列 出 其 他 的 结 果果 , 且 与 作 为 Undefn 的 命命<br />

令 ID 相 符 合 。<br />

将 几 何 平 均 值 或 “ 和和 ” 以 n/a 列 出 。<br />

响响 应 vs. 时 间 报 表 (Response vs. Time Reports)<br />

响响 应 vs. 时 间 报 表 展 现 了 单 个 的 响响 应 时 间 。Response vs. Time 报 表 使 用 了 与 Performance 报 告告 相 同<br />

的 输 入 数 据 , 并 分 类 和和 过 滤 同 样 的 数 据 。 然 而 ,Response vs. Time 报 表 是 单 个 地 展 现 每 一 个 命命 令<br />

ID,Performance 报 表 则 是 将 相 同 命命 令 ID 的 响响 应 分 组 。<br />

定 义 一 个 新 的 Response vs. Time 报 表 :<br />

● 点 击 Reports > New > Response vs. Time。


51Testing 软 件 测 试 网<br />

Response vs. Time 报 表 主 要 执 行 以 下 的 任 务 :<br />

● 检 查查 响响 应 时 间 的 趋 势势 。Response vs. Time 报 表 展 现 的 响响 应 时 间 与 suite 执 行 的 经 过 时 间 相 对 应 。<br />

响响 应 时 间 应 该 是 聚 合 在 一 个 点 的 周周 围 , 而 不 是 步 进 地 获 得 更 长 或 和和 更 短 的 时 间 。 如 果果 趋 势势 变<br />

化化 , 检 查查 你 是 否 在 结 果果 中 排 除 了 登 录 和和 启启 动 的 时 间 。 最 糟 糕 的 情 况 是 , 你 可 能 需 要 去 改 变 你<br />

的 测 试 设 计 。<br />

● 检 查查 响响 应 时 间 中 任 意 峰 值 。 如 果果 响响 应 时 间 除 了 1 个 或 2 个 的 峰 值 后 , 是 相 对 平 稳 的 , 那 么 你 可<br />

能 希 望 去 调 查查 一 下 引 起 峰 值 的 原 因 。<br />

● 过 滤 数 据 以 使 其 只 包包 含 一 个 命命 令 ID, 然 后 将 这 个 命命 令 ID 做 成 一 个 直 方 图 。<br />

● 检 查查 一 台 测 试 机机 在 执 行 时 的 资 源 使 用 情 况 ( 可 选 )。<br />

要 察 看 资 源 使 用 情 况 , 在 Response vs. Time 报 表 上 右 键 点 击 , 并 选 择 一 个 测 试 机机 。<br />

The following figure shows a Response vs. Time report. This graph shows that the<br />

first virtual tester in the accounting group (Accounting 1) executed two commands.<br />

下 图 展 示 了 一 个 Response vs. Time 报 表 。 这 个 图 形 显 示 了 accounting 组 中 的 第 一 个 虚 拟 测 试 者 执<br />

行 了 两 个 命命 令 。<br />

该 图 形 绘 出 了 每 个 虚 拟 测 试 者 相 对 的 响响 应 时 间 , 单 位 为 毫 秒 (ms)。 图 形 中 包包 含 了 许 多 很 像 点<br />

的 短 线 段 。 这 些 线 段 表 明 对 于 所 有 的 虚 拟 测 试 者 , 响响 应 时 间 是 很 短 的 。 在 X 轴 上 的 较 长 的 线 段 ,<br />

表 示 了 较 长 的 响响 应 时 间 , 因 为 X 轴 描 绘 的 就 是 响响 应 时 间 。<br />

Response vs. Time 中 的 内 容 (What’s in Response vs. Time Reports?)<br />

一 般 地 ,Response vs. Time 报 表 包包 含 了 两 个 部 分 , 一 个 针 对 期 望 的 响响 应 时 间 , 一 个 针 对 异 常 的 响响


51Testing 软 件 测 试 网<br />

应 时 间 。 每 一 部 分 中 的 响响 应 根 据 命命 令 ID 来来 分 类 。 在 每 个 命命 令 ID 中 , 响响 应 根 据 结 束束 时 间 戳 来来 分 类 。<br />

Response vs. Time 报 表 包包 含 了 以 下 的 信 息 :<br />

● Cmd ID— 关 联 与 响响 应 的 命命 令 ID。<br />

● Ending TS— 响响 应 的 结 束束 时 间 戳 。 这 个 时 间 戳 与 该 响响 应 的 只 读 时 间 戳 变 量 的 值 是 相 符 合 的 。<br />

该 时 间 戳 是 通 过 Time Period 报 表 选 项 定 义 的 间 隔 结 束束 时 间 戳 。<br />

● Response— 响响 应 时 间 , 单 位 毫 秒 (ms)。<br />

● Status— 为 P 或 F, 表 示 该 响响 应 是 通 过 还 是 失 败 。<br />

● Virtual Tester— 对 应 于 响响 应 的 虚 拟 测 试 者 。<br />

● Script— 对 应 于 响响 应 的 测 试 脚 本本 名 称 。<br />

命命 令 状 态 报 表 (Command Status Reports)<br />

Command Status 报 表 展 现 实 际 响响 应 与 期 望 响响 应 的 符 合 情 况 。 如 果果 你 收 到到 的 响响 应 是 一 样 或 者 预 期<br />

的 , 那 么 TestManager 认 为 它 是 通 过 的 ; 否 则 ,TestManager 认 为 它 是 失 败 的 。<br />

要 定 义 一 个 新 的 Command Status 报 表 :<br />

● 点 击 Reports > New > Command Status。<br />

Command Status 报 表 反 映 了 一 个 suite 执 行 的 总 的 状 况 。 他 们 类 似 Performance 报 表 , 但 是 他 们 更<br />

关 注 在 suite 中 执 行 的 命命 令 的 数 量 。<br />

Command Status 报 表 是 调 试 测 试 过 程 的 优 秀 工 具 , 因 为 你 可 以 容 易 地 察 看 到到 命命 令 的 反 复 失 败 ,<br />

以 及 测 试 脚 本本 对 应 的 地 址 。<br />

下 图 展 示 了 一 个 Command Status 报 表 的 例 子 。 这 个 图 形 显 示 了 命命 令 1( 命命 令 ID 为 Add Ne01) 执 行<br />

了 24 次 且 没 有 失 败 , 命命 令 6( 命命 令 ID 为 Calcul001) 执 行 了 8 次 , 且 没 有 失 败 。


51Testing 软 件 测 试 网<br />

该 图 形 绘 出 了 和和 测 试 脚 本本 执 行 次 数 相 比 的 命命 令 数 量 。<br />

通 过 的 命命 令 标标 示 为 绿 色 , 失 败 的 标标 示 为 红 色 。<br />

Command Status 报 表 的 内 容 (What’s in Command Status Reports?)<br />

● Cmd ID— 关 联 与 响响 应 的 命命 令 ID。<br />

● NUM— 符 合 于 每 个 命命 令 ID 的 响响 应 数 量 。 这 个 数 量 是 通 过 (Passed) 与 失 败 (Failed) 两 列 的<br />

和和 。<br />

● Passed— 针 对 每 个 命命 令 ID 响响 应 的 通 过 数 量 ( 那 些 不 是 超 时 )。<br />

● Failed— 针 对 超 时 的 每 个 命命 令 ID 响响 应 的 失 败 数 量 ( 预 期 的 响响 应 没 有 收 到到 )。<br />

● % Passed— 针 对 那 个 命命 令 ID 通 过 的 响响 应 百 分 比 。<br />

● % Failed— 针 对 那 个 命命 令 ID 失 败 的 响响 应 百 分 比 。<br />

报 表 的 最 后 一 行 是 每 一 列 的 总 和和 。<br />

命命 令 应 用 报 表 (Command Usage Reports)<br />

Command Usage 报 表 展 现 所 有 仿 真 命命 令 和和 响响 应 之 上 的 数 据 。<br />

该 报 表 描 述 了 suite 执 行 期 间 的 吞 吐 量 和和 虚 拟 测 试 者 的 特 性 。<br />

定 义 一 个 新 的 Command Usage 报 表 :<br />

● 点 击 Reports > New > Command Usage。


51Testing 软 件 测 试 网<br />

Command Usage 报 表 中 的 摘 要 信 息 给 出 了 一 个 在 测 试 执 行 中 活 动 分 配 的 高 层 视 图 。 通 过 虚 拟 测<br />

试 者 执 行 命命 令 , 思 考 , 或 者 等 待 一 个 响响 应 花 去 的 累 计 时 间 , 可 以 快 速 的 告告 诉 你 在 测 试 的 应 用 程<br />

序 中 , 哪哪 里 才 是 它 的 性 能 瓶 颈 。Command Usage 报 表 也 可 以 为 协 议 提 供 摘 要 信 息 。<br />

下 图 展 示 了 一 个 Command Usage 报 表 的 例 子 :<br />

Command Usage 报 表 的 内 容 (What’s in Command Usage Reports?)<br />

Command Usage 报 表 包包 含 一 个 累 计 统 计 部 分 , 和和 一 个 摘 要 统 计 部 分 。<br />

累 计 统 计 (Cumulative Statistics)<br />

● Active Time( 有 效 时 间 )– 所 有 的 虚 拟 测 试 者 的 有 效 时 间 的 总 和和 。 一 个 虚 拟 测 试 者 的 有 效 时<br />

间 是 虚 拟 测 试 者 思 考 ( 包包 括 了 该 虚 拟 测 试 者 的 第 一 个 记 录 命命 令 之 后 的 延 迟 ), 执 行 命命 令 , 以<br />

及 等 待 响响 应 所 花 去 的 时 间 。<br />

● Inactive Time( 无 效 时 间 )– 所 有 的 虚 拟 测 试 者 和和 测 试 脚 本本 的 无 效 时 间 的 总 和和 。 一 个 虚 拟 测<br />

试 者 的 无 效 时 间 是 该 虚 拟 测 试 者 第 一 个 仿 真 命命 令 ( 包包 括 需 要 启启 动 和和 初 始 化化 执 行 的 内 务 操 作 时<br />

间 ), 和和 可 能 的 内 部 脚 本本 延 迟 ( 前前 一 个 测 试 脚 本本 最 后 一 个 仿 真 命命 令 与 当 前前 测 试 脚 本本 开 始 的 之


51Testing 软 件 测 试 网<br />

间 的 时 间 )。<br />

● Passed Commands( 通 过 的 命命 令 )–sqlexec,,sqlprepare,sql*_cursor,TUXEDO,<br />

http_request,sock_send,emulate, 以 及 DCOM 方 法 调 用 命命 令 执 行 通 过 的 总 数 量 。<br />

● Failed Commands( 失 败 的 命命 令 )–sqlexec,,sqlprepare,sql*_cursor,TUXEDO,<br />

http_request,sock_send,emulate, 以 及 DCOM 方 法 调 用 命命 令 失 败 的 总 数 量 。<br />

● Passed Responses( 通 过 的 响响 应 )– 输 入 命命 令 匹 配 与 通 过 的 接 收 命命 令 (sqlnrecv,<br />

sqllongrecv, http_nrecv,http_recv,sock_nrecv, 和和 sock_recv) 的 响响 应 总<br />

数 量 。 它 和和 预 期 接 收 的 命命 令 总 数 是 不 相 同 的 , 因 为 一 个 响响 应 可 能 与 一 个 任 意 的 接 收 命命 令 相 匹<br />

配 。 如 果果 所 有 的 接 收 命命 令 被 用 来来 匹 配 一 个 响响 应 , 它 有 一 个 期 望 的 状 态 , 那 么 这 个 响响 应 被 认 为<br />

是 期 望 的 响响 应 。<br />

● Failed Responses( 失 败 的 响响 应 )– 匹 配 与 失 败 的 接 收 仿 真 命命 令 的 响响 应 总 数 。 它 和和 异 常 的 接<br />

收 命命 令 总 数 是 不 相 同 的 , 因 为 一 个 响响 应 可 能 与 一 个 任 意 的 接 收 命命 令 相 匹 配 。 如 果果 有 任 意 的 接<br />

收 命命 令 被 用 来来 匹 配 一 个 响响 应 , 它 有 一 个 异 常 的 状 态 , 那 么 这 个 响响 应 被 认 为 是 异 常 的 响响 应 。<br />

● Average Throughput( 平 均 吞 吐 量 )– 提 供 了 平 均 吞 吐 量 的 四 种 量 度 : 通 过 的 命命 令 吞 吐 量 ,<br />

失 败 的 命命 令 吞 吐 量 , 通 过 的 响响 应 吞 吐 量 , 以 及 失 败 的 响响 应 吞 吐 量 。 这 代 表 了 一 个 平 均 的 虚 拟<br />

测 试 者 的 吞 吐 量 。<br />

● Time Spent Waiting( 等 待 时 间 )– 等 待 响响 应 花 去 的 总 时 间 , 既 包包 含 了 秒 的 表 示 , 也 包包 括 一 个<br />

有 效 时 间 的 百 分 比 。 等 待 时 间 是 从 输 入 的 命命 令 被 提 交 到到 服 务 器 , 直 到到 服 务 器 接 收 完 整 的 响响 应<br />

所 经 过 的 时 间 。 例 如 , 一 个 http_request 等 待 一 个 链 接 被 建 立 所 计 算 的 时 间 作 为 一 个 等 待<br />

时 间 。<br />

● Time Executing Commands( 执 行 命命 令 的 时 间 )– 用 在 sqlexec,,sqlprepare,<br />

sql*_cursor,TUXEDO, http_request,sock_send,emulate, 以 及 DCOM 方 法<br />

调 用 命命 令 执 行 的 总 时 间 。 它 的 度 量 既 包包 含 了 秒 的 表 示 , 也 包包 括 一 个 有 效 时 间 的 百 分 比 。 例 如 ,<br />

SQL 命命 令 的 执 行 时 间 被 定 义 为 , 从 SQL 声 明 被 提 交 到到 服 务 器 , 直 到到 这 些 声 明 完 成 所 经 过 的 时<br />

间 。TUXEDO 命命 令 的 执 行 时 间 被 定 义 为 , 从 执 行 具 体 的 ATMI 元 素 , 直 到到 它 成 功 或 失 败 所 经<br />

过 的 时 间 。<br />

● Time Spent in Input( 用 在 输 入 的 时 间 )– 把 虚 拟 测 试 者 的 输 入 发 送 到到 服 务 器 所 花 去 的 总 时 间 。<br />

它 的 度 量 既 包包 含 了 秒 的 表 示 , 也 包包 括 一 个 有 效 时 间 的 百 分 比 。 例 如 , 通 过 http_request 和和<br />

sock_send 命命 令 将 输 入 发 送 到到 服 务 器 所 记 录 的 时 间 作 为 输 入 时 间 。<br />

● Time Spent Thinking( 思 考 时 间 )– 思 考 花 去 的 总 时 间 , 它 的 度 量 既 包包 含 了 秒 的 表 示 , 也 包包


51Testing 软 件 测 试 网<br />

括 一 个 有 效 时 间 的 百 分 比 。 针 对 一 个 给 定 命命 令 的 思 考 时 间 是 从 前前 面 的 仿 真 命命 令 的 结 束束 , 直 到到<br />

当 前前 的 仿 真 命命 令 被 提 交 到到 服 务 器 所 经 过 的 时 间 。 思 考 时 间 的 定 义 , 符 合 在 执 行 期 间 仅 当 测 试<br />

脚 本本 中 的 环 境 变 量 Think_def 为 默 认 的 LR( 最 后 的 接 收 ) 时 使 用 , 假 定 思 考 时 间 开 始 于 前前 一<br />

个 响响 应 的 最 后 的 接 受 数 据 的 时 间 戳 。<br />

如 果果 有 任 意 的 SQL 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Rows Received( 接 受 的 行 )– 所 有 的 被 记 录 的 sqlnrecv 命命 令 的 接 收 行 的 数 量 。<br />

● Received Rows/Sec( 接 受 行 / 秒 )– 每 秒 接 受 行 的 平 均 数 目 。 接 受 行 的 数 量 除 以 有 效 时 间 。<br />

● Average Rows/Response( 平 均 行 / 响响 应 )– 通 过 和和 失 败 的 响响 应 中 的 平 均 行 数 。 接 受 的 行 数 除<br />

以 通 过 和和 失 败 的 响响 应 数 。<br />

● Average Think Time( 平 均 响响 应 时 间 )– 只 针 对 sqlexec 和和 sqlprepare 的 平 均 响响 应 时 间 ,<br />

单 位 秒 (S)。<br />

● SQL Execution Commands(SQL 执 行 的 命命 令 )– 被 记 录 的 sqlexec 命命 令 的 数 量 。<br />

● Preparation Commands( 预 备 命命 令 )– 被 记 录 的 sqlprepare 命命 令 的 数 量 。<br />

Rows Processed – Number of rows processed by all reported sqlexec commands.<br />

● Rows Processed( 处 理 的 行 )– 通 过 所 有 的 被 记 录 的 sqlexec 命命 令 处 理 的 行 数 。<br />

● Processed Rows/Sec( 处 理 行 / 秒 )– 每 秒 处 理 的 平 均 行 数 。 处 理 行 的 数 量 除 以 有 效 时 间 。<br />

● Avg Rows/Execute Cmd( 平 均 行 / 执 行 命命 令 )– 每 个 sqlexec 命命 令 处 理 的 行 的 平 均 数 量 。 处<br />

理 的 行 的 数 量 除 以 被 纪 录 的 sqlexec 命命 令 数 。<br />

● Avg Row Process Time ( 平 均 行 处 理 时 间 )– 一 个 sqlexec 命命 令 处 理 一 行 的 平 均 时 间 , 单<br />

位 毫 秒 (ms)。Sqlexec 命命 令 花 去 的 时 间 除 以 处 理 的 行 数 。<br />

● Avg Execution Time( 平 均 处 理 时 间 )– 执 行 一 个 sqlexec 或 DCOM 方 法 调 用 命命 令 的 平 均 时<br />

间 , 单 位 毫 秒 (ms)。Sqlexec 命命 令 花 去 的 时 间 除 以 sqlexec 命命 令 的 数 量 。<br />

● Avg Preparation Time( 平 均 预 备 时 间 )– 执 行 一 个 sqlprepare 命命 令 的 平 均 时 间 。<br />

Sqlprepare 命命 令 花 去 的 时 间 除 以 sqlprepare 命命 令 的 数 量 。<br />

如 果果 有 任 意 的 HTTP 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Passed HTTP Connections( 通 过 的 HTTP 的 连 接 )– 所 有 被 纪 录 的 http_request 命命 令 ,<br />

所 建 立 起 来来 的 成 功 的 HTTP 连 接 的 数 量 。<br />

● Failed HTTP Connections( 失 败 的 HTTP 的 连 接 )– 所 有 被 纪 录 的 http_request 命命 令 , 建<br />

立 HTTP 连 接 时 失 败 的 数 量 。<br />

● HTTP Sent Kbytes(HTTP 发 送 的 千 字 节 数 )– 通 过 被 纪 录 的 http_request 命命 令 发 送 的 千<br />

字 节 数 据 。


51Testing 软 件 测 试 网<br />

● HTTP Received Kbytes(HTTP 接 受 的 千 字 节 数 )– 通 过 被 纪 录 的 http_nrecv 和和 http_recv<br />

命命 令 接 受 的 千 字 节 数 据 。<br />

● Sent Kbytes/Connection( 发 送 千 字 节 / 连 接 )– 通 过 http_request 命命 令 的 每 连 接 所 发 送 的<br />

千 字 节 数 。 发 送 的 千 字 节 数 据 除 以 成 功 建 立 的 HTTP 连 接 数 量 。<br />

● Passed Connections/Min( 发 送 千 字 节 / 连 接 )– 每 分 钟 成 功 建 立 的 HTTP 连 接 数 量 。 成 功 的<br />

HTTP 连 接 数 除 以 有 效 时 间 。<br />

● Avg Connect Setup Time( 平 均 的 连 接 建 立 时 间 )– 平 均 时 间 , 单 位 毫 秒 (ms), 需 要 建 立<br />

一 个 成 功 的 HTTP 连 接 。 针 对 所 有 的 被 纪 录 http_request 命命 令 的 连 接 总 时 间 除 以 成 功 的 连<br />

接 数 量 。<br />

● HTTP Sent Kbytes/Sec (HTTP 发 送 的 千 字 节 数 / 秒 )– 每 秒 发 送 的 千 字 节 数 。 通 过 所 有 的 被<br />

纪 录 http_request 命命 令 发 送 的 千 字 节 数 据 除 以 有 效 时 间 。<br />

● HTTP Recv Kbytes/Sec(HTTP 接 受 的 千 字 节 数 / 秒 )– 每 秒 接 受 的 千 字 节 数 。 通 过 所 有 的 被<br />

纪 录 http_nrecv 和和 http_recv 命命 令 接 受 的 千 字 节 数 据 除 以 有 效 时 间 。<br />

● Recv Kbytes/Connection ( 接 受 的 千 字 节 数 / 连 接 )– 通 过 http_nrecv 和和 http_recv 命命 令<br />

的 每 连 接 的 接 受 千 字 节 数 据 。 接 受 的 千 字 节 数 据 除 以 成 功 建 立 的 HTTP 连 接 数 。<br />

如 果果 有 任 意 的 socket 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Passed Socket Connections ( 通 过 的 Socket 连 接 )– 通 过 所 有 的 sock_connect 函 数 建 立<br />

的 成 功 的 socket 连 接 的 数 量 。<br />

● Socket Sent Kbytes (Socket 发 送 的 千 字 节 数 )– 通 过 sock_send 命命 令 发 送 的 千 字 节 数 据 。<br />

● Socket Received Kbytes(Socket 接 受 的 千 字 节 数 )– 通 过 被 纪 录 的 sock_nrecv 和和<br />

sock_recv 命命 令 接 受 的 千 字 节 数 据 。<br />

● Passed Connections/Min( 通 过 的 连 接 / 分 钟 )– 每 分 钟 成 功 建 立 的 socket 连 接 的 数 量 。 成 功<br />

的 socket 连 接 的 数 量 除 以 有 效 时 间 。<br />

● Socket Sent Kbytes/Sec(Socket 发 送 的 千 字 节 数 / 秒 )– 每 秒 发 送 的 千 字 节 数 据 。 通 过 所 有<br />

被 纪 录 的 sock_send 命命 令 发 送 的 千 字 节 数 除 以 有 效 时 间 。<br />

● Socket Recv Kbytes/Sec(Socket 接 受 的 千 字 节 数 / 秒 )– 每 秒 接 受 的 千 字 节 数 据 。 通 过 所 有<br />

被 纪 录 的 sock_nrecv 和和 sock_recv 命命 令 接 受 的 千 字 节 数 除 以 有 效 时 间 。<br />

如 果果 有 任 意 的 TUXEDO 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Tuxedo Execution Commands(Tuxedo 的 执 行 命命 令 )– 被 纪 录 的 TUXEDO 命命 令 数 。<br />

● Avg Execution Time( 平 均 执 行 时 间 )– 平 均 执 行 时 间 , 单 位 毫 秒 (ms), 一 个 TUXEDO 命命


51Testing 软 件 测 试 网<br />

令 的 。TUXEDO 命命 令 的 执 行 时 间 除 以 TUXEDO 命命 令 数 量 。<br />

如 果果 有 任 意 的 start_time 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● stop_time Commands( 停 止 时 间 的 命命 令 )– 被 纪 录 的 stop_time 命命 令 数 量 。<br />

● stop_time Cmds/Min( 停 止 时 间 的 命命 令 / 分 钟 )– 每 分 钟 的 stop_time 命命 令 的 数 量 。<br />

stop_time 命命 令 的 数 量 除 以 有 效 时 间 。<br />

● start_time Commands( 开 始 时 间 的 命命 令 )– 被 纪 录 的 start_time 命命 令 数 量 。<br />

● Avg Block Time( 平 均 阻 塞 时 间 )– 针 对 被 纪 录 的 stop_time 命命 令 的 平 均 响响 应 时 间 , 单 位 秒<br />

(s)。 针 对 所 有 stop_time 命命 令 的 响响 应 时 间 的 总 和和 除 以 stop_time 命命 令 的 数 量 。 一 个<br />

stop_time 命命 令 的 响响 应 时 间 是 它 和和 关 联 于 它 的 start_time 命命 令 之 间 经 过 的 时 间 。<br />

如 果果 有 任 意 的 emulate 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Passed emulate Commands( 通 过 的 emulate 命命 令 )– 记 录 状 态 为 通 过 的 emulate 命命 令 数<br />

量 。<br />

● Passed emulate Time Spent( 通 过 的 emulate 所 花 的 时 间 )– 时 间 总 计 , 从 通 过 的 emulate<br />

命命 令 开 始 到到 他 们 结 束束 。<br />

● Failed emulate Commands( 失 败 的 emulate 命命 令 )– 记 录 状 态 为 失 败 的 emulate 命命 令 数 量 。<br />

● Failed emulate Time Spent( 失 败 的 emulate 所 花 的 时 间 )– 时 间 总 计 , 从 失 败 的 emulate<br />

命命 令 开 始 到到 他 们 结 束束 。<br />

如 果果 有 任 意 的 testcase 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Passed testcase Commands( 通 过 的 testcase 命命 令 )– 记 录 状 态 为 通 过 的 testcase 命命 令<br />

数 量 。<br />

● Failed testcase Commands ( 失 败 的 testcase 命命 令 )– 记 录 状 态 为 失 败 的 testcase 命命 令<br />

数 量 。<br />

摘 要 统 计 (Summary Statistics)<br />

● Duration of Run( 执 行 的 持 续 时 间 )– 从 执 行 开 始 到到 结 束束 所 经 过 的 时 间 。 执 行 的 开 始 是 所 有<br />

的 虚 拟 测 试 者 和和 测 试 脚 本本 之 间 的 第 一 个 仿 真 活 动 的 时 间 , 而 不 是 你 针 对 这 个 报 表 过 滤 的 那 些<br />

虚 拟 测 试 者 和和 测 试 脚 本本 。 同 样 的 , 执 行 的 结 束束 是 所 有 的 虚 拟 测 试 者 和和 测 试 脚 本本 之 间 的 最 后 一<br />

个 仿 真 活 动 的 时 间 。<br />

● Passed Commands( 通 过 的 命命 令 ), Failed Commands( 失 败 的 命命 令 ), Passed Responses<br />

( 通 过 的 响响 应 ), Failed Responses( 失 败 的 响响 应 )– 对 应 与 323 页 Cumulative Statistics, 内 容<br />

完 全 相 同 。


51Testing 软 件 测 试 网<br />

● Total Throughput( 总 吞 吐 量 )– 提 供 四 种 总 吞 吐 量 的 度 量 : 通 过 的 命命 令 吞 吐 量 , 失 败 的 命命 令<br />

吞 吐 量 , 通 过 的 响响 应 吞 吐 量 , 和和 失 败 的 响响 应 吞 吐 量 。 通 过 的 命命 令 的 总 吞 吐 量 是 通 过 的 命命 令 数<br />

量 除 以 执 行 的 持 续 时 间 , 具 有 适 当 的 秒 到到 分 的 转 化化 。 因 此 , 由 所 有 可 选 择 的 虚 拟 测 试 者 在 应<br />

用 负 载 时 , 它 代 表 的 通 过 命命 令 的 总 吞 吐 量 , 和和 虚 拟 测 试 者 的 平 均 吞 吐 量 相 反 。 失 败 命命 令 的 总<br />

吞 吐 量 , 以 及 通 过 和和 失 败 响响 应 的 吞 吐 量 具 有 相 似 的 计 算 。<br />

这 些 吞 吐 量 的 度 量 , 以 及 测 试 脚 本本 吞 吐 量 , 依 赖 于 虚 拟 测 试 者 和和 测 试 脚 本本 的 选 择 集 。 例 如 ,<br />

仅 当 有 三 个 虚 拟 测 试 者 从 一 个 10 虚 拟 测 试 者 的 执 行 中 被 选 择 , 那 么 该 吞 吐 量 并 不 代 表 服 务 器<br />

的 吞 吐 量 在 一 个 10 虚 拟 测 试 者 的 工 作 负 载 下 。 作 为 一 个 指 导 方 针 , 摘 要 吞 吐 量 的 度 量 在 所 有<br />

虚 拟 测 试 者 和和 测 试 脚 本本 被 选 择 时 是 最 有 意 义 的 。<br />

● Number of Users( 用 户 的 数 量 )– 在 suite 执 行 中 虚 拟 测 试 者 的 数 量 。<br />

● Number of stop_time Cmds(stop_time 命命 令 的 数 量 )– 在 suite 执 行 中 stop_time 命命 令 的<br />

数 量 。<br />

● Number of Completed Scripts( 完 成 的 脚 本本 数 量 )– 在 执 行 结 束束 之 前前 , 如 果果 所 有 关 联 于 一 个<br />

测 试 脚 本本 的 活 动 都 完 成 , 那 么 该 测 试 脚 本本 被 认 为 是 完 成 了 。<br />

● Number of Uncompleted Scripts( 未 完 成 的 脚 本本 数 量 )– 当 一 个 执 行 异 常 终 止 时 , 未 结 束束 执<br />

行 的 测 试 脚 本本 的 数 量 。 如 果果 你 终 止 执 行 或 将 suite 设 置 为 在 某某 一 数 量 的 虚 拟 测 试 者 和和 测 试 脚 本本<br />

结 束束 后 终 止 , 那 么 该 测 试 脚 本本 被 认 为 是 未 完 成 的 。<br />

● Average Number of Scripts Completed per User( 每 用 户 完 成 的 平 均 脚 本本 数 量 )– 已 完 成<br />

的 测 试 脚 本本 数 量 除 以 虚 拟 测 试 者 的 数 量 。<br />

● Average Script Duration for Completed Scripts( 针 对 已 完 成 脚 本本 的 平 均 持 续 时 间 )– 一 个<br />

完 成 的 测 试 脚 本本 经 过 的 平 均 时 间 。 所 有 虚 拟 测 试 者 和和 测 试 脚 本本 的 累 积 有 效 时 间 除 以 已 完 成 的<br />

测 试 脚 本本 的 数 量 。<br />

● Script Throughput for Completed Scripts( 针 对 已 完 成 测 试 脚 本本 的 脚 本本 吞 吐 量 )– 在 执 行<br />

期 间 通 过 服 务 器 每 小 时 完 成 的 测 试 脚 本本 数 量 。 已 完 成 的 测 试 脚 本本 数 量 除 以 执 行 的 持 续 时 间 ,<br />

具 有 秒 到到 小 时 的 转 换 。 如 果果 你 过 滤 了 虚 拟 测 试 者 和和 测 试 脚 本本 , 该 值 会 发 生 变 化化 。<br />

如 果果 有 任 意 的 start_time 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Avg Number of stop_time Commands(stop_time 命命 令 的 平 均 数 量 )–stop_time 命命 令<br />

数 除 以 虚 拟 测 试 者 数 量 。<br />

● Average start_time/stop_time Duration(start_time/stop_time 命命 令 的 平 均 持 续 时<br />

间 )– 针 对 被 纪 录 stop_time 命命 令 的 平 均 响响 应 时 间 , 单 位 秒 (s)。 针 对 所 有 stop_time 命命


51Testing 软 件 测 试 网<br />

令 的 响响 应 时 间 的 总 和和 除 以 stop_time 命命 令 的 数 量 。 一 个 stop_time 命命 令 的 响响 应 时 间 是 它 和和<br />

关 联 于 它 的 start_time 命命 令 之 间 经 过 的 时 间 。<br />

● Stop_time Command Throughput for all Users( 针 对 所 有 用 户 的 stop_time 命命 令 吞 吐 量 )<br />

– 在 suite 执 行 期 间 每 分 钟 执 行 的 stop_time 命命 令 的 执 行 数 量 。stop_time 命命 令 的 数 量 除 以 执<br />

行 的 持 续 时 间 。<br />

如 果果 有 任 意 的 emulate 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Passed emulate Commands( 通 过 的 emulate 命命 令 )– 记 录 状 态 为 通 过 的 emulate 命命 令 数<br />

量 。<br />

● Passed emulate Time Spent( 通 过 的 emulate 所 花 的 时 间 )– 时 间 总 计 , 从 通 过 的 emulate<br />

命命 令 开 始 到到 他 们 结 束束 。<br />

● Failed emulate Commands( 失 败 的 emulate 命命 令 )– 记 录 状 态 为 失 败 的 emulate 命命 令 数 量 。<br />

● Failed emulate Time Spent( 失 败 的 emulate 所 花 的 时 间 )– 时 间 总 计 , 从 失 败 的 emulate<br />

命命 令 开 始 到到 他 们 结 束束 。<br />

如 果果 有 任 意 的 testcase 仿 真 命命 令 被 执 行 , 那 么 Command Usage 报 表 包包 括 :<br />

● Passed testcase Commands( 通 过 的 testcase 命命 令 )– 记 录 状 态 为 通 过 的 testcase 命命 令<br />

数 量 。<br />

● Failed testcase Commands ( 失 败 的 testcase 命命 令 )– 记 录 状 态 为 失 败 的 testcase 命命 令<br />

数 量 。


51Testing 软 件 测 试 网<br />

附 录<br />

本本 地 和和 代 理 测 试 机机 的 配 置 (Configuring Local<br />

and Agent Computers) A<br />

如 果果 你 的 Suite 执 行 大 量 的 虚 拟 测 试 者 , 那 么 为 了 使 执 行 达 到到 完 全 地 成 功 , 你 必 须 设 置 确 定 的 系<br />

统 环 境 变 量 。 该 附 录 包包 含 了 以 下 的 标标 题 :<br />

□ 超 过 245 个 虚 拟 测 试 者 的 执 行<br />

□ 超 过 1000 个 虚 拟 测 试 者 的 执 行<br />

□ 在 一 台 NT 测 试 机机 上 超 过 1000 个 虚 拟 测 试 者 的 执 行<br />

□ 在 一 台 UNIX 代 理 机机 上 超 过 24 个 虚 拟 测 试 者 的 执 行<br />

□ 控 制 TCP 端 口 数 量<br />

□ 设 置 IP 别 名<br />

□ 为 系 统 环 境 变 量 赋 值<br />

超 过 245 个 虚 拟 测 试 者 的 执 行 (Running More Than 245<br />

Virtual Testers)<br />

如 果果 你 的 Suite 执 行 虚 拟 测 试 者 的 总 数 超 过 245 个 , 你 必 须 在 本本 地 (Local) 测 试 机机 上 的<br />

NuTCRACKER 操 作 环 境 中 修 改 两 项 设 置 。 要 在 一 台 NT 代 理 (Agent) 测 试 机机 上 执 行 超 过 245 个<br />

虚 拟 测 试 者 , 你 必 须 在 这 台 代 理 机机 上 有 相 同 的 设 置 改 变 。


51Testing 软 件 测 试 网<br />

修 改 以 下 设 置 :<br />

1 点 击 Start ( 开 始 )> Settings( 设 置 ) > Control Panel( 控 制 面 板板 ) > Nutcracker。<br />

2 点 击 NuTC 4 Options 标标 签 。<br />

3 从 种 类 (Category) 列 表 中 选 择 Semaphore ( 信 号 )Settings。<br />

4 将 Max Number of Semaphores 修 改 为 N + S + 10,N 是 你 希 望 执 行 的 虚 拟 测 试 者 的 数 量 ,S<br />

是 suite 中 被 脚 本本 使 用 的 共 享 变 量 的 数 量 。<br />

5 针 对 Max Number of Semaphores Per ID, 重 复 设 置 上 值 。<br />

6 点 击 OK。<br />

7 点 击 Restart Later。<br />

8 重 起 NT。<br />

超 过 1000 个 虚 拟 测 试 者 的 执 行 (Running More Than 1000<br />

Virtual Testers)<br />

如 果果 你 的 Suite 执 行 虚 拟 测 试 者 的 总 数 超 过 1000 个 , 你 必 须 创 建 一 个 环 境 变 量 , 以 此 来来 设 置 本本 地<br />

(Local) 测 试 机机 上 共 享 内 存 的 大 小 。 要 在 NT 代 理 (Agent) 测 试 机机 上 执 行 超 过 1000 个 虚 拟 测 试<br />

者 , 你 必 须 在 这 台 代 理 机机 上 有 相 同 的 设 置 改 变 。<br />

要 创 建 并 设 置 这 个 环 境 变 量 :<br />

1 点 击 Start ( 开 始 )> Settings( 设 置 ) > Control Panel( 控 制 面 板板 ) > System( 系 统 )。<br />

2 选 择 高 级 标标 签 , 点 击 Environment( 环 境 变 量 )。<br />

3 创 建 一 个 名 为 RT_MASTER_SHM_MINSZ 的 环 境 变 量 , 并 设 置 它 的 值 为 700* N,N 是 你 希 望 执<br />

行 的 虚 拟 测 试 者 的 数 量 。<br />

在 本本 地 (Local) 测 试 机机 上 ,N 是 针 对 整 个 执 行 的 虚 拟 测 试 者 的 总 数 。<br />

在 代 理 (Agent) 测 试 机机 上 ,N 是 执 行 在 这 台 代 理 上 的 虚 拟 测 试 者 的 数 量 。<br />

4 点 击 Set, 然 后 点 击 OK。<br />

5 重 起 NT。


51Testing 软 件 测 试 网<br />

在 一 台 NT 测 试 机 上 超 过 1000 个 虚 拟 测 试 者 的 执 行 (Running<br />

More Than 1000 Virtual Testers on One NT Computer)<br />

如 果果 是 在 一 台 NT 测 试 机机 上 , 你 的 Suite 有 超 过 1000 个 虚 拟 测 试 者 的 执 行 , 那 么 你 必 须 在 每 一 台<br />

执 行<br />

超 过 1000 个 虚 拟 测 试 者 的 NT 测 试 机机 上 创 建 并 设 置 一 个 系 统 环 境 变 量 。<br />

要 创 建 并 设 置 这 个 环 境 变 量 :<br />

1 点 击 Start( 开 始 ) > Settings( 设 置 ) > Control Panel( 控 制 面 板板 ) > System( 系 统 )。<br />

2 选 择 高 级 标标 签 , 点 击 Environment( 环 境 变 量 )。<br />

3 创 建 一 个 名 为 RT_MASTER_NTUSERLIMIT 的 环 境 变 量 , 并 将 值 设 置 为 你 希 望 执 行 的 虚 拟 测<br />

试 者 的 数 量 。<br />

4 点 击 Set, 然 后 点 击 OK。<br />

5 为 使 新 的 设 置 对 本本 测 试 机机 有 效 , 重 起 ( 本本 地 测 试 机机 上 的 )TestManager 或 者 ( 代 理 测 试 机机 上<br />

的 )test Agent。<br />

在 一 台 UNIX 代 理 机 上 超 过 24 个 虚 拟 测 试 者 的 执 行 (Running<br />

More Than 24 Virtual Testers on a UNIX Agent)<br />

如 果果 在 一 台 UNIX 代 理 机机 上 , 你 的 Suite 执 行 的 虚 拟 测 试 者 超 过 24 个 , 那 么 你 必 须 设 置 以 下 的 系 统<br />

环 境 变 量 :


51Testing 软 件 测 试 网<br />

系 统 环 境 变 量<br />

TestManager 进 程 总 数 (NPROC,<br />

MAXUP)<br />

打 开 文 件 的 总 数 (NFILE,<br />

NINODE)<br />

全 系 统 的 共 享 内 存 总 数<br />

(SHMALL/SHMMAX)<br />

信 号 设 置 IDs(SEMMNI,<br />

SEMMAP)<br />

值<br />

虚 拟 测 试 者 数 量 , 在 代 理 机机 上 +5。<br />

(6*N)+(open_files*N)+<br />

(connections*N)<br />

N 是 代 理 机机 上 虚 拟 测 试 者 的 数 量 。<br />

Open_files 是 在 测 试 脚 本本 中 明 确 打 开 的<br />

文 件 的 数 量 。<br />

Connections 是 当 前前 打 开 的 连 接 数 量 。<br />

724+5609N+16S+13G+group_names 字<br />

节 数<br />

N 是 代 理 机机 上 虚 拟 测 试 者 的 数 量 。S 是<br />

Suite 中 所 有 测 试 脚 本本 共 享 变 量 的 数 量 。<br />

G 是 Suite 中 用 户 组 的 总 数 。group_names<br />

是 suite 中 所 有 用 户 组 名 称 的 长 度 总 数 。<br />

1<br />

信 号 总 数 (SEMMNS) 代 理 机机 上 的 虚 拟 测 试 者 的 数 量 。<br />

每 套 的 信 号 数 (SEMMSL) 代 理 机机 上 的 虚 拟 测 试 者 的 数 量 。


51Testing 软 件 测 试 网<br />

注 意 事 项 : 这 些 值 是 其 他 系 统 进 程 或 者 应 用 程 序 需 求 之 外 的 。 当 前前 系 统 值 不 应 该 被 减 少 。 例 如 ,<br />

如 果果 其 他 的 系 统 进 程 要 求 SEMMNI=10, 那 么 该 值 不 能 减 少 为 1。<br />

例 如 , 对 于 一 个 Solaris 代 理 机机 , 执 行 2000-4000 的 虚 拟 测 试 者 时 , 如 下 设 置 系 统 环 境 变 量 :<br />

set semsys:seminfo_semmap=1024<br />

set semsys:seminfo_semmni=4096<br />

set semsys:seminfo_semmns=4096<br />

set semsys:seminfo_semmnu=4096<br />

set semsys:seminfo_semmsl=1024<br />

set semsys:seminfo_semopm=50<br />

set semsys:seminfo_semume=64<br />

set semsys:seminfo_shmmni=1024<br />

set semsys:seminfo_shmmax=100072000<br />

set semsys:seminfo_shmseg=100<br />

set semsys:seminfo_shmmin=1<br />

TCP 端 口 数 量 的 控 制制 (Controlling TCP Port Numbers)<br />

rtmstr_v 和和 rtmstr_s 网 络 服 务 控 制 本本 地 测 试 机机 上 的 端 口 , 代 理 机机 的 通 信 软 件 连 接 到到 本本 地 机机 。 这 些<br />

网 络 服 务 允 许 测 试 被 执 行 在 本本 地 机机 与 代 理 机机 上 , 由 防 火 墙 分 开 的 不 同 网 络 中 , 通 过 对 端 口 的 控<br />

制 , 该 端 口 对 本本 地 服 务 器 绑 定 的 进 程 进 行 监 听听 。<br />

在 一 个 需 要 代 理 机机 的 测 试 中 , 本本 地 机机 与 代 理 机机 之 间 具 有 多 重 socket 连 接 。<br />

本本 地 机机 与 代 理 机机 的 连 接 , 一 般 采 用 一 个 单 一 的 熟 知 的 端 口 , 在 这 个 端 口 上 , 代 理 机机 进 行 监 听听 。<br />

该 端 口 默 认 为 8800。<br />

有 两 个 连 接 , 其 中 一 个 的 本本 地 服 务 器 , 进 程 名 为 rtvsrv, 另 一 个 的 本本 地 服 务 器 进 程 名 为 rtssrv。 这<br />

两 个 服 务 器 进 程 各 自 监 听听 一 个 独 立 的 端 口 。 他 们 没 有 绑 定 到到 一 个 指 定 端 口 上 , 但 是 本本 地 测 试 机机<br />

上 的 操 作 系 统 会 动 态 地 选 择 一 个 端 口 。 在 测 试 执 行 的 初 始 化化 期 间 , 本本 地 测 试 机机 会 把 这 些 端 口 值<br />

传 送 给 代 理 机机 。<br />

( 注 意 事 项 : 所 有 代 理 机机 连 接 的 端 口 都 是 本本 地 机机 上 的 这 两 个 端 口 。) 本本 地 机机 上 这 两 个 动 态 选 择<br />

的 端 口 会 引 起 防 火 墙 的 管 理 问 题 , 因 为 这 两 个 将 被 使 用 的 端 口 不 能 事 前前 被 确 定 。<br />

你 可 以 控 制 这 个 问 题 , 通 过 使 用 可 选 择 的 网 络 协 议 ( 传 统 的 TCP/UDP 网 络 协 议 被 定 义 在 一 个<br />

/etc/services 文 件 中 , 不 能 将 其 与 一 个 NT 服 务 相 混 淆 。) 在 NT 上 , 该 服 务 文 件 在<br />

Drive\WINNT\system32\drivers\etc\services 中 。 每 行 都 有 一 个 表 目 , 列 出 了 服 务 的 名 称 , 端 口 数<br />

量 , 以 及 相 关 协 议 (TCP 或 者 UDP)。<br />

具 体 地 说 , 对 端 口 的 控 制 需 要 提 供 以 下 几 点 :


51Testing 软 件 测 试 网<br />

rtvsrv 绑 定 到到 端 口 ( 按 优 先 顺 序 ):<br />

1 如 果果 被 定 义 了 ,TCP 服 务 的 值 名 为 rtmstr_v。<br />

2 如 果果 没 有 定 义 , 一 个 端 口 被 系 统 动 态 地 选 择 。<br />

Rtssrv 绑 定 到到 端 口 ( 按 优 先 顺 序 ):<br />

1 如 果果 被 定 义 了 ,TCP 服 务 的 值 名 为 rtmstr_s。<br />

2 如 果果 没 有 定 义 , 一 个 端 口 被 系 统 动 态 地 选 择 。<br />

通 过 这 两 个 服 务 定 义 的 端 口 是 独 立 的 。 就 是 说 , 它 们 不 需 要 相 邻 , 不 用 关 联 到到 那 个 熟 知 的 测 试<br />

代 理 机机 的 8800 端 口 。 它 们 不 需 要 设 置 成 唯 一 。 如 果果 它 们 不 是 为 本本 地 机机 上 相 同 的 其 他 服 务 使 用 的<br />

话 , 我 们 建 议 使 用 端 口 8801 和和 8802。<br />

例 如 , 如 果果 你 希 望 本本 地 机机 上 的 端 口 是 8801 和和 8802, 那 么 添 加 下 面 这 两 行 到到 服 务 文 件 中 :<br />

rtmstr_s8801/tcp# TestStudio Master S server<br />

rtmstr_v8802/tcp# TestStudio Master V server<br />

此 外 ,rtagent 网 络 服 务 已 经 被 添 加 到到 代 理 机机 监 听听 的 控 制 端 口 。 如 果果 代 理 机机 的 8800 端 口 已 经 在 一<br />

台 或 者 更 多 的 代 理 测 试 机机 上 被 其 他 的 应 用 程 序 所 使 用 , 那 么 一 个 交 替 的 端 口 需 要 被 指 定 为 使 用<br />

了 rtagent 服 务 。<br />

Rtagent 服 务 加 进 服 务 文 件 中 的 方 法 , 与 rtmstr_v、rtmstr_s 网 络 服 务 的 加 进 方 法 一 样 。 不 同 之 处<br />

在 于 ,rtagent 服 务 必 须 被 定 义 在 本本 地 测 试 机机 上 , 且 所 有 的 代 理 机机 在 测 试 执 行 时 都 用 此 服 务 , 对<br />

所 有 的 系 统 必 须 是 同 一 的 。 在 变 更 服 务 文 件 之 后 , 代 理 机机 必 须 重 起 ( 重 新 引 导 )。<br />

例 如 , 如 果果 你 希 望 代 理 机机 在 8888 端 口 监 听听 , 那 么 在 本本 地 和和 代 理 机机 上 添 加 下 面 的 行 到到 服 务 文 件 中 :<br />

rtagent8888/tcp# TestStudio Agent<br />

设 置 IP 别 名 (Setting Up IP Aliasing)<br />

TestManager 提 供 IP 别 名 , 可 以 使 多 个 IP 地 址 被 分 配 到到 相 同 的 物 理 系 统 。 每 一 个 虚 拟 测 试 者 可 以<br />

分 配 不 同 的 IP 地 址 真 实 地 模 仿 你 的 虚 拟 测 试 者 的 团 队 。 通 过 那 些 虚 拟 测 试 者 产 生 的 请 求 , 利 用<br />

定 时 特 征 与 完 整 的 合 法 性 记 录 , 接 受 来来 自 于 Web 服 务 器 的 响响 应 。<br />

在 任 意 一 台 特 定 的 测 试 机机 上 使 用 IP 别 名 , 系 统 管 理 员员 必 须 设 置 系 统 的 IP 地 址 。<br />

对 于 Windows NT, 可 以 这 样 做 :<br />

点 击 Settings > Control Panel > Network ><br />

Protocols > TCP/IP Protocol > Properties > Advanced > IP Addresses > Add 按 钮 。<br />

对 于 UNIX, 与 ifconfig (1) 命命 令 行 的 功 能 有 关 。 参 阅 ifconfig 手 册 , 适 合 于 该 操 作 系 统 的


51Testing 软 件 测 试 网<br />

具 体 的 细 节 内 容 。 要 设 置 大 量 的 IP 地 址 , 使 用 Perl 或 者 UNIX 的 shell 脚 本本 是 较 方 便 的 。 一 个 实 例<br />

Korn shell 脚 本本 , 为 此 目 的 命命 名 为 ipalias_setup, 可 以 在 UNIX 代 理 机机 安 装 的 “bin” 目 录 中<br />

找 到到 。( 你 必 须 具 有 root 的 权 限 , 才 能 利 用 ifconfig 来来 设 置 IP 别 名 。)<br />

由 于 你 可 能 遇 到到 诸 如 IP 地 址 冲 突 或 路 由 选 择 的 考 虑 等 问 题 , 所 以 在 分 配 IP 地 址 到到 一 台 测 试 机机 时<br />

需 要 注 意 。 我 们 推 荐 IP 地 址 由 一 个 限 定 的 管 理 员员 来来 分 配 。<br />

在 IP 地 址 被 设 置 后 , 打 开 一 个 suite, 点 击 Suite > Edit Runtime, 并 选 择 Enable IP Aliasing 选<br />

择 框 。<br />

如 果果 该 suite 中 的 IP 别 名 被 选 择 , 那 么 在 执 行 的 开 始 时 , 每 台 测 试 机机 ( 本本 地 或 者 代 理 ) 上 的<br />

TestManager 会 询 问 所 有 的 可 用 IP 地 址 。 在 round-robin 方 式 中 , 每 个 预 先 安 排 在 那 台 测 试 机机 上 执<br />

行 的 suite, 都 从 那 个 表 中 分 配 一 个 IP 地 址 。 换 句 话 说 , 如 果果 一 台 测 试 机机 上 的 虚 拟 测 试 者 多 于 IP<br />

地 址 , 那 么 一 个 IP 地 址 会 被 分 配 给 到到 多 个 虚 拟 测 试 者 。 如 果果 虚 拟 测 试 者 少 于 IP 地 址 , 那 么 有 一<br />

些 IP 地 址 不 会 被 使 用 。 任 意 特 定 的 测 试 机机 上 预 先 安 排 的 虚 拟 测 试 者 , 不 论 其 数 量 ,IP 地 址 的 分<br />

布 都 接 近 最 佳 化化 , 并 且 将 你 从 IP 地 址 与 指 定 虚 拟 测 试 者 相 匹 配 的 工 作 中 释 放 出 来来 。<br />

为 系 统 环 境 变 量 赋 值 ( Assigning Values to System<br />

Environment Variables)<br />

TestManager 通 过 系 统 环 境 变 量 设 置 一 台 代 理 测 试 机机 作 每 个 虚 拟 测 试 者 。 如 果果 你 使 用 虚 拟 测 试 者<br />

来来 测 试 一 个 数 据 库 服 务 器 , 或 者 一 个 应 用 程 序 , 你 可 以 覆 盖 这 些 系 统 环 境 变 量 。<br />

要 覆 盖 系 统 环 境 变 量 的 值 :<br />

● 点 击 Suite > Edit Settings, 然 后 点 击 User Settings 对 话 框 的 Sys Environment<br />

Variables 栏栏 中 的 按 钮 。


51Testing 软 件 测 试 网<br />

你 可 以 在 System Environment Variables 对 话 框 中 改 变 一 个 值 或 者 一 个 先 前前 设 置 的 系 统 环 境 变 量 。<br />

有 关 更 多 的 信 息 , 参 阅 TestManager 帮 助 。<br />

你 可 以 在 下 表 罗 列 的 测 试 平 台 上 设 置 系 统 变 量 :<br />

测 试 平 台<br />

UNIX 代 理 机机<br />

Oracle<br />

UNIX 代 理 机机<br />

Sybase<br />

系 统 环 境 变 量 设 置<br />

在 变 量 ORACLE_HOME 中 指 定 包包 含 客 户 端 软 件 的 目<br />

录 。<br />

例 如 :<br />

ORACLE_HOME=/ora/app/oracle/product/8.0.5<br />

如 果果 /var/opt/oracle 不 包包 含 tnsnames.ora, 那 么 分 配 该 文<br />

件 的 路 径 名 到到 变 量 TNS_ADMIN。<br />

例 如 :TNS_ADMIN=/home/uname/oracletest<br />

在 变 量 SYBASE 中 指 定 包包 含 客 户 端 软 件 的 目 录 。<br />

例 如 :SYBASE=/usr/local/sybase<br />

在 以 下 的 系 统 环 境 变 量 的 一 个 路 径 中 指 定 包包 含 Sybase<br />

客 户 端 库 (libraries) 的 目 录 :<br />

PATH(Windows)<br />

LD_LIBRARY_PATH(Solaris Agents)<br />

SHLIB_PATH(HP-UX Agents)<br />

LIBPATH(AIX Agents)


51Testing 软 件 测 试 网


51Testing 软 件 测 试 网


51Testing 软 件 测 试 网<br />

测 试 平 台<br />

UNIX 代 理 机机<br />

Oracle<br />

系 统 环 境 变 量 设 置<br />

在 变 量 ORACLE_HOME 中 指 定 包包 含 客 户 端 软 件 的 目 录 。<br />

例 如 :<br />

ORACLE_HOME=/ora/app/oracle/product/8.0.5<br />

如 果果 /var/opt/oracle 不 包包 含 tnsnames.ora, 那 么 分 配 该 文 件<br />

的 路 径 名 到到 变 量 TNS_ADMIN。<br />

例 如 :TNS_ADMIN=/home/uname/oracletest<br />

UNIX 代 理 机机<br />

Sybase<br />

在 变 量 SYBASE 中 指 定 包包 含 客 户 端 软 件 的 目 录 。<br />

例 如 :SYBASE=/usr/local/sybase<br />

在 以 下 的 系 统 环 境 变 量 的 一 个 路 径 中 指 定 包包 含 Sybase 客<br />

户 端 库 (libraries) 的 目 录 :<br />

PATH(Windows)<br />

LD_LIBRARY_PATH(Solaris Agents)<br />

SHLIB_PATH(HP-UX Agents)<br />

LIBPATH(AIX Agents)


51Testing 软 件 测 试 网<br />

UNIX 代 理 机机<br />

Java<br />

本本 地 或 代 理 机机 执<br />

行 TUXEDO 测<br />

试 脚 本本<br />

在 LD_LIBRARY_PATH 变 量 中 指 定 包包 含 Java 库 (libraries)<br />

的 目 录 。<br />

例 如 :<br />

LD_LIBRARY_PATH=/usr/jre118/lib/linux/native_threads<br />

当 代 理 测 试 机机 也 使 用 第 三 方 软 件 ( 比 如 IBMWebSphere)<br />

时 , 在 系 统 环 境 变 量 LD_LIBRARY_PATH 中 , 除 了 Java<br />

库 (libraries) 之 外 , 你 必 须 指 定 那 个 软 件 库 (libraries)<br />

的 目 录 位 置 。<br />

此 外 , 对 于 Java Developers Kit 1.1(JDK1.1), 你 也 必<br />

须 设 置 下 面 的 变 量 :<br />

JAVA_COMPILER=NONE<br />

在 TUXDIR 变 量 中 指 定 包包 含 客 户 端 软 件 的 目 录 。<br />

设 置 NLSPATH 环 境 变 量 到到 包包 含 了 TUXEDO 信 息 文 件 的 目<br />

录 路 径 。<br />

设 置 值 为 $TUXDIR/LIB 到到 下 面 的 一 个 环 境 变 量 :<br />

LD_LIBRARY_PATH(Solaris Agents)<br />

SHLIB_PATH(HP-UX Agents)<br />

LIBPATH(AIX Agents)<br />

对 于 Windows NT 的 本本 地 测 试 机机 , 这 些 只 针 对 仅 安 装<br />

了 TUXEDO 客 户 端 的 测 试 机机 , 必 须 被 定 义 。TUXEDO<br />

完 全 运 行 安 装 的 过 程 , 会 自 动 地 设 置 它 们 。 更 多 信 息 ,<br />

参 阅 TUXEDO 安 装 指 南 。<br />

设 置 以 下 的 一 项 :<br />

Workstation Listener( 工 作 站 接 听听 者 ) 的 地 址 到到<br />

WSNADDR。<br />

例 如 :<br />

WSNADDR=//sparky:360001<br />

WSNADDR=0028CAICA8F0D6<br />

Workstation Listener( 工 作 站 接 听听 者 ) 的 host 名 和和 端<br />

口 到到 WSLHOST 和和 WSLPORT。 如 果果 设 置 , 这 些 变 量<br />

会 覆 盖 WSNADDR。<br />

例 如 :<br />

WSLHOST= sparky<br />

WSLPORT=360001


51Testing 软 件 测 试 网<br />

本本 地 或 代 理 机机 执<br />

行 TUXEDO 测<br />

试 脚 本本 ( 使 用<br />

FML 类 型 的 缓 冲<br />

区 字 段 名 )<br />

本本 地 或 代 理 机机 执<br />

行 TUXEDO 测<br />

试 脚 本本 ( 使 用<br />

FML32 类 型 的<br />

缓 冲 区 字 段 名 )<br />

本本 地 或 代 理 机机 执<br />

行 TUXEDO 测<br />

试 脚 本本 ( 使 用<br />

VIEW,<br />

X_COMMON,<br />

或 X_C_TYPE<br />

类 型 的 缓 冲 区 字<br />

段 名 )<br />

设 置 一 列 FML 字 段 的 表 文 件 名 到到 FIELDTBLS。 该 变 量 的 使<br />

用 , 通 过 代 理 机机 执 行 包包 含 了 FML 类 型 的 缓 冲 区 字 段 名 索 引<br />

的 测 试 脚 本本 。 如 果果 该 变 量 不 能 设 置 , 使 用 FML 类 型 的 缓 冲<br />

区 字 段 名 ( 不 算 该 列 表 ) 的 函 数 将 会 失 败 , 导 致 相 关 的 命命<br />

令 失 败 。<br />

例 如 :FIELDTBLS=ct.fldtbl,inv. fldtbl<br />

设 置 包包 含 FML 字 段 的 表 文 件 目 录 的 绝 对 路 径 到到<br />

FLDTBLDIR。 该 变 量 的 使 用 , 通 过 代 理 机机 执 行 包包 含 了 FML<br />

类 型 的 缓 冲 区 字 段 名 索 引 的 测 试 脚 本本 。 如 果果 该 变 量 没 有 设<br />

置 , 使 用 FML 类 型 的 缓 冲 区 字 段 名 ( 不 算 该 列 表 ) 的 函 数<br />

( 例 如 ,tux_setbuf_int()) 将 会 失 败 , 导 致 相 关 的 命命 令<br />

失 败 。<br />

例 如 :FLDTBLDIR=/u1/tuxapp/dat<br />

设 置 一 列 FML32 字 段 的 表 文 件 名 到到 FIELDTBLS32。 该 变 量<br />

的 使 用 , 通 过 代 理 机机 执 行 包包 含 了 FML32 类 型 的 缓 冲 区 字 段<br />

名 索 引 的 测 试 脚 本本 。 如 果果 该 变 量 不 能 设 置 , 使 用 FML32 类<br />

型 的 缓 冲 区 字 段 名 ( 不 算 该 列 表 ) 的 函 数 将 会 失 败 , 导 致<br />

相 关 的 命命 令 失 败 。<br />

例 如 :FIELDTBLS=ct32.fldtbl,inv32. fldtbl<br />

设 置 包包 含 FML32 字 段 的 表 文 件 目 录 的 绝 对 路 径 到到<br />

FLDTBLDIR32。 该 变 量 的 使 用 , 通 过 代 理 机机 执 行 包包 含 了<br />

FML 类 型 的 缓 冲 区 字 段 名 索 引 的 测 试 脚 本本 。 如 果果 该 变 量 没<br />

有 设 置 , 使 用 FML32 类 型 的 缓 冲 区 字 段 名 ( 不 算 该 列 表 )<br />

的 函 数 ( 例 如 ,tux_setbuf_int()) 将 会 失 败 , 导 致 相 关<br />

的 命命 令 失 败 。<br />

例 如 :FLDTBLDIR32=/u1/tuxapp/dat<br />

设 置 一 列 视 图 描 述 的 文 件 名 到到 VIEWFILES。 该 变 量 的 使<br />

用 , 通 过 代 理 机机 执 行 包包 含 了 VIEW,X_COMMON, 或<br />

X_C_TYPE 类 型 的 缓 冲 区 的 测 试 脚 本本 。 如 果果 该 变 量 不 能 设<br />

置 , 使 用 这 些 类 型 的 缓 冲 区 的 函 数 ( 定 义 在 视 图 描 述 文 件<br />

而 非 此 列 表 中 ) 将 会 失 败 , 导 致 相 关 的 命命 令 失 败 。<br />

例 如 :VIEWFILES=ct.V,inv. V<br />

设 置 包包 含 视 图 描 述 文 件 目 录 的 绝 对 路 径 到到 VIEWDIR。 如 果果<br />

该 变 量 没 有 设 置 , 分 配 一 个 VIEW,X_COMMON, 或<br />

X_C_TYPE 类 型 缓 冲 区 的 函 数 tux_tpalloc() 或<br />

tux_alloc_buf() 的 调 用 将 失 败 , 导 致 依 赖 的 命命 令 或 函 数<br />

也 失 败 。<br />

例 如 :<br />

VIEWDIR=/u1/tuxapp/dat:/u1/tuxapp/dat2


51Testing 软 件 测 试 网<br />

本本 地 或 代 理 机机 执<br />

行 TUXEDO 测<br />

试 脚 本本 ( 使 用<br />

VIEW32 类 型 的<br />

缓 冲 区 )<br />

执 行 TUXEDO<br />

测 试 脚 本本 的<br />

Solaris 代 理 机机<br />

一 台 UNIX 代 理<br />

测 试 机机 上 的<br />

INFORMIX<br />

设 置 一 列 视 图 描 述 的 文 件 名 到到 VIEWFILES32。 该 变 量 的 使<br />

用 , 通 过 代 理 机机 执 行 使 用 了 VIEW32 类 型 缓 冲 区 的 测 试 脚<br />

本本 。 如 果果 该 变 量 不 能 设 置 , 使 用 VIEW32 类 型 缓 冲 区 的 函<br />

数 ( 定 义 在 视 图 描 述 文 件 而 非 此 列 表 中 ) 将 会 失 败 , 导 致<br />

相 关 的 命命 令 失 败 。<br />

例 如 :VIEWFILES32=ct32.V,inv32.V<br />

设 置 包包 含 视 图 描 述 文 件 目 录 的 绝 对 路 径 到到 VIEWDIR32。 如<br />

果果 该 变 量 没 有 设 置 , 分 配 一 个 VIEW32 类 型 缓 冲 区 的 函 数<br />

tux_tpalloc() 或 tux_alloc_buf() 的 调 用 将 失 败 , 导 致<br />

依 赖 的 命命 令 或 函 数 也 失 败 。<br />

例 如 :VIEWDIR32=/u1/tuxapp/dat<br />

设 置 TLI 网 络 服 务 供 应 商 的 路 径 到到 WSDEVICE。<br />

一 般 情 况 下 , 该 值 为 /dev/tcp。 如 果果 不 进 行 设 置 , 回 放 时 跳<br />

出 一 个 错 误 信 息 , 同 时 该 回 防 终 止 。<br />

例 如 :WSDEVICE=/dev/tcp<br />

在 $INFORMIXDIR/etc/sqlhosts 文 件 中 分 配 一 个 合 法 表 目<br />

到到 INFORMIXSERVER。<br />

分 配 一 个 值 到到 INFORMIXDIR。 该 值 依 赖 于 INFORMIX CLI<br />

和和 INFORMIX ESQL/C 的 版 本本 。

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!