Pairwise Test Design
用途
- 解决“组合一多就测不完”与“只测几组又没把握”的矛盾。
- 适合多参数输入、配置开关、角色权限、环境差异和兼容性矩阵场景。
默认做法
- 先列出真正影响行为的维度,而不是把所有字段机械塞进组合矩阵。
- 为每个维度划分代表性取值:正常值、边界值、特殊值、禁用值或高风险值。
- 先标记硬约束和非法组合,避免生成“业务上根本不成立”的用例。
- 当全量笛卡尔积过大时,优先用 pairwise 覆盖两两交互;仅把高风险路径、历史缺陷路径和关键业务规则额外补成定向用例。
- 输出结果时要说明:哪些组合由 pairwise 覆盖,哪些高风险场景是额外补充,不把 pairwise 误当成全覆盖。
触发信号
- 输入参数、配置项、权限条件或终端环境一多,就出现组合爆炸。
- QA 或研发需要在有限时间内确定“先测哪些组合最值”。
- 历史缺陷往往出现在两个条件叠加,而不是单一字段错误。
- 需要把测试矩阵压缩到可执行规模,但又不能只凭经验随便挑几组。
配套约束
- 先遵循 rules/common/testing.md 的主路径、边界态和分层策略。
- 把 pairwise 结论回写到 QA 侧测试说明或 artifact-standards.md 的 Test Plan 字段要求,形成正式测试矩阵。
- 对修复类改动,pairwise 不能替代针对已知缺陷的定向复现用例。
- 对安全、金额、权限升级、计费、数据删除等高风险逻辑,不要只停在 pairwise,必须补业务关键规则和失败路径。
- 若团队已有 PICT、pypict 或等价组合工具,可以用它生成候选矩阵;若没有工具,也可以手工收敛维度和组合,但要显式记录裁剪依据。
Source: hashgraph-online/awesome-codex-plugins → plugins/Colin4k1024/tsp/skills/pairwise-test-design/SKILL.md