对抗性 UX 测试
扮演你的产品中最难伺候、最抵触技术的用户。以该角色身份浏览应用,找出每一个 UX 痛点,然后通过务实层过滤抱怨,将真正的问题与噪音区分开来。仅从 genuine issues(真实问题)中生成可操作的工单。
技能元数据
| 来源 | 可选 — 使用 hermes skills install official/dogfood/adversarial-ux-test 安装 |
| 路径 | optional-skills/dogfood/adversarial-ux-test |
| 版本 | 1.0.0 |
| 作者 | Omni @ Comelse |
| 许可证 | MIT |
| 标签 | qa, ux, testing, adversarial, dogfood, personas, user-testing |
| 相关技能 | dogfood |
参考:完整 SKILL.md
以下是 Hermes 在触发此技能时加载的完整技能定义。这是技能激活时代理看到的指令。
对抗性 UX 测试
扮演你产品的最坏情况用户——那个讨厌技术、不想要你的软件,并且会找各种理由抱怨的人。然后通过务实层过滤他们的反馈,将真正的 UX 问题与“我讨厌电脑”的噪音区分开来。
可以将其视为自动化的“妈妈测试”(mom test)——但是是愤怒版的。
为什么这有效
大多数 QA 寻找的是 bug。而这里寻找的是摩擦。一个技术上正确的应用对于真实人类来说仍然可能无法使用。对抗性角色能够捕捉到:
- 对开发者有意义但对用户令人困惑的术语
- 完成基本任务所需的步骤过多
- 缺少引导或“顿悟时刻”(aha moments)
- 无障碍性问题(字体大小、对比度、点击目标)
- 冷启动问题(空状态、无演示内容)
- 阻碍转化的付费墙/注册摩擦
务实过滤器(第 3 阶段)是让此方法变得有用而不仅仅是有趣的关键。如果没有它,你可能会因为爷爷搞不定 PDF 而在每个页面上都添加一个“打印此页”按钮。
如何使用
告诉代理:
"Run an adversarial UX test on [URL]"
"Be a grumpy [persona type] and test [app name]"
"Do an asshole user test on my staging site"
你可以提供一个人物角色,或者让代理根据你的产品的目标受众生成一个。
第 1 步:定义人物角色
如果未提供人物角色,请通过回答以下问题来生成一个:
- 谁是该产品最难伺候的用户?(50 岁以上,非技术角色,几十年经验都用“老办法”做事)
- 他们的技术舒适度如何?(越低越好——只用 WhatsApp,用纸质笔记本,邮箱是妻子帮忙设置的)
- 他们需要完成的唯一一件事是什么?(他们的核心工作,而不是你的功能列表)
- 什么会让他们放弃?(点击次数太多、行话、速度慢、令人困惑)
- 他们受挫时怎么说话?(直率、骂人、轻蔑、叹气)
好的人物角色示例
“大麦克”麦卡利斯特 (Big Mick McAllister) —— 58 岁的力量与体能教练。只用 WhatsApp。他的“电子表格”是一个纸质笔记本。“如果我不能在 10 秒内弄明白,我就回去用我的笔记本。”需要记录 25 名球员的训练结果。讨厌小字体、行话和密码。
坏的人物角色示例
“一个不喜欢该应用的用户” —— 太模糊,没有约束条件,没有语气特征。
人物角色必须具体到足以在 20 分钟的测试过程中保持角色一致。
第 2 步:扮演混蛋(以人物角色身份浏览)
-
阅读任何可用的项目文档以了解应用背景和 URL
-
完全融入人物角色 —— 他们的挫折感、局限性、目标
-
使用浏览器工具导航到应用
-
尝试人物角色的实际任务(而不是功能游览):
- 他们能做他们来做的事吗?
- 完成它需要多少次点击/多少个屏幕?
- 什么让他们困惑?
- 什么让他们生气?
- 他们在哪里迷失方向?
- 什么会让他们放弃并回到旧方法?
-
测试这些摩擦类别:
- 第一印象 —— 他们甚至会愿意越过落地页吗?
- 核心工作流 —— 他们最需要做的唯一一件事
- 错误恢复 —— 当他们做错事时会发生什么?
- 可读性 —— 文本大小、对比度、信息密度
- 速度 —— 感觉比他们当前的方法快吗?
- 术语 —— 有任何他们不懂的行话吗?
- 导航 —— 他们能找到回去的路吗?他们知道自己在哪里吗?
-
截取每个痛点的屏幕截图
-
在每个页面上检查浏览器控制台是否有 JS 错误
第 3 步:咆哮(以角色身份撰写反馈)
以人物角色的身份撰写反馈 —— 用他们的声音,带着他们的挫折感。这不是 bug 报告。这是一个真实人类的发泄。
[PERSONA NAME]'s Review of [PRODUCT]
Overall: [Would they keep using it? Yes/No/Maybe with conditions]
THE GOOD (grudging admission):
- [things even they have to admit work]
THE BAD (legitimate UX issues):
- [real problems that would stop them from using the product]
THE UGLY (showstoppers):
- [things that would make them uninstall/cancel immediately]
SPECIFIC COMPLAINTS:
1. [Page/feature]: "[quote in persona voice]" — [what happened, expected]
2. ...
VERDICT: "[one-line persona quote summarizing their experience]"
第 4 步:务实过滤器(关键 — 请勿跳过)
跳出人物角色。作为产品人员评估每个抱怨:
- 红色:真实 UX Bug —— 任何用户都会遇到这个问题,不仅仅是脾气暴躁的用户。修复它。
- 黄色:有效但低优先级 —— 真实问题,但仅针对极端用户。记录下来。
- 白色:人物角色噪音 —— “我讨厌电脑”之类的言论,不是产品问题。跳过。
- 绿色:功能请求 —— 隐藏在抱怨中的好主意。考虑一下。
过滤标准
- 一位能干但忙碌的 35 岁用户会有同样的抱怨吗?→ RED
- 这是否是一个真正的无障碍问题(字体大小、对比度、点击目标)?→ RED
- 这是否是“我希望它像纸质一样工作”的对数字化的抵触?→ WHITE
- 这是否是角色人物偶然遇到的真实工作流低效问题?→ YELLOW 或 RED
- 修复此问题是否会为 80% 没问题的用户增加复杂性?→ WHITE
- 该抱怨是否揭示了缺失的新手引导环节?→ GREEN
此过滤器是强制性的。 切勿将原始的角色人物抱怨直接作为工单提交。
步骤 5:创建工单
仅针对 RED 和 GREEN 项:
- 清晰、可执行的标题
- 包含角色人物的原话引用(有趣且令人难忘)
- 底层真实的 UX 问题(客观描述)
- 建议的修复方案(可执行)
- 标签/标记:"ux-review"
对于 YELLOW 项:创建一个包含所有笔记的综合工单。
WHITE 项仅出现在报告中。不创建工单。
每次会话最多 10 个工单 — 专注于最严重的问题。
步骤 6:报告
交付内容:
- 角色人物的抱怨(步骤 3)— 有趣且直观生动
- 过滤后的评估(步骤 4)— 务实且可执行
- 创建的工单(步骤 5)— 附带链接
- 关键问题的截图
提示
- 每次会话仅限一个角色人物。 不要混合不同视角。
- 在步骤 2-3 中保持角色状态。 仅在步骤 4 中跳出角色。
- 首先测试核心工作流 (CORE WORKFLOW)。 不要被设置页面分散注意力。
- 空状态 (Empty states) 极具价值。 新用户体验能揭示最多的摩擦点。
- 最好的发现是角色人物在尝试做其他事情时偶然发现的 RED 项。
- 如果角色人物没有任何抱怨,说明你的角色人物太精通技术了。 让他们年龄更大、耐心更少、更固守成规。
- 在演示、发布之前,或在发布一批功能之后运行此测试。
- 尽可能注册为 NEW 用户。 不要使用预置的管理员账户 — 冷启动体验才是摩擦点最多的地方。
- 零个 WHITE 项是一个信号,而非失败。 如果务实性过滤器没有发现噪音,说明你的产品存在真正的 UX 问题,而不仅仅是因为角色人物脾气暴躁。
- 在测试之后检查项目文档中的已知问题。 如果角色人物发现了一个已在已知问题列表中的 bug,这实际上是最严厉的指控 — 这意味着团队知道该问题,但从未切身感受到用户的痛苦。
- 订阅/付费墙测试至关重要。 使用过期账户进行测试,而不仅仅是活跃账户。“当你无法支付时会发生什么”的体验揭示了产品是尊重用户还是将他们的数据作为人质。
- 统计完成角色人物单一任务所需的点击次数。 如果超过 5 次,无论角色人物的技术水平如何,这几乎总是一个 RED 发现。
按行业划分的角色人物示例
这些是起点 — 请根据你的具体产品进行定制:
| 产品类型 | 角色人物 | 年龄 | 关键特征 |
|---|---|---|---|
| CRM | 养老院院长 | 68 | 文件柜就是当前的 CRM |
| 摄影 SaaS | 乡村婚礼摄影师 | 62 | 通过电话预约客户,用纸开发票 |
| AI/ML 工具 | 百货公司采购员 | 55 | 曾被 3 家失败的科技初创公司坑过 |
| 健身应用 | 老派健身房教练 | 58 | 使用纸质笔记本,手指粗大,视力不佳 |
| 会计软件 | 家庭面包店老板 | 64 | 鞋盒里装满收据,讨厌订阅制 |
| 电子商务 | 市场摊位商贩 | 60 | 只收现金,智能手机仅用于打电话 |
| 医疗保健 | 资深全科医生 | 63 | 口述笔记,由护士操作电脑 |
| 教育 | 资深教师 | 57 | 粉笔讲授,活页夹里装着工作表 |
规则
- 在步骤 2-3 中保持角色状态
- 真正严厉但公平 — 发现真实问题,而非制造问题
- 务实性过滤器(步骤 4)是 强制性的
- 每个抱怨都需要截图
- 每次会话最多 10 个工单
- 在预发布/已部署的应用上测试,而非本地开发环境
- 一个角色人物,一次会话,一份报告