PICT 测试设计器
基于微软 PICT 成对组合测试方法,自动为需求或代码生成精简且高覆盖率的测试用例套件,用例数可减少约 99%。
SKILL.md 本身为只读的测试设计指引,不执行破坏性操作、不请求敏感权限、数据流向透明(模型文本可交由在线工具或本地 PICT 处理);但存在把用户模型发送到第三方在线网站的建议(潜在数据外发路径未作风险提示),且仓库级许可元数据为 NOASSERTION,发布者身份未验证。扣分点:第三方外发建议无警示、归属链条部分依赖未验证身份。
工作流步骤自洽,示例模型/约束语法基本一致,含故障排查章节;但 SKILL.md 指引使用 scripts/pict_helper.py 与 references/pict_syntax.md、references/examples.md,而 STRUCTURE.md/README 明确承认这些是占位或基础实现,关键路径可能跑不通;核心执行实际依赖外部 PICT 工具而非技能自身。静态评审封顶 10,另因引用文件缺失扣分。
适用场景(多参数组合测试)描述清晰,含使用/避免事项与示例,触发语义('design test cases using pict')较明确;但未声明能力边界与非适用范围,无中文支持,且核心执行推荐的在线 PICT 工具对中国大陆用户可能不可达。扣分点:边界声明缺失、中文与环境可达性未处理。
有 CHANGELOG(语义化版本)、MIT LICENSE(含 PICT/pypict 归属)、CONTRIBUTING、多层文档结构,可维护性框架良好;但 README 自认 references 与 helper 脚本为待建占位,与 SKILL.md 的引用矛盾,许可元数据 NOASSERTION 与实际 LICENSE 不一致,维护责任仅由个人承担。扣分点:文档与实际内容脱节、元数据不一致。
技能能产出 PICT 模型、测试用例表与预期结果,方法论(成对组合测试)确有真实价值;但实际用例生成交给用户手工使用在线工具或自装 PICT,产出完整闭环未被验证,ATM/变速箱示例数字(如 99.88% 缩减)仅为作者声称。静态评审封顶 7,且闭环执行依赖外部扣分。
CI 仅校验文件存在与 markdown 链接,不含针对技能关键路径的测试或第三方执行证据;成效数据(缩减比例、用例数)无独立来源佐证,仅限作者自述材料。静态评审封顶 5,证据类型单一故再扣。
- 技能建议将用户生成的 PICT 模型粘贴到第三方在线网站,模型可能含业务敏感信息,建议改用本地 PICT/pypict。
- SKILL.md 引用的 references/pict_syntax.md、references/examples.md 与 scripts/pict_helper.py 被仓库自身标注为占位或基础实现,关键辅助路径可能不可用。
- 推荐的在线成对测试工具可能无法从中国大陆直接访问,且技能无中文支持。
- 成效数字(99.88% 缩减、31 个用例等)为作者声称,未经独立验证。
- 许可元数据为 NOASSERTION,虽然仓库含 MIT LICENSE 文件,使用前请自行确认。
这个 Skill 能做什么,适合哪些场景?
这是一个 Claude 技能,通过成对独立组合测试(PICT)方法系统化地设计测试用例。它分析用户的需求或代码,识别测试参数、取值和业务约束,生成 PICT 模型,并输出测试用例的 Markdown 表格及每个用例的预期结果。README 中的 ATM 系统示例显示:25,920 种可能组合被压缩为 31 条测试用例,减少 99.88%。技能依赖微软开源的 PICT 工具和 pypict Python 绑定,附带完整的 PICT 语法参考和跨领域示例文档。
技能读取用户提供的需求描述或代码,识别输入参数、通过等价类划分确定取值集、提取业务规则作为约束;随后生成符合 PICT 语法的模型文件(参数定义 + IF/THEN 约束语句),并产出三部分结果:完整 PICT 模型、带编号的测试用例 Markdown 表格、以及每条用例的预期输出。可选地,用户可将模型文本粘贴到在线 PICT 工具或本地安装的 PICT 运行生成实际用例;仓库还提供 scripts/pict_helper.py 辅助脚本用于从 JSON 配置生成模型、将 PICT 输出格式化为 Markdown 表格或解析为 JSON。
- 测试工程师在为多输入参数的登录/认证流程设计测试套件时,希望覆盖凭据有效性、2FA 开关、失败次数等所有两两组合
- 开发者在测试 API 端点时,需要对 HTTP 方法、认证状态、内容类型、载荷大小等参数做组合覆盖
- QA 人员验证 Web 表单校验逻辑,覆盖姓名、邮箱、密码、条款勾选等字段的有效/无效组合
- 运维或配置管理场景下,测试环境、缓存开关、日志级别、数据库类型等配置组合
- 移动测试团队需要组合设备、操作系统、屏幕方向、网络条件等测试矩阵
- 需要编写 ATM 结算等复杂业务系统的测试计划,并大幅缩减穷举用例数量
这个 Skill 有哪些优点和局限?
- 用例压缩效果显著:ATM 示例从 25,920 种组合缩减到 31 条用例(减少 99.88%),覆盖全部两两交互
- 不只生成用例,还为每条用例给出具体预期输出,并内置约束语法参考与多领域示例文档
- 提供插件市场、手动克隆、submodule、Releases 精简包等五种安装方式,适配个人与团队场景
- MIT 许可,基于微软官方 PICT 与 pypict,方法论有出处可查
- 成对覆盖不等于全组合覆盖,多参数交互缺陷(3-way 及以上)可能漏测
- 模型到实际用例的执行依赖外部工具(在线 PICT 网站或本地 PICT),技能本身不直接运行 PICT
- README 中部分文档(references/pict_syntax.md、references/examples.md、scripts/pict_helper.py)标注为"待创建",完整度存疑
- 仓库 License 字段为 NOASSERTION,与 README 声明的 MIT 不一致,采用前需核实
- 仓库未提供自动化测试套件,无独立的质量验证证据
如何安装这个 Skill?
提供多种安装方式:1) 通过 Claude Code 插件市场:依次执行 /plugin marketplace add omkamal/pypict-claude-skill 和 /plugin install pict-test-designer@pypict-claude-skill;2) 手动克隆到个人技能目录:git clone https://github.com/omkamal/pypict-claude-skill.git ~/.claude/skills/pict-test-designer(项目级安装则放入 .claude/skills/ 下);3) 通过 git submodule 共享给团队;4) 从 GitHub Releases 下载约 9 KB 的精简包(仅含 SKILL.md、LICENSE 和 references/)。安装后重启 Claude Code 即可加载。
如何使用这个 Skill?
安装后直接用自然语言触发,例如输入:"Design test cases for a login function with username, password, and remember me checkbox."(为一个带用户名、密码和记住我复选框的登录函数设计测试用例)。Claude 会分析需求、识别参数与取值、生成含约束的 PICT 模型、列出带预期输出的测试用例表格。如需实际执行模型,可将模型文本保存后粘贴到在线 PICT 工具(如 pairwise.yuuniworks.com),或本地安装 PICT/pypict 运行。仓库还包含一个完整的 ATM 示例(examples/atm-specification.md),可要求技能基于该规范生成测试计划。
这个 Skill 与同类方案有什么区别?
技能本身明确基于微软的 PICT 工具(Jacek Czerwonka 开发)和 Kenichi Maehashi 的 pypict Python 绑定构建,可视为在 PICT 命令行工具之上增加了 AI 驱动的需求分析和模型编写能力。