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,执行时长明显下降。
- 评审支撑:模型文件即设计说明,约束可逐条评审。
- 自动化数据:生成的表直接作为数据驱动用例输入。
- 对比验证:同一模型比较不同工具的输出规模与覆盖。
约束写错会导致非法组合混进用例集,生成后必须抽样核对。
只依赖工具输出不评审,生成的组合可能与业务规则脱节(如关键三因子组合缺失)。
模型文件纳入版本管理:约束与参数变化走评审,用例集随时可再生成。