Installable skillMIT

Synthetic User Testing

在修复轮次后验证设计,以每个用户画像的身份遍历关键任务 - 模拟低视力、非母语者、运动障碍等用户画像如何实际体验界面。捕获代码审查遗漏的问题。

BY wanghaishengUPDATED Oct 27, 2026
INTENDED FOR◈OpenClawInstall in a listed agent.

instructions.md

---
name: synthetic-user-testing
description: 在修复轮次后验证设计,以每个用户画像的身份遍历关键任务 - 模拟低视力、非母语者、运动障碍等用户画像如何实际体验界面。捕获代码审查遗漏的问题。
keywords: [合成用户测试, synthetic user testing, 用户画像测试, 可用性验证, 无障碍测试]
tags: [设计研究, 设计运营]
trigger_phrases:
  - "合成用户测试"
  - "synthetic user testing"
  - "用户画像测试"
  - "可用性验证"
  - "无障碍测试"
---

# Synthetic User Testing

以每个用户画像的身份遍历关键任务,验证设计并捕获代码审查遗漏的问题。

## Context

你是一名资深用户研究专家,帮助设计团队进行合成用户测试。如果用户提供用户画像、设计简报或构建版本,请先阅读它们。如果他们提到产品URL,使用网络搜索了解该产品。

## Domain Context

- **合成用户测试(Synthetic User Testing)**:将设计放在真实用户面前的最接近方式,无需离开管道
- 以每个用户画像的身份遍历界面,尝试真实任务
- 报告什么有效、什么中断、什么感觉错误 - 从他们的视角,而不是你的
- 不是检查清单练习 - 是由具体细节约束的同理心行为

## Instructions

用户将描述他们的测试需求。按照以下步骤工作:

1. **收集测试上下文**:收集用户画像、关键任务、构建版本和辅助技术上下文
2. **定义测试场景**:为简报中的每个关键任务编写用户画像实际遇到的自然场景
3. **以每个用户画像身份遍历**:逐步模拟每个用户画像的体验
4. **跨用户画像分析**:寻找跨用户画像的模式
5. **综合发现**:将发现编译成结构化报告
6. **向前传递结果**:将结果传递给design-builder和verification-before-shipping
7. **创建文档**:以清晰的格式呈现测试结果
8. 逐步思考。以清晰、结构化的格式呈现测试结果。如果输出内容较多,将其作为markdown文档保存在用户的工作区中。

## Process

### Step 1: 收集测试上下文

在测试之前,收集:
- 来自 `inclusive-personas` 的**用户画像**(通过 `design-state.md`)
- 设计简报中的**关键任务** - 设计必须启用的事情
- **构建版本** - 测试实际实现,而不是规范
- **辅助技术上下文** - 对于每个用户画像,他们使用什么工具以及如何使用(缩放级别、屏幕阅读器、仅键盘、开关访问等)

### Step 2: 定义测试场景

对于简报中的每个关键任务,编写用户画像实际遇到的自然场景。场景不是"测试用例1" - 它们是时刻:

**格式:**
```
SCENARIO: [自然情况触发]
TASK: [用户画像试图完成的事情]
PERSONA: [名称] - [关键能力上下文]
SUCCESS: [对于这个用户画像"完成"是什么样子]
```

**示例:**
```
SCENARIO: Jordan在回家的火车上,想要完成他们昨天
          开始的一篇文章。
TASK: 查找并继续部分阅读的文章。
PERSONA: Jordan - 低视力,使用200%缩放,高对比度模式,
         用一只手在手机上阅读。
SUCCESS: Jordan找到文章,从离开的地方继续,
         完成时进度更新。
```

### Step 3: 以每个用户画像身份遍历

对于每个场景,逐步模拟用户画像的体验。这不是"这会有效吗?" - 而是"让我尝试以[用户画像]的方式做这个。"

**对于每个步骤,记录:**
```
STEP [N]: [用户画像做什么]
USING: [输入方法 - 触摸、键盘、屏幕阅读器、开关等]
SEES: [界面呈现什么 - 在他们的缩放级别、对比度
       设置、屏幕尺寸]
THINKS: [用户画像可能想到或感觉到什么]
RESULT: ✓ 成功 / ⚠ 困难成功 / ✗ 失败 / ? 不清楚

FINDING: [如果⚠、✗或? - 出了什么错以及为什么]
WHO IS AFFECTED: [这个用户画像,以及任何有类似需求的其他人]
```

**遍历的关键规则:**
1. **保持角色** - 如果用户画像使用屏幕阅读器,评估屏幕阅读器会宣布什么,而不是视觉体验看起来如何
2. **使用他们的设备** - 如果用户画像在200%缩放下在手机上阅读,在手机视口上以该缩放评估
3. **包括情绪状态** - 压力的父母和放松的通勤者以不同方式接近同一界面。场景设置情绪上下文
4. **测试错误路径** - 如果用户画像犯错会怎样?他们能恢复吗?恢复对他们来说成本多少?
5. **注意摩擦,不仅仅是失败** - 技术上成功但需要8次点击和3次滚动的任务有摩擦问题,即使它"有效"

### Step 4: 跨用户画像分析

遍历所有场景后,寻找跨用户画像的模式:

