关于 PictMCP
面向使用 AI 助手生成测试用例的软件开发者的已归档 MCP 服务。它通过 WebAssembly 使用 Microsoft 的 PICT 算法,生成确定性的成对组合,并支持约束和结构化 JSON 输出。
主要功能
- 01生成成对测试用例
- 02应用参数约束
- 03通过 WebAssembly 本地运行
- 04返回结构化 JSON 结果
- 05不进行外部网络调用
适用场景
- 01减少多参数测试的组合数量
- 02生成浏览器、操作系统和语言组合的用例
- 03通过约束排除无效组合
MCP 相关
通过 `generate-test-cases` MCP 工具提供成对测试生成。处理在本地运行,结果以结构化 JSON 返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| parameters | array | 是 | 表示用于 PICT 测试用例生成的参数定义。 |
| constraintsText | string | 否 | 用于筛除无效组合的 PICT 约束表达式。 |
详细介绍
PictMCP
注意
此软件包已归档,今后不再维护。请考虑使用 takeyaqa/tester-skills。
为 AI 助手提供成对测试
PictMCP 是一款面向软件开发者的 MCP 服务,适用于借助 AI 助手设计测试用例,并提供可靠且算法正确的成对测试生成。
为什么要使用它?
- AI 擅长设计测试,但不擅长组合数学。
- 成对测试生成必须确定且正确。
- PictMCP 将思考(AI)与计算(PICT)分开。
更喜欢使用 GUI?请查看 PictRider。
功能
- 🔒 本地处理 - 所有处理都在本地运行,不会进行外部网络调用
- ⚡ 由 WebAssembly 驱动 - 使用编译为 WebAssembly 的 Microsoft PICT 算法快速执行
- 🔗 支持约束 - 定义约束以筛除无效的参数组合
- 📊 结构化输出 - 返回结构良好的 JSON 结果,便于集成
安装
前置条件
- Node.js(v22 或更高版本)
MCP 客户端配置
将以下配置添加到 MCP 客户端中。这是一个配置示例;具体格式可能因客户端而异。详情请参阅 MCP 客户端的文档。
{
"mcpServers": {
"PictMCP": {
"command": "npx",
"args": ["-y", "pictmcp"]
}
}
}
快速开始
安装后,你可以让 AI 助手使用成对组合测试生成测试用例。
提示词示例
为以下参数生成测试用例:
- 浏览器:Chrome、Firefox、Safari
- 操作系统:Windows、macOS、Linux
- 语言:英语、日语、西班牙语
AI 助手将使用 generate-test-cases 工具创建一组经过优化的测试用例,覆盖所有成对组合。
结果示例
AI 助手通常会将结果整理成表格:
# 浏览器 操作系统 语言 1 Chrome Linux 日语 2 Chrome macOS 西班牙语 3 Safari Linux 西班牙语 4 Firefox Linux 英语 5 Safari Windows 英语 6 Firefox Windows 西班牙语 7 Firefox macOS 日语 8 Safari macOS 日语 9 Chrome macOS 英语 10 Chrome Windows 日语
带约束的示例
为以下参数生成测试用例:
- 浏览器:Chrome、Firefox、Safari
- 操作系统:Windows、macOS、Linux
- 语言:英语、日语、西班牙语
约束条件:Safari 只能在 macOS 上运行
你可以用日常语言描述约束,AI 助手会自动将其转换为 PICT 约束语法。
# 浏览器 操作系统 语言 1 Firefox Linux 西班牙语 2 Chrome Windows 西班牙语 3 Firefox Windows 日语 4 Chrome Linux 日语 5 Chrome macOS 英语 6 Firefox Windows 英语 7 Chrome Linux 英语 8 Safari macOS 西班牙语 9 Safari macOS 日语 10 Firefox macOS 西班牙语 11 Safari macOS 英语
常见问题
它会与外部服务通信吗?
不会。所有处理都在本地运行,不会进行外部网络调用。
我已经在使用 pict CLI,还需要这个工具吗?
如果你的 AI Agent 可以直接执行 CLI 命令,可能不需要这个工具。不过,PictMCP 提供:
- 面向 AI 助手的标准化 MCP 接口
- 无需单独安装 PICT(基于 WebAssembly)
- 结构化 JSON 输出,而非 TSV
什么是成对测试?
成对测试(也称为全对测试)是一种组合测试方法,可生成覆盖所有输入参数可能组合对的测试用例。它能显著减少测试用例数量,同时保持较高的缺陷检测率。
支持哪些约束语法?
你无需直接编写 PICT 语法。只需用自然语言描述约束,你的 AI 助手就会负责转换。PictMCP 支持完整的 PICT 约束语法。详情请参阅 PICT 文档。
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
免责声明
PictMCP 按“原样”提供,不附带任何形式的保证。作者不对因使用本项目而造成的任何损害承担责任。
生成的测试用例_不保证覆盖完整_或_不存在缺陷_。请酌情使用其他策略补充成对测试。
PictMCP 是一个独立项目,与 Microsoft Corporation 无关联。
如果你觉得 PictMCP 有用,请考虑为此代码仓库点个星。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。