Skip to content

About

模拟 300 名性格完全不同的虚拟用户对你的产品进行全方位体验测试。每个用户会从自己的视角给出 ⭐1.0-5.0 的应用商店式评分,并自动发现 Bug。

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

license Apache License 2.0
tags
agent-skill
testing
UAT
crowd-testing
virtual-users

crowd-test · 300 人虚拟用户众测

一个 Agent Skill:让 AI 模拟 300 名性格各异的虚拟用户,对可真实访问的产品(URL 或本地项目)进行众测,产出类应用商店的综合评分、性格分群报告和结构化 Bug 清单,并支持修复后的回归对比。

它解决什么问题

普通的"让 AI 扮演用户测试"有三个痛点:

  1. 用户是假的——AI 嘴上说"300 人",实际只凭空想象了几个样本;
  2. Bug 是编的——不看真实产品,凭产品描述脑补问题;
  3. 结果不可复现——每次测出来都不一样,修复前后无法对比。

crowd-test 用工程化方式解决:

  • 📇 300 份画像真实生成:generate_users.py 确定性生成 300 名用户(姓名/性格/设备/系统/浏览器/网络/口头禅/评分偏移/Bug 敏感度),同一 seed 结果完全一致;
  • 🔍 必须真实访问产品:浏览器实测或通读代码,每个 Bug 都有真实依据,并归属到"最可能发现它"的性格用户;
  • 📊 评分确定性计算:build_report.py 按 clamp(base + rating_bias×0.5 + 噪声, 1.0, 5.0) 聚合,修复后用相同 seed 重测,自动产出回归对比。

工作流程

阶段一  确认产品入口(必须可访问)→ 梳理功能清单并请用户确认
阶段二  运行 generate_users.py → 真实生成 300 名用户(30 种性格 × 10 人)
阶段三  真实实测每个功能 → Bug 记录到 findings.json,归属到具体用户 ID
阶段四  运行 build_report.py → 总览卡片 + 性格分群 + Bug 清单 + Markdown 报告
阶段五  修复后相同 seed 重测 → 报告自动带回归对比

30 种性格类型

完美主义者(细节控)、暴躁老哥(急性子)、技术宅(极客)、小白用户、商务精英(效率党)、学生党、设计师(审美癌)、产品经理(逻辑怪)、老年用户、安全专家(白帽)、性能狂魔(测速人)、苹果用户(生态党)、开源爱好者、打工人、自媒体博主、游戏玩家、数据控、夜间党、多设备用户(同步控)、隐私卫士、新手妈妈、自由职业者、996 程序员、考研党、外籍用户、残障用户(无障碍)、数码小白领、竞品用户(对比党)、佛系用户、二刺猿——每种性格有独立的评分倾向、Bug 敏感度和主攻 Bug 方向(如安全专家专攻 XSS/越权,残障用户专攻键盘导航/读屏兼容)。

输出示例

╔══════════════════════════════════════════╗
║   🏆 某产品 · 300 人众测结果
╠══════════════════════════════════════════╣
║   综合评分  ⭐ 3.40 / 5.0
║   5分 █░░░░░░░░░░░░░   3.7% (11人)
║   4分 ██████░░░░░░░░  43.0% (129人)
║   3分 ███████░░░░░░░  49.3% (148人)
║   2分 █░░░░░░░░░░░░░   4.0% (12人)
║   🐛 Bug 42 个:P0:2  P1:8  P2:19  P3:10  P4:3
╚══════════════════════════════════════════╝

完整报告为 Markdown 文件,含:评分分布、30 组性格分群评分、按 P0–P4 排序的完整 Bug 详情(复现步骤/预期 vs 实际/环境/修复建议)、精选用户原声、300 人评分明细附录、回归对比。

仓库结构

├── SKILL.md                  # 技能定义:触发描述 + 五阶段流程 + 四条铁律
├── README.md                 # 本文件(仓库卡片,不参与技能运行)
├── scripts/
│   ├── generate_users.py     # 确定性生成 300 名用户画像(--seed 可复现)
│   └── build_report.py       # 评分聚合 + Markdown 报告渲染 + 回归对比
└── references/
    └── personas.md           # 30 种性格的主攻 Bug 方向与口吻参考

使用方式

方式一:作为 Agent Skill 加载

支持 Agent Skills 标准的平台(Claude / Kimi / ms-agent 等)安装本技能后,直接说:

"帮我用 crowd-test 测试一下 http://localhost:5173" "模拟 300 个用户众测我的软件"

方式二:ModelScope Hub 加载(ms-agent)

agent = create_agent_skill(
    skills='<owner>/crowd-test',   # 本仓库
    model='Qwen/Qwen3-235B-A22B-Instruct-2507',
    use_sandbox=True,
)

方式三:只用脚本

两个脚本均可独立运行,不依赖 Agent:

python3 scripts/generate_users.py --seed 20261001 --out users.json
python3 scripts/build_report.py --users users.json --findings findings.json \
    --base 3.4 --product "我的产品" --seed 20261001 --out 众测报告.md

无第三方依赖,Python 3.8+ 标准库即可运行。

触发示例

  • "帮我测试一下这个产品"
  • "模拟 300 个用户测试我的软件"
  • "众测 / 大规模用户验收测试"
  • "crowd testing / mass UAT"

边界说明

  • 被测产品必须可以真实访问(URL 或本地项目);只有文字描述时,技能会先索要入口,不会凭描述虚构测试结果。
  • 技能内的评分和 Bug 归属由真实测试 + 确定性脚本共同驱动,AI 只负责实测、定基准分和撰写符合性格的用户原声。

License

MIT

About

模拟 300 名性格完全不同的虚拟用户对你的产品进行全方位体验测试。每个用户会从自己的视角给出 ⭐1.0-5.0 的应用商店式评分,并自动发现 Bug。

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages