10.07.2015 Views

PICT - 51Testing软件测试网

PICT - 51Testing软件测试网

PICT - 51Testing软件测试网

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

软 件 测 试 高 级 技 术——Pairwise Testing


个 人 简 介 杨 瑞• 厦 门 英 睿 信 息 科 技 有 限 公 司 联 合 创 始 人• 复 旦 大 学 软 件 工 程 硕 士 , 同 济 大 学 自 动 控制 学 士• 10 年 软 件 工 程 经 验 ,8 年 过 程 改 进 经 验 ,在 基 于 传 统 和 敏 捷 的 开 发 管 理 方 面 具 有 多年 经 验 , 目 前 是 国 内 敏 捷 社 区 内 的 活 跃 人士 。• 曾 在 三 五 互 联 、 锐 捷 网 络 、 福 州 网 龙 等 知名 上 市 公 司 担 任 质 量 经 理 、 研 发 总 监 和EPG Leader 等 职 位 。


培 训 提 纲Pairwise Testing 理 论<strong>PICT</strong> 工 具 介 绍


PAIRWISE TESTING


Pairwise Testing 理 论 测 试 工 作 的 目 的• 最 大 限 度 的 发 现 系 统 中 存 在 的 问 题 , 即 我 们 一般 所 称 的 “ 缺 陷 ”(bug) 测 试 管 理 所 要 解 决 的 问 题• 测 试 覆 盖 率• 测 试 效 率• 测 试 工 作 量


Pairwise Testing 理 论“Cartesian Products”( 笛 卡 尔 积 )• 给 定 一 组 域 D1,D2,…,Dn, 这 些 域 中 可 以 有相 同 的 ;• 所 有 域 的 所 有 取 值 的 一 个 组 合 , 不 能 重 复 ;• 假 设 集 合 A={a,b}, 集 合 B={0,1,2}, 则 两 个 集 合 的笛 卡 尔 积 为 {(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。


Pairwise Testing 理 论 如 何 测 试 ?•GUI 应 用 程 序 V1.0List1(0,1,2)List2(10,20)“OK” 按 钮 , 点 击 后 计 算


Pairwise Testing 理 论 如 何 测 试 ?•GUI 应 用 程 序 V2.0List(0,1,2,3,4,5,6,7,8,9)Textbox(1~99)Checkbox1(-X)( 相 反 数 )Checkbox2(X*X) ( 平 方 )“OK” 按 钮 , 点 击 后 计 算


Pairwise Testing 理 论 笛 卡 尔 积• 共 有 10x99x2x2=3960 个 组 合


Pairwise Testing 理 论GUI 应 用 程 序 V1.0 测 试 简 单 , 在 有 限 的 时 间内 能 够 完 成 所 有 的 遍 历 情 况 ;GUI 应 用 程 序 V2.0 测 试 复 杂 , 在 有 限 的 时 间内 不 能 够 完 成 所 有 的 遍 历 情 况 ; 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 通 过 简 单 的 观 察 , 我 们 很 容 易 的 发 现 一 个 “BUG”:0 × (-1)=???• 再 深 入 分 析 一 下 , 如 果 做 “ 遍 历 ” 组 合 测 试 , 当List=0 时 ,Checkbox1=On 时 , 以 下 的 取 值 并 不 影响 测 试 结 果 :TextboxCheckbox2


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 那 么 我 们 浪 费 的 工 作 量 等 于 多 少 ( 需 要 设 计 和执 行 的 用 例 )?99 个 如 果 平 均 每 个 用 例 的 设 计 和 执 行 需 要 一 个 工 时 , 则需 要 浪 费 的 工 作 量 近 100 个 工 时 , 即 一 个 人 需 要 工 作2 周 半


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?•“ 随 机 ” 抽 检 测 试1/3960≈1/4000=0.00025 随 机 测 试 的 概 率 基 本 为 0•“ 遍 历 ” 组 合 测 试3960 个 测 试 用 例 , 约 23.6 个 人 月 , 即 2 个 人 年 过 度 的 “ 遍 历 ” 组 合 测 试 将 使 测 试 无 法 进 行


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 大 部 分 缺 陷 是 在 两 个 变 量 取 值 冲 突 的 测 试 时 被发 现 的• 不 仅 仅 是 在 所 有 的 组 合 情 况 下 才 会 发 现 所 有 的测 试 缺 陷• 这 个 是 “Pairwise Testing” 基 本 原 理 , 不 要 测 试 所有 的 组 合 , 测 试 所 有 的 “Pairwise ” 即 可


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 目 标 减 少 测 试 用 例 , 去 除 无 效 的 测 试 用 例 使 用 “ 等 价 类 ” 方 法 , 合 并 变 量 取 值


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 1: 列 出 各 种 “ 变 量 ” 的 所 有 可 能 “ 取 值 ”


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 2: 将 “ 变 量 ” 的 所 有 可 能 “ 取 值 ” 中 , 多 于 “2” 的 情 况 放 在前 面 将 “ 变 量 ” 的 所 有 可 能 “ 取 值 ” 中 , 等 于 “2” 的 情 况 放 在后 面


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 3: 完 成 “ 变 量 ” 的 所 有 可 能 “ 取 值 ” 中 , 多 于 “2” 的 情 况 遍历 组 合 ( 每 行 代 表 一 个 测 试 场 景 )


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 4: 完 成 第 二 列 的 “ 两 两 ” 情 况 检 查 是 否 所 有 的 “ 两 两 ” 都 存 在 ?• (Valid ,0)、(Valid ,Other)• (Invalid , 0)、(Invalid ,Other)• (Alpha , 0)、(Alpha , Other)


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 5( 续 ): 完 成 第 三 列 的 “ 两 两 ” 情 况“ 两 两 ” 重 复 没 关 系 , 关 键 是 不 能 有 遗 漏


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 5: 检 查 是 否 所 有 的 “ 两 两 ” 都 存 在 ?• 第 一 列 & 第 三 列‣(Valid ,On)、(Valid ,Off)‣(Invalid , On )、(Invalid , Off )‣(Alpha , On )、(Alpha , Off )• 第 二 列 & 第 三 列‣(0,On)、(0,Off)‣(Other,On)、(Other,Off)


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 5( 续 ): 调 整 第 三 列 的 “ 两 两 ” 情 况


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 5( 续 ): 检 查 是 否 所 有 的 “ 两 两 ” 都 存 在 ?• 第 一 列 & 第 三 列‣(Valid ,On)、(Valid ,Off)‣(Invalid , On )、(Invalid , Off )‣(Alpha , On )、(Alpha , Off )• 第 二 列 & 第 三 列‣(0,On)、(0,Off)‣(Other,On)、(Other,Off)


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 6: 完 成 第 四 列 的 “ 两 两 ” 情 况


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 6( 续 ): 检 查 是 否 所 有 的 “ 两 两 ” 都 存 在 ?• 第 一 列 & 第 四 列‣(Valid ,Checked)、(Valid ,Unchecked)‣(Invalid , Checked )、(Invalid , Unchecked )‣(Alpha , Checked )、(Alpha , Unchecked )• 第 二 列 & 第 四 列‣(0, Checked )、(0, Unchecked )‣(Other, Checked )、(Other, Unchecked )• 第 三 列 & 第 四 列‣(On, Checked )、(On, Unchecked )‣(Off, Checked )、(Off, Unchecked )


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 步 骤 6( 续 ): 检 查 是 否 所 有 的 “ 两 两 ” 都 存 在 ?• 其 余 列 组 合 情 况 已 经 检 查 , 不 再 进 行 检 查


Pairwise Testing 理 论 如 何 测 试 V2.0 这 样 的 应 用 程 序 ?• 通 过 “ 两 两 ” 组 合 ( 同 时 考 虑 等 价 类 划 分 ) 我 们已 经 极 大 的 减 少 了 测 试 用 例 的 数 量 我 们 只 需 要 6 个 测 试 用 例 就 能 够 进 行 有 效 的 测 试 采 用 “ 遍 历 ” 组 合 测 试 , 需 要 的 用 例 数 为3×2×2×2=24 个


Pairwise Testing 理 论 如 何 测 试 ?•GUI 应 用 程 序 V3.0List(0,1,2,3,4,5,6,7,8,9)Textbox(1~99)Checkbox1(-X)( 相 反 数 )Checkbox2(X*X)( 平 方 )Checkbox3(!X)( 阶 乘 )Checkbox4(Hex(X))( 十 六 进 制 )“OK” 按 钮 , 点 击 后 计 算


Pairwise Testing 理 论 笛 卡 尔 积• 共 有 99x10x2x2x2x2=15840 个 组 合GUI 应 用 程 序 V3.0 测 试 更 复 杂 , 在 有 限 的 时间 内 不 能 够 完 成 所 有 的 遍 历 情 况 ; 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 1~6 同 V2.0• 步 骤 7: 完 成 第 五 列 的 “ 两 两 ” 情 况


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 7( 续 ): 检 查 是 否 所 有 的 “ 两 两 ” 都 存 在 ?• 第 一 列 & 第 五 列‣ (Valid ,Yes)、(Valid ,No)‣ (Invalid , Yes )、(Invalid , No )‣ (Alpha , Yes )、(Alpha , No )• 第 二 列 & 第 五 列‣ (0, Yes )、(0, No )‣ (Other, Yes )、(Other, No )• 第 三 列 & 第 五 列‣ (On, Yes )、(On, No )‣ (Off, Yes )、(Off, No )• 第 四 列 & 第 五 列‣ (Checked,Yes)、( Checked,No)‣ (Unchecked,Yes)、(Unchecked,No)


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 8: 完 成 第 五 列 的 “ 两 两 ” 情 况


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 8( 续 ): 检 查 是 否 所 有 的 “ 两 两 ” 都 存 在 ?• 第 一 列 & 第 六 列‣ (Valid , Dec )、(Valid , Hex )‣ (Invalid , Dec )、(Invalid , Hex )‣ (Alpha , Dec )、(Alpha , Hex )• 第 二 列 & 第 六 列‣ (0, Dec )、(0, Hex )‣ (Other, Dec )、(Other, Hex )• 第 三 列 & 第 六 列‣ (On, Dec )、(On, Hex )‣ (Off, Dec )、(Off, Hex )• 第 四 列 & 第 六 列‣ (Checked, Dec )、( Checked, Hex )‣ (Unchecked, Dec )、(Unchecked, Hex)• 第 五 列 & 第 六 列‣ (Yes,Dec)、(Yes,Hex)‣ (No,Dec)、(No,Hex)


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 8( 续 ):(On, Hex )、(Off, Dec ) 缺 失 , 怎 么 办 ? 调 换 位 置 ?


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 8( 续 ): 如 果 调 整 Dex 和 Hex 组 合 顺 序 , 会 破 坏 其 他 “ 两 两 ” 组合 的 情 况 ;


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 9: 增 加 两 个 测 试 用 例 , 分 别 针 对 缺 失 的 (On, Hex )和 (Off, Dec )


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 步 骤 9: 其 余 列 则 无 所 谓


Pairwise Testing 理 论 如 何 测 试 V3.0 这 样 的 应 用 程 序 ?• 通 过 “ 两 两 ” 组 合 ( 同 时 考 虑 等 价 类 划 分 ) 我 们已 经 极 大 的 减 少 了 测 试 用 例 的 数 量 我 们 只 需 要 8 个 测 试 用 例 就 能 够 进 行 有 效 的 测 试 采 用 “ 遍 历 ” 组 合 测 试 , 需 要 的 用 例 数 为3×2×2×2×2×2=96 个• 每 个 测 试 用 例 可 以 覆 盖 多 个 “ 两 两 ” 组 合


<strong>PICT</strong> 工 具 介 绍


<strong>PICT</strong> 工 具 介 绍Pairwise Independent Combinatorial Testingtool (<strong>PICT</strong>)•Jacek Czerwonka( jacekcz@microsoft.com), TestLead, Microsoft Corporation• 下 载 地 址 :http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi<strong>PICT</strong> 不 仅 仅 是 “ 两 两 ” 测 试 工 具 , 其 可 以 生 成多 种 组 合 测 试 结 果


<strong>PICT</strong> 工 具 介 绍<strong>PICT</strong> 是 一 个 命 令 行 工 具 , 其 输 入 、 输 出 都 可以 是 “ 纯 文 本 ” 形 式 的 ( 输 出 也 可 以 为 MSExcel 格 式 )<strong>PICT</strong> 安 装 后 , 会 在 系 统 路 径 中 增 加 其 路 径 ,因 此 可 以 在 任 意 路 径 下 使 用


<strong>PICT</strong> 工 具 介 绍Usage: pict model [options]• Options: /o:N - Order of combinations (default: 2) /d:C - Separator for values (default: ,) /a:C - Separator for aliases (default: |) /n:C - Negative value prefix (default: ~) /e:file - File with seeding rows /r[:N] - Randomize generation, N - seed /c - Case-sensitive model evaluation /s - Show model statistics


<strong>PICT</strong> 工 具 介 绍<strong>PICT</strong> 的 初 步 使 用• 简 单 形 式C:\pict ModelFile.txt• 使 用 输 出 文 件 (TXT 格 式 )C:\pict ModelFile.txt > OutputFile.txt• 使 用 输 出 文 件 (XLS 格 式 )C:\pict ModelFile.txt > OutputFile.xls


<strong>PICT</strong> 工 具 介 绍<strong>PICT</strong> 的 输 入 文 件• 一 般 称 为 :Model Files• 文 件 格 式 : 分 为 三 个 章 节 ( Sections )Parameter definitions [ 必 选 ]Sub-model definitions [ 可 选 ]Constraint definitions [ 可 选 ]• 章 节 约 束 章 节 不 能 调 整 顺 序 章 节 不 能 出 现 重 叠 章 节 之 间 不 必 使 用 特 殊 的 分 割 符 号 空 行 可 以 出 现 在 任 何 位 置 注 释 行 使 用 “#” 标 注


<strong>PICT</strong> 工 具 介 绍<strong>PICT</strong> 的 输 入 文 件• 简 单 形 式 : 每 个 参 数 占 一 行 : , , , ...• 默 认 的 参 数 取 值 分 隔 符 为 “,”, 但 是 可 以 使 用“/d:” 进 行 更 改• 默 认 的 组 合 方 式 为 “ 两 两 测 试 ”, 但 是 可 以 使 用“/o:” 进 行 更 改• 参 数 名 称 必 须 要 唯 一• 取 值 不 必 唯 一


<strong>PICT</strong> 工 具 介 绍<strong>PICT</strong> 的 输 入 文 件• 例 子 1:772382 组 合 遍 历 测 试 用 例 =7×7×2×3×8×2=4704 个


<strong>PICT</strong> 工 具 介 绍 参 数 数 目 :6 个50004704450040003500300025002000150010005008 6039211812446组 合 1组 合 2组 合 3组 合 4组 合 5组 合 60类 别 1


<strong>PICT</strong> 工 具 介 绍Sub-Models• {, , , ... } @ • 例 子 23342443 组 合 遍 历 测 试 用 例 =3×3×4×2×4×4×3=3456 个


<strong>PICT</strong> 工 具 介 绍Sub-Models• {, , , ... } @ • 例 子 2


<strong>PICT</strong> 工 具 介 绍Sub-Models• {, , , ... } @ • 例 子 2


<strong>PICT</strong> 工 具 介 绍Sub-Models


<strong>PICT</strong> 工 具 介 绍Sub-Models600592500400300200208组 合 1组 合 2组 合 3100210类 别 1


<strong>PICT</strong> 工 具 介 绍Sub-Models 约 束• 子 模 型 只 能 进 行 一 级 , 不 能 深 层 嵌 套• 子 模 型 分 组 可 以 为 任 意 多 个• 参 数 可 以 存 在 于 多 个 子 模 型 中• 每 个 子 模 型 的 组 合 数 最 多 不 超 过 其 参 数 的 最 大数 目• 如 果 不 明 示 子 模 型 组 合 数 , 将 使 用 默 认 的 组 合数


<strong>PICT</strong> 工 具 介 绍 约 束 条 件 表 达•=, , >, >=,


<strong>PICT</strong> 工 具 介 绍 约 束 表 达• 例 子 3


<strong>PICT</strong> 工 具 介 绍 约 束• 例 子 3FAT16:4GFAT32:32G


<strong>PICT</strong> 工 具 介 绍 例 子 4


<strong>PICT</strong> 工 具 介 绍 例 子 5


<strong>PICT</strong> 工 具 介 绍 例 子 6


<strong>PICT</strong> 工 具 介 绍 例 子 6• 无 约 束


<strong>PICT</strong> 工 具 介 绍 例 子 6• 有 约 束


<strong>PICT</strong> 工 具 介 绍 例 子 7


<strong>PICT</strong> 工 具 介 绍 例 子 7


<strong>PICT</strong> 工 具 介 绍 例 子 7


<strong>PICT</strong> 工 具 介 绍 例 子 7


<strong>PICT</strong> 工 具 介 绍 参 数 类 型• 两 种 类 型 : 字 符 型 数 字 型• 仅 当 参 数 为 数 字 型 的 才 可 以 和 数 字 进 行 比 较• 仅 当 参 数 为 字 符 型 的 才 可 以 和 字 符 进 行 比 较• 如 果 取 值 有 多 个 名 字 时 , 仅 计 算 一 次• 字 符 型 的 参 数 大 小 写 敏 感 , 可 以 使 用 “/C:” 进 行改 变


<strong>PICT</strong> 工 具 介 绍 别 名• 使 用 别 名 可 以 为 一 个 取 值 取 多 个 名 称•“|”( 管 道 符 ), 使 用 “/a:” 可 以 更 改• 多 个 名 称 并 不 能 改 变 模 型 的 组 合 复 杂 度 , 一 个值 不 论 有 多 少 个 名 字 , 都 仅 作 为 一 个 “ 实 体 ” 来看 待• 不 同 的 只 是 在 输 出 文 件 中 显 示 的 不 同 , 名 称 将采 用 “ 轮 流 ” 的 形 式 出 现• 当 采 用 参 数 和 取 值 “ 比 较 ” 时 , 只 使 用 第 一 个 值• 当 决 定 参 数 类 型 时 , 只 使 用 第 一 个 值


<strong>PICT</strong> 工 具 介 绍 别 名• 例 子 8


<strong>PICT</strong> 工 具 介 绍 别 名• 例 子 8


<strong>PICT</strong> 工 具 介 绍 别 名• 例 子 8 不 使 用 别 名 :13 个 “ 两 两 ” 组 合 使 用 别 名 :13 个 “ 两 两 ” 组 合


<strong>PICT</strong> 工 具 介 绍 别 名• 例 子 8


<strong>PICT</strong> 工 具 介 绍 别 名• 例 子 8


<strong>PICT</strong> 工 具 介 绍 别 名• 例 子 8


<strong>PICT</strong> 工 具 介 绍 别 名• 例 子 8


<strong>PICT</strong> 工 具 介 绍 逆 向 测 试• 逆 向 测 试 是 在 构 造 仅 有 一 个 输 入 条 件 在 取 值 “ 非法 ” 时 使 系 统 产 生 缺 陷 的 测 试• 测 试 中 往 往 一 个 无 效 的 输 入 会 阻 止 另 外 的 无 效 输入 被 测 试• 逆 向 测 试 要 求 一 个 测 试 用 例 中 不 要 出 现 多 个 无 效输 入


<strong>PICT</strong> 工 具 介 绍 逆 向 测 试•<strong>PICT</strong> 使 用 “~” 来 标 记 逆 向 测 试 中 的 无 效 输 入 , 可以 使 用 “/n:” 来 改 变 标 识 符•<strong>PICT</strong> 通 过 逆 向 测 试 标 记 可 以 做 到 所 有 的 有 效 输 入 组 合 被 覆 盖 所 有 的 无 效 输 入 和 有 效 输 入 至 少 组 合 一 次• 逆 向 测 试 标 记 仅 仅 是 一 个 标 记 , 并 不 是 取 值 的 一部 分• 在 约 束 条 件 , 直 接 使 用 无 效 输 入 , 而 不 需 要 使 用逆 向 测 试 标 记 , 例 如 if [A] = -1 then [B] = 0• 如 果 取 值 存 在 别 名 , 则 只 使 用 第 一 个 值


<strong>PICT</strong> 工 具 介 绍 逆 向 测 试• 例 子 9


<strong>PICT</strong> 工 具 介 绍 逆 向 测 试• 例 子 9


<strong>PICT</strong> 工 具 介 绍 逆 向 测 试• 例 子 916 个 “ 两 两 ”组 合15 个 “ 两 两 ”组 合


<strong>PICT</strong> 工 具 介 绍 权 重• 权 重 必 须 是 正 整 数 , 默 认 的 权 重 为 1• 权 重 可 以 使 <strong>PICT</strong> 更 喜 欢 某 些 取 值 , 但 这 个 并 不 是绝 对 的 , 要 由 <strong>PICT</strong> 依 靠 如 下 两 个 规 则 确 定1 确 保 以 最 小 的 用 例 数 覆 盖 所 有 的 组 合2 尽 量 满 足 权 重 要 求 其 中 1 的 优 先 级 高 于 2 的• 权 重 仅 仅 能 够 “ 尝 试 ” 让 <strong>PICT</strong> 尽 量 “ 偏 向 ” 于 某 些 取值 , 决 定 权 在 于 <strong>PICT</strong>• 权 重 可 以 和 其 他 因 素 共 同 使 用


<strong>PICT</strong> 工 具 介 绍 权 重• 例 子 10


<strong>PICT</strong> 工 具 介 绍 编 排 (“ 种 子 选 手 ”)• 有 特 别 重 要 的 组 合 需 要 在 所 有 的 测 试 生 成 中 产生 对 应 的 用 例 。<strong>PICT</strong> 会 使 用 这 些 重 要 的 组 合 , 并按 照 要 求 的 方 式 覆 盖 其 余 的 组 合 。• 你 可 以 “ 编 排 ” 原 有 的 测 试 用 例 集 , 将 改 动 模 型所 带 来 的 测 试 用 例 集 改 变 最 小 化 。•“ 编 排 ” 必 须 定 义 在 单 独 的 文 件 中• 命 令 参 数pict model.txt /e:seedrows.txt


<strong>PICT</strong> 工 具 介 绍 编 排 (“ 种 子 选 手 ”)•“ 编 排 ” 文 件 格 式 第 一 行 为 参 数 行 , 每 个 参 数 由 TAB 进 行 分 隔“ 编 排 ” 行 为 指 定 的 组 合 形 式 , 由 TAB 进 行 分 隔“ 编 排 ” 行 的 每 个 参 数 可 以 指 定 特 定 的 数 值 , 也 可 以不 进 行 指 定


<strong>PICT</strong> 工 具 介 绍 编 排 (“ 种 子 选 手 ”)•“ 编 排 ” 文 件 约 束 如 果 “ 编 排 ” 文 件 中 存 在 对 应 的 “ 模 型 ” 文 件 中 所 没 有 的参 数 , 则 此 参 数 对 应 的 取 值 都 会 被 忽 略 如 果 “ 编 排 ” 文 件 中 存 在 对 应 的 “ 模 型 ” 文 件 中 所 没 有 的取 值 , 则 此 取 值 会 被 忽 略 。<strong>PICT</strong> 仅 使 用 取 值 范 围 内 的值 如 果 “ 编 排 ” 文 件 中 的 “ 编 排 ” 行 中 取 值 违 法 现 有 的 约 定, 则 <strong>PICT</strong> 会 忽 略 此 “ 编 排 ” 行( 以 上 的 1 和 2 <strong>PICT</strong> 会 产 生 警 告 信 息 )


<strong>PICT</strong> 工 具 介 绍 编 排 (“ 种 子 选 手 ”)•“ 编 排 ” 文 件 约 束 以 下 情 况 下 <strong>PICT</strong> 会 产 生 歧 义• 如 果 参 数 和 取 值 为 空• 如 果 参 数 和 取 值 中 包 含 TAB 键• 如 果 取 值 和 它 的 别 名 在 参 数 中 不 唯 一


<strong>PICT</strong> 工 具 介 绍 编 排• 例 子 11“ 模 型 ” 文 件“ 编 排 ” 文 件


<strong>PICT</strong> 工 具 介 绍 编 排• 例 子 11


<strong>PICT</strong> 工 具 介 绍 随 机 输 出• 如 果 “ 模 型 ” 和 相 关 参 数 不 变 ,<strong>PICT</strong> 总 是 产 生 同 样的 测 试 用 例 集• 如 果 “ 模 型 ” 和 相 关 参 数 不 变 , 使 用 “/r” 参 数 ,<strong>PICT</strong> 就 会 产 生 随 机 的 测 试 用 例 集• 如 果 “ 模 型 ” 和 相 关 参 数 不 变 , 使 用 “/r:seed” 参 数,<strong>PICT</strong> 就 会 产 生 随 机 的 测 试 用 例 集 ( 注 意 :seed的 取 值 范 围 是 0~65535, 超 过 65535 后 , 会 取 其与 65536 的 MOD 数 )


<strong>PICT</strong> 工 具 介 绍 随 机 输 出• 测 试 用 例 集 的 生 产 取 决 于 模 型 的 初 始 条 件• 某 些 测 试 用 例 集 的 生 成 既 要 满 足 组 合 需 求 , 又要 受 限 于 模 型 的 初 始 条 件 , 会 使 其 生 成 的 测 试用 例 集 效 率 低 于 其 他 的 测 试 用 例 集• 尝 试 最 小 化 测 试 用 例 数 使 其 更 有 效 率 时 , 可 以尝 试 多 次 使 用 seed 随 机 输 出 不 同 的 结 果 来 达 到目 的


<strong>PICT</strong> 工 具 介 绍 随 机 输 出• 例 子 12


<strong>PICT</strong> 工 具 介 绍 随 机 输 出• 例 子 12


<strong>PICT</strong> 工 具 介 绍 随 机 输 出• 例 子 12


<strong>PICT</strong> 工 具 介 绍 大 小 写 敏 感•<strong>PICT</strong> 默 认 情 况 下 是 “ 大 小 写 不 敏 感 ” 的 参 数 必 须 唯 一 取 值 不 必 唯 一•<strong>PICT</strong> 使 用 “/c” 来 改 变 “ 大 小 写 敏 感 ”

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!