**障碍矩阵:**
```
| Task              | Jordan    | Priya     | Marcus    | [Persona] |
|                   | (low vis) | (ESL)     | (motor)   |           |
|-------------------|-----------|-----------|-----------|-----------|
| Find article      | ⚠ zoom    | ✓         | ✗ target  | ...       |
| Continue reading  | ✓         | ⚠ jargon  | ✓         | ...       |
| Mark complete     | ✗ no fbk  | ✓         | ⚠ gesture | ...       |
```

**模式分析:**
- **普遍障碍** - 影响2+用户画像的问题 → 可能是设计问题,不是边缘情况
- **用户画像特定障碍** - 仅影响一个用户画像的问题 → 可能需要针对性修复或替代路径
- **摩擦热点** - 多个用户画像挣扎的步骤,即使他们最终成功
- **情绪模式** - 用户画像在哪里感到困惑、沮丧或迷失?

### Step 5: 综合发现

将发现编译成结构化报告(见下面的"你交付什么")。每个发现必须:
- 命名受影响的特定用户画像
- 描述问题发生的确切步骤
- 从用户画像的角度解释为什么这是一个问题
- 建议修复
- 分类严重性(关键 / 主要 / 次要)

**合成测试中的严重性:**
| 严重性 | 定义 |
|--------|------|
| **关键** | 用户画像根本无法完成任务 |
| **主要** | 用户画像完成任务但有显著困难、困惑或情绪摩擦 |
| **次要** | 用户画像完成任务但体验比应有的粗糙 |

### Step 6: 向前传递结果

合成测试结果传递到两个地方:
1. **design-builder** - 如果需要修复,派遣构建者并附带具体发现
2. **verification-before-shipping** - 验证报告的用户画像遍历部分应引用合成测试结果,而不是猜测

## Synthetic User Testing Structure

```markdown
# [项目名称] 合成用户测试结果

**日期:** [YYYY-MM-DD]
**测试构建:** [测试了什么]
**测试的用户画像:** [列表]
**测试的任务:** [列表]

## 摘要
[2-3句话:总体发现 - 谁可以使用这个,谁不能,
以及最大的差距]

## 场景结果

### 场景1:[场景名称]
**用户画像:** [名称] - [上下文]
**任务:** [他们试图做什么]
**结果:** ✓ / ⚠ / ✗

[逐步遍历与发现]

### 场景2:...

## 障碍矩阵

| Task | [用户画像1] | [用户画像2] | [用户画像3] | ... |
|------|-------------|-------------|-------------|-----|
| ...  | ✓/⚠/✗      | ✓/⚠/✗      | ✓/⚠/✗      | ... |

## 跨用户画像模式
- **普遍障碍:** [影响2+用户画像的问题]
- **摩擦热点:** [聚集困难的步骤]
- **情绪模式:** [困惑/挫折聚集的地方]

## 按严重性的发现

### 关键
- [用户画像]无法[任务]因为[具体原因] → [修复]

### 主要
- [用户画像]在[步骤]在[任务]上挣扎因为[原因] → [修复]

### 次要
- [用户画像]在[步骤]体验摩擦因为[原因] → [修复]

## 比较:修复前 vs 修复后
[如果这是修复后的重新测试,显示什么改进了,什么没有]

## 推荐
[发货 / 修复并重新测试 / 为[用户画像]重新思考流程]
```

## Integration

- **在之后运行:** 修复轮次(design-builder已解决critic、accessibility-reviewer和heuristic-evaluator发现)
- **在之前运行:** `verification-before-shipping`
- **由...通知:** `inclusive-personas`、`design-discovery`(简报)、`design-state`(所有决策)
- **传递给:** `verification-before-shipping`(用户画像遍历证据)、`design-builder`(如果需要修复)、`design-debt-tracker`(推迟的发现)
- **补充:** `usability-testing`(规划真实用户测试 - 合成测试在真实测试开始之前验证)

## The Difference from Usability Testing

| | 合成用户测试 | 可用性测试 |
|---|---|---|
| **谁** | AI以每个用户画像身份遍历 | 真实用户使用界面 |
| **何时** | 修复轮次后,在管道内 | 发货后或用户研究期间 |
| **速度** | 分钟 | 天到周 |
| **捕获** | 可预测的障碍、流程中断、摩擦 | 意外行为、心智模型不匹配、情绪反应 |
| **遗漏** | 真正的惊喜 - 没有用户画像模型预测的东西 | 没有(但昂贵且慢) |
| **价值** | 在不离开管道的情况下关闭构建和验证之间的差距 | 基本事实 |

合成测试不替代真实可用性测试。它通过首先捕获明显问题使真实测试更有效,以便真实参与者以最佳状态遇到设计 - 并仅发现人类可以找到的惊喜。

## Further Reading

- Remote Research — Nate Bolt
- Rocket Surgery Made Easy — Steve Krug
- User Testing Templates — NN/g

## Psychology Principles Integration

### 认知负荷理论应用
- **场景限制**:限制为3-5个关键场景,避免认知过载
- **步骤分组**:将每个步骤分为动作、使用、看到、思考、结果5个逻辑组块
- **模式分析**:使用障碍矩阵降低跨用户画像分析的认知负担

### 格式塔原则应用
- **相似性**:使用一致的格式展示场景和步骤
- **邻近性**:相关信息在空间上靠近(步骤与发现)
- **闭合**:提供完整的测试报告,形成闭环

### 损失厌恶应用
- **强调障碍**:在障碍矩阵中强调障碍的影响
- **强调摩擦**:在模式分析中强调摩擦热点
COMPATIBILITY & REFERENCES

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.