首页/开发/软件测试速查/PICT 生成成对组合用例
用例设计方法62 条

PICT 生成成对组合用例

微软 PICT 工具从参数模型文件生成组合用例:支持权重、约束(IF-THEN)与多轮输出,适合落地 pairwise 设计。

软件测试速查开发更新于 2026-10-13

PICT 是什么

PICT 是微软出品的组合测试用例生成工具:从参数模型文件生成成对组合(pairwise)用例,支持取值权重、约束(IF-THEN)与多轮输出,适合把 pairwise 设计落地到日常用例集。工具只负责生成——生成质量取决于你对参数与约束的整理是否准确。

基本信息

工具Microsoft PICT(命令行工具)
模型文件参数与取值按「参数: 值1, 值2」语法书写
约束语法IF [条件] THEN [结果]; 可组合 AND 等条件
多轮输出/o:2 输出更高阶组合,覆盖三因子等交互
取值权重可为取值标注权重,提高关键取值出现频率
输出格式制表符分隔的用例表,便于导入脚本与工具
约束校验无解或冲突时工具报错,先排查模型

模型文件示例

模型文件示例
# model.txt
浏览器: Chrome, Firefox, Safari
系统: Windows, macOS, Linux
语言: 中文, 英文

IF [系统] = "Linux" THEN [浏览器] <> "Safari";

执行

执行
pict model.txt > cases.txt
pict model.txt /o:2 > cases2.txt   # 更高阶组合
# 生成后抽样核对:非法组合应为 0,关键组合应在列

生成后核对

检查项核对方法
非法组合应为 0,抽样核对约束是否生效
关键组合高风险取值组合确认在列或显式补测
覆盖度统计两两组合覆盖率,与模型预期比对
重复度用例高度重复时考虑收紧参数或权重

典型使用场景

  • 界面矩阵:浏览器、系统、语言等常规组合降规模。
  • 接口参数:字段取值多但相互弱耦合的场景。
  • 回归缩减:全组合改 pairwise,执行时长明显下降。
  • 评审支撑:模型文件即设计说明,约束可逐条评审。
  • 自动化数据:生成的表直接作为数据驱动用例输入。
  • 对比验证:同一模型比较不同工具的输出规模与覆盖。
约束写错会导致非法组合混进用例集,生成后必须抽样核对。
只依赖工具输出不评审,生成的组合可能与业务规则脱节(如关键三因子组合缺失)。
模型文件纳入版本管理:约束与参数变化走评审,用例集随时可再生成。

易错点

  • 约束写错导致非法组合混进用例集。
  • 只依赖工具输出不评审,生成的组合与业务规则脱节。
  • 模型参数与真实取值脱节,覆盖清单好看但没用。
  • 生成后不复核就全量执行,浪费执行时长。
  • 模型文件不入库,别人无法再生成与维护用例集。

数据来源与参考

  • 微软 PICT 官方文档(github.com/microsoft/pict)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