Usability Testing
When to Use
- Use this skill when: Planning, executing, or summarizing usability tests (moderated or unmoderated) for design prototypes, websites, or mobile apps.
- Trigger keywords: "usability test", "user testing", "moderated session", "unmoderated study", "SUS score", "task success rate", "think-aloud", "UX research plan", "prototype validation".
- Route to Research-Ideation (Summarize Interview): If reviewing open-ended discovery interviews, user habits, or workflow conversations that do not involve active prototype interaction.
- Route to Research-Ideation (Product Feedback Synthesizer): If analyzing multi-channel product tickets, NPS data, or App Store reviews.
Prerequisites
- A functional interactive prototype (e.g., Figma link) or staging site URL.
- A usability test plan detailing target tasks, success metrics, and user profiles.
- Consent forms and NDAs prepared for all participants before testing unreleased designs or recording sessions.
- A 20% recruit buffer to account for no-shows.
Procedure
1. Define Objectives and Participant Profile
- Draft a usability test plan using the template below. Specify 1–3 primary objectives.
- Identify user segments. Plan for 5–8 participants per distinct segment for formative (qualitative) studies, or 20–40+ participants for summative (quantitative) validation.
- Write screener criteria that match the target demographic (e.g., "Must have completed an online purchase in the last 30 days").
Usability Test Plan Template:
# Usability Test Plan: [Project Name]
## Objectives
- [Objective 1: e.g., Validate checkout funnel drop-off points]
- [Objective 2: e.g., Evaluate discoverability of the filter panel]
## Participant Profile & Recruitment
- **Target Count**: e.g., 5-8 participants per user segment
- **Key Demographics**: e.g., Online shoppers, active mobile users
- **Screener Criteria**: e.g., Must have completed an online purchase in the last 30 days
## Methodology
- **Format**: [Remote / In-Person]
- **Type**: [Moderated / Unmoderated]
- **Tools**: [e.g., Maze, Figma, Lookback]
## Tasks & Scenarios
1. **Scenario 1: [Context]**
- *Task*: [Action required]
- *Success Criteria*: [Expected end state]
- *Follow-up questions*: [Probe questions]
2. **Scenario 2: [Context]**
- *Task*: [Action required]
- *Success Criteria*: [Expected end state]
2. Choose Methodology
| Method |
Best For |
Participant Count |
| Moderated |
Early-stage prototypes, complex B2B workflows, concept evaluation |
5–8 per segment |
| Unmoderated |
Finalized consumer flows (checkout, login), large-scale quantitative metrics |
20–40+ |
| Formative (Qualitative) |
Finding why interfaces fail, understanding mental models |
5–8 per segment |
| Summative (Quantitative) |
Validating how much design updates improve TSR, SUS, ToT |
20–40+ |
3. Prepare Tasks and Scenarios
- Write each task as a scenario with context, not a directive command. Example: "You need to buy a gift for a friend under $50. Show me how you'd do that on this site."
- Define explicit success criteria for each task (the expected end state).
- Prepare neutral follow-up probes. Use scripts like: "What did you expect to happen when you clicked that?"
- Prepare a post-test SUS questionnaire (10 standardized items, scored 0–100).
4. Set Up Testing Platform
- Remote unmoderated: Use Maze, UXtweak, or PlaybookUX. These support native Figma prototype syncing and heatmaps.
- Remote moderated: Use Lookback or Zoom with screen sharing.
- AI-moderated: Platforms like Koji and CleverX deploy autonomous AI moderators to probe users, bridging unmoderated scale with moderated depth.
- Ensure prototype links support mobile web previews and offline fallback layouts for users on low-bandwidth networks.
5. Facilitate Sessions (Moderated)
- Establish comfort: Begin by stating: "We are testing the product, not you. There are no right or wrong answers."
- Encourage think-aloud: Remind the participant to verbalize thoughts, doubts, and emotions as they navigate.
- Avoid leading questions: Never ask "Was that easy?" Ask instead: "How was that experience for you?"
- Avoid intervention: If a participant gets stuck, resist the urge to help immediately. Observe how they attempt to resolve the issue.
- Record timestamps for every observed blocker, error, or moment of confusion.
6. Collect Metrics
Track the following for each task:
- Task Success Rate (TSR): Percentage of participants who successfully complete the task.
- Time-on-Task (ToT): Average duration required to complete the task.
- Error Rate: Average number of errors or incorrect clicks per participant per task.
- System Usability Scale (SUS): Standardized 10-item questionnaire yielding a score from 0 to 100.
- Critical blockers: Any issue that prevents task completion entirely.
7. Analyze and Report
- Categorize every observed blocker by severity: Critical, Major, or Minor.
- Reference timestamped recording clips for every documented issue.
- Verify whether keyboard-only or screen-reader users encountered blockers (WCAG 2.2 accessibility checks).
- Produce the output report conforming to the JSON schema below.
Usability Metrics JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "UsabilityTestingReport",
"type": "object",
"properties": {
"testId": { "type": "string" },
"methodology": { "type": "string", "enum": ["moderated", "unmoderated"] },
"totalParticipants": { "type": "integer" },
"taskMetrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"taskId": { "type": "string" },
"description": { "type": "string" },
"successRatePercent": { "type": "number", "minimum": 0, "maximum": 100 },
"averageTimeSeconds": { "type": "number" },
"criticalBlockers": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["taskId", "description", "successRatePercent", "averageTimeSeconds", "criticalBlockers"]
}
},
"systemUsabilityScaleScore": { "type": "number", "minimum": 0, "maximum": 100 }
},
"required": ["testId", "methodology", "totalParticipants", "taskMetrics"]
}
Pitfalls
- Leading the participant: Providing hints or explaining how a feature works during a testing session invalidates behavioral data. Never intervene unless the participant is completely blocked and has given up.
- Over-modifying prototypes mid-study: Making changes to Figma designs between sessions invalidates comparisons across participants. Lock the prototype before the first session.
- Focusing on opinions over behavior: Prioritizing participant statements like "I like this blue" over their actual interaction behaviors (e.g., failing to click the blue button). Always weight observed action above self-reported preference.
- Insufficient sample size: Running formative studies with fewer than 5 users per segment risks missing critical issues. Running quantitative validation with fewer than 20 participants produces statistically inconclusive results.
- Recording sensitive data: Do not record password input screens or display personal account details in shared reports. Protect participant privacy.
- Skipping accessibility checks: Modern usability testing protocols require verifying WCAG 2.2 accessibility parameters — interactive components must support screen reader cues and keyboard focus mapping.
- No backup plan for prototype failures: If a Figma link fails or runs slowly during a session, switch immediately to a backup static layout deck and document the tech issue.
Verification
Before finalizing any usability test report, confirm:
- Every blocker is categorized: No unresolved blockers remain. Each is labeled Critical, Major, or Minor.
- Video grounding exists: Every documented issue references a timestamped recording clip.
- Accessibility verified: Report states whether keyboard-only or screen-reader users encountered blockers.
- SUS score computed: If summative, the System Usability Scale score (0–100) is present and calculated per the standard methodology.
- JSON schema conformance: The output report validates against the
UsabilityTestingReport JSON schema above.
- Consent and NDA on file: All participants signed consent forms before the session began.
Quick validation checklist:
Related Skills
- research-ideation: Use for open-ended discovery interviews, workflow conversations, or multi-channel product feedback synthesis that does not involve active prototype interaction.
- accessibility-audit: Use for systematic WCAG 2.2 conformance testing separate from user-session-based usability testing.
Source Anchors
Changelog
- 2026-05-30: Modernized skill file created. Updated frontmatter, corrected second-person phrasing, removed boilerplate, and added Maze, UXtweak, and AI-moderation details.
- 2026-05-31: Production-grade rewrite with progressive disclosure structure, explicit procedure steps, JSON schema, and verification checklist.
1---2name: usability-testing3description: Plans and runs moderated or unmoderated usability sessions: 5-8 formative or 20-40+ summative recruits, think-aloud, TSR/ToT/SUS, and a severity-coded JSON report. Use when the user asks for a usability test, Maze or Lookback session, SUS score, or prototype validation with participants. Never a discovery-interview synthesizer and not a WCAG-only accessibility audit.4---5
6# Usability Testing
7
8## When to Use
9
10- **Use this skill when**: Planning, executing, or summarizing usability tests (moderated or unmoderated) for design prototypes, websites, or mobile apps.
11- **Trigger keywords**: "usability test", "user testing", "moderated session", "unmoderated study", "SUS score", "task success rate", "think-aloud", "UX research plan", "prototype validation".
12- **Route to Research-Ideation (Summarize Interview)**: If reviewing open-ended discovery interviews, user habits, or workflow conversations that do not involve active prototype interaction.
13- **Route to Research-Ideation (Product Feedback Synthesizer)**: If analyzing multi-channel product tickets, NPS data, or App Store reviews.
14
15## Prerequisites
16
17- A functional interactive prototype (e.g., Figma link) or staging site URL.
18- A usability test plan detailing target tasks, success metrics, and user profiles.
19- Consent forms and NDAs prepared for all participants before testing unreleased designs or recording sessions.
20- A 20% recruit buffer to account for no-shows.
21
22## Procedure
23
24### 1. Define Objectives and Participant Profile
25
261. Draft a usability test plan using the template below. Specify 1–3 primary objectives.
272. Identify user segments. Plan for **5–8 participants per distinct segment** for formative (qualitative) studies, or **20–40+ participants** for summative (quantitative) validation.
283. Write screener criteria that match the target demographic (e.g., "Must have completed an online purchase in the last 30 days").
29
30**Usability Test Plan Template:**
31
32```markdown
33# Usability Test Plan: [Project Name]
34
35## Objectives
36- [Objective 1: e.g., Validate checkout funnel drop-off points]
37- [Objective 2: e.g., Evaluate discoverability of the filter panel]
38
39## Participant Profile & Recruitment
40- **Target Count**: e.g., 5-8 participants per user segment
41- **Key Demographics**: e.g., Online shoppers, active mobile users
42- **Screener Criteria**: e.g., Must have completed an online purchase in the last 30 days
43
44## Methodology
45- **Format**: [Remote / In-Person]
46- **Type**: [Moderated / Unmoderated]
47- **Tools**: [e.g., Maze, Figma, Lookback]
48
49## Tasks & Scenarios
501. **Scenario 1: [Context]**
51 - *Task*: [Action required]
52 - *Success Criteria*: [Expected end state]
53 - *Follow-up questions*: [Probe questions]
54
552. **Scenario 2: [Context]**
56 - *Task*: [Action required]
57 - *Success Criteria*: [Expected end state]
58```
59
60### 2. Choose Methodology
61
62| Method | Best For | Participant Count |
63|---|---|---|
64| Moderated | Early-stage prototypes, complex B2B workflows, concept evaluation | 5–8 per segment |
65| Unmoderated | Finalized consumer flows (checkout, login), large-scale quantitative metrics | 20–40+ |
66| Formative (Qualitative) | Finding *why* interfaces fail, understanding mental models | 5–8 per segment |
67| Summative (Quantitative) | Validating *how much* design updates improve TSR, SUS, ToT | 20–40+ |
68
69### 3. Prepare Tasks and Scenarios
70
711. Write each task as a scenario with context, not a directive command. Example: *"You need to buy a gift for a friend under $50. Show me how you'd do that on this site."*
722. Define explicit success criteria for each task (the expected end state).
733. Prepare neutral follow-up probes. Use scripts like: *"What did you expect to happen when you clicked that?"*
744. Prepare a post-test SUS questionnaire (10 standardized items, scored 0–100).
75
76### 4. Set Up Testing Platform
77
78- **Remote unmoderated**: Use [Maze](https://www.maze.co), [UXtweak](https://www.uxtweak.com), or [PlaybookUX](https://www.playbookux.com). These support native Figma prototype syncing and heatmaps.
79- **Remote moderated**: Use Lookback or Zoom with screen sharing.
80- **AI-moderated**: Platforms like **Koji** and **CleverX** deploy autonomous AI moderators to probe users, bridging unmoderated scale with moderated depth.
81- Ensure prototype links support mobile web previews and offline fallback layouts for users on low-bandwidth networks.
82
83### 5. Facilitate Sessions (Moderated)
84
851. **Establish comfort**: Begin by stating: *"We are testing the product, not you. There are no right or wrong answers."*
862. **Encourage think-aloud**: Remind the participant to verbalize thoughts, doubts, and emotions as they navigate.
873. **Avoid leading questions**: Never ask *"Was that easy?"* Ask instead: *"How was that experience for you?"*
884. **Avoid intervention**: If a participant gets stuck, resist the urge to help immediately. Observe how they attempt to resolve the issue.
895. Record timestamps for every observed blocker, error, or moment of confusion.
90
91### 6. Collect Metrics
92
93Track the following for each task:
94
95- **Task Success Rate (TSR)**: Percentage of participants who successfully complete the task.
96- **Time-on-Task (ToT)**: Average duration required to complete the task.
97- **Error Rate**: Average number of errors or incorrect clicks per participant per task.
98- **System Usability Scale (SUS)**: Standardized 10-item questionnaire yielding a score from 0 to 100.
99- **Critical blockers**: Any issue that prevents task completion entirely.
100
101### 7. Analyze and Report
102
1031. Categorize every observed blocker by severity: **Critical**, **Major**, or **Minor**.
1042. Reference timestamped recording clips for every documented issue.
1053. Verify whether keyboard-only or screen-reader users encountered blockers (WCAG 2.2 accessibility checks).
1064. Produce the output report conforming to the JSON schema below.
107
108**Usability Metrics JSON Schema:**
109
110```json
111{
112 "$schema": "http://json-schema.org/draft-07/schema#",
113 "title": "UsabilityTestingReport",
114 "type": "object",
115 "properties": {
116 "testId": { "type": "string" },
117 "methodology": { "type": "string", "enum": ["moderated", "unmoderated"] },
118 "totalParticipants": { "type": "integer" },
119 "taskMetrics": {
120 "type": "array",
121 "items": {
122 "type": "object",
123 "properties": {
124 "taskId": { "type": "string" },
125 "description": { "type": "string" },
126 "successRatePercent": { "type": "number", "minimum": 0, "maximum": 100 },
127 "averageTimeSeconds": { "type": "number" },
128 "criticalBlockers": {
129 "type": "array",
130 "items": { "type": "string" }
131 }
132 },
133 "required": ["taskId", "description", "successRatePercent", "averageTimeSeconds", "criticalBlockers"]
134 }
135 },
136 "systemUsabilityScaleScore": { "type": "number", "minimum": 0, "maximum": 100 }
137 },
138 "required": ["testId", "methodology", "totalParticipants", "taskMetrics"]
139}
140```
141
142## Pitfalls
143
144- **Leading the participant**: Providing hints or explaining how a feature works during a testing session invalidates behavioral data. Never intervene unless the participant is completely blocked and has given up.
145- **Over-modifying prototypes mid-study**: Making changes to Figma designs between sessions invalidates comparisons across participants. Lock the prototype before the first session.
146- **Focusing on opinions over behavior**: Prioritizing participant statements like *"I like this blue"* over their actual interaction behaviors (e.g., failing to click the blue button). Always weight observed action above self-reported preference.
147- **Insufficient sample size**: Running formative studies with fewer than 5 users per segment risks missing critical issues. Running quantitative validation with fewer than 20 participants produces statistically inconclusive results.
148- **Recording sensitive data**: Do not record password input screens or display personal account details in shared reports. Protect participant privacy.
149- **Skipping accessibility checks**: Modern usability testing protocols require verifying WCAG 2.2 accessibility parameters — interactive components must support screen reader cues and keyboard focus mapping.
150- **No backup plan for prototype failures**: If a Figma link fails or runs slowly during a session, switch immediately to a backup static layout deck and document the tech issue.
151
152## Verification
153
154Before finalizing any usability test report, confirm:
155
1561. **Every blocker is categorized**: No unresolved blockers remain. Each is labeled Critical, Major, or Minor.
1572. **Video grounding exists**: Every documented issue references a timestamped recording clip.
1583. **Accessibility verified**: Report states whether keyboard-only or screen-reader users encountered blockers.
1594. **SUS score computed**: If summative, the System Usability Scale score (0–100) is present and calculated per the standard methodology.
1605. **JSON schema conformance**: The output report validates against the `UsabilityTestingReport` JSON schema above.
1616. **Consent and NDA on file**: All participants signed consent forms before the session began.
162
163**Quick validation checklist:**
164
165- [ ] Test plan defines objectives, participant profile, and success criteria
166- [ ] Prototype link tested and functional before first session
167- [ ] 5–8 users per segment (formative) or 20–40+ (summative) recruited
168- [ ] 20% no-show buffer applied to recruitment
169- [ ] Facilitator script uses neutral, non-leading language
170- [ ] All sessions recorded with timestamps
171- [ ] Blockers categorized by severity
172- [ ] Accessibility checks performed and documented
173- [ ] Report conforms to JSON output schema
174
175## Related Skills
176
177- **research-ideation**: Use for open-ended discovery interviews, workflow conversations, or multi-channel product feedback synthesis that does not involve active prototype interaction.
178- **accessibility-audit**: Use for systematic WCAG 2.2 conformance testing separate from user-session-based usability testing.
179
180## Source Anchors
181
182- [Nielsen Norman Group Usability Testing 101](https://www.nngroup.com/articles/usability-testing-101/)
183- [W3C WCAG 2.2](https://www.w3.org/TR/WCAG22/)
184- [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)
185- [Material Design 3](https://m3.material.io/)
186- [Maze Usability Testing Suite](https://maze.co/)
187- [UXtweak Remote Testing Platform](https://www.uxtweak.com/)
188- [PlaybookUX Research Platform](https://www.playbookux.com/)
189
190## Changelog
191
192- **2026-05-30**: Modernized skill file created. Updated frontmatter, corrected second-person phrasing, removed boilerplate, and added Maze, UXtweak, and AI-moderation details.
193- **2026-05-31**: Production-grade rewrite with progressive disclosure structure, explicit procedure steps, JSON schema, and verification checklist.