2026年8月4日 · 阅读 —

一个 Claude Skill 把 25,920 个测试用例砍到 30 个——微软的 PICT 终于有人打包了

Agent 与 Skills测试与评测

一个 Claude Skill 把 25,920 个测试用例砍到 30 个——微软的 PICT 终于有人打包了

做测试的应该都遇到过这种场景:

需求评审完了,参数表列出来了,手算一下全组合——八万多个用例。老板说周四要,排期两周。你只能凭经验挑几个”看起来容易出问题”的,测完心里完全没底。

这不是不认真,这是穷举测试在真实项目里根本跑不动。

最近 GitHub 上有人把微软内部用了十几年的成对组合测试工具 PICT,打包成了一个 Claude Skill。项目叫 pypict-claude-skill,作者是 omkamal。

一个 Claude Skill,让 AI Agent 自动用微软 PICT 的成对组合测试方法论,从需求参数表生成最小覆盖的测试用例——把 25,920 个用例缩到 30 个左右,而且覆盖不漏。


1. 成对组合测试,不是穷举而是数学省力

PICT 的核心逻辑:大部分 bug 是由单个参数或两个参数交互触发的,三个以上参数同时出问题的概率极低。所以不跑所有组合,只覆盖所有”两两组合”——覆盖率不掉,用例数能砍掉 99% 以上。

项目文档里 ATM 系统的例子很直观:8 个参数,每个 3-5 个取值,穷举 25,920 个用例,PICT 约 30 个。

2. 自动从需求建参数模型

你不需要自己写 PICT 模型文件。在 Claude 里直接说人话:

Design test cases for a login function with username, password, and remember me checkbox.

AI 会自动分析出参数、取值、约束条件,生成 PICT 模型,然后跑出最小用例集。这个”从人话到模型”的转换,是它最值钱的地方——之前用 PICT 得先学它的语法,现在直接说需求就行。

3. 支持业务约束规则

现实世界的参数不是随便组合的——macOS 上不可能有 IE 浏览器,4GB 内存的机器不可能跑 macOS。这些约束在模型里写清楚,PICT 生成时会自动跳过无效组合:

IF [OS] = "MacOS" THEN [Browser] <> "IE";
IF [Memory] = "4GB" THEN [OS] <> "MacOS";

4. 自动推导预期结果

不只是生成参数组合。每个用例的”预期输出”也是 AI 根据业务逻辑推导的——从 “Login succeeds, user redirected to dashboard” 到具体报错信息,都写得清楚。这一步省掉了手动填预期结果的重复劳动。

5. 覆盖场景不限于 API 测试

项目文档列出的适用场景包括函数/API 测试、系统配置组合、表单验证、用户认证流程、浏览器兼容性、移动端设备/OS/屏幕组合、硬件接口测试——基本覆盖了日常测试工作里需要做参数组合的场景。

6. 安装方式够多,零门槛上手

提供了 5 种安装方式,从插件市场一键安装到 git clone 到下载 ZIP 包都行。最省事的两行:

/plugin marketplace add omkamal/pypict-claude-skill
/plugin install pict-test-designer@pypict-claude-skill

7. 附带了完整的 ATM 真实示例

项目里有一个完整的 ATM 系统测试用例集,从规格文档到 PICT 模型到最终 31 条测试用例,全部可查。这不是理论演示,是能直接参考的模板。我看了下,ATM 系统的参数有 8 个维度——交易类型、卡类型、PIN 状态、账户类型、金额、现金余额、网络状态、卡片状况——每个维度 3-5 个取值,31 条用例覆盖了全部两两组合。

8. 有最佳实践指南,不教人瞎用

文档里专门给了参数命名的建议、等价类划分的写法、边界值怎么取、预期输出怎么写——都是具体到例子级别的指导。比如不要写 “Works” 或 “Success” 这种模糊的预期,要写 “Login succeeds, user redirected to dashboard”。


这个 Skill 的流程说白了就是”需求 → 模型 → 用例”的自动化管道:

flowchart TD
  A[测试需求描述]
  B[参数识别 - 等价类划分]
  C[约束规则定义]
  D[PICT 模型生成]
  E[成对组合生成]
  F[预期输出推导]
  G[用例表输出]

  A --> B
  B --> C
  C --> D
  D --> E
  E --> F
  F --> G

安装

推荐走插件市场,最简单:

/plugin marketplace add omkamal/pypict-claude-skill
/plugin install pict-test-designer@pypict-claude-skill

装完重启 Claude Code,就能用了。

命令速查

用途命令说明
插件市场安装/plugin marketplace add omkamal/pypict-claude-skill添加市场源
安装 skill/plugin install pict-test-designer@pypict-claude-skill自动保持更新
个人目录安装git clone ... ~/.claude/skills/pict-test-designer所有项目可用
项目级安装git clone ... .claude/skills/pict-test-designer仅当前项目
子模块共享git submodule add ...团队共享
验证安装直接问 Claude:Do you have access to the pict-test-designer skill?确认可用

使用

安装后直接问 Claude:

Design test cases for a login function with username, password, and remember me checkbox.

AI 会自动完成:需求分析 → 参数识别 → 约束建模 → 用例生成 → 预期输出 → 表格输出。


这个项目不是它把测试用例数砍了 99%,而是它把”测试设计方法论”这件事做成了 AI Agent 能理解、能执行的技能。

测试行业的痛点从来不是”跑用例”——自动化框架早就解决了。痛点一直是”设计用例”:怎么从一堆参数里找出最有效的组合,怎么保证覆盖不遗漏,怎么让新来的同事也能写出跟老测试一样质量的用例。

PICT 本身已经存在十几年了,微软内部一直在用。但把它装进 Claude Skill,让它从”你得先学会 PICT 语法才能用”变成”你说人话它就能出用例”——这个转换才是真正的价值。不过得说清楚,Pairwise 是”高覆盖、低成本”的折中方案,不是”零遗漏”,安全关键系统建议结合更严格的测试策略。

#测试 #PICT #成对组合测试 #Claude #开源工具 #质量保障 #自动化测试 #测试设计 #微软 #AI测试