Сообщение об ошибке «An error occurred. Please try again.» при регистрации с уже занятым email оставляет пользователя перед тремя неверными путями: сменить email, попробовать другой пароль или нажать кнопку ещё раз. Это растерянность. И это дефект юзабилити в зоне ответственности QA. Статья разбирает пять компонентов юзабилити по Нильсену, четыре метода тестирования от пятиминутных guerrilla-сессий до модерируемых, что может сделать QA-инженер без выделенного UX-процесса и как писать баги по юзабилити чтобы их воспринимали всерьёз.
Что такое юзабилити-тестирование
Юзабилити-тестирование: структурированное наблюдение за реальными пользователями которые пытаются решить реальные задачи в продукте. Смотришь что они делают, слушаешь что говорят, фиксируешь где они застревают.
Никакого бинарного «прошло/упало» нет. Это качественные наблюдения: где пользователи теряются, что они пробуют, но не получают нужного результата, какие слова они используют которые не совпадают с языком UI, сколько времени занимает действие которое должно быть быстрым.
Пять компонентов юзабилити по Нильсену
Модель юзабилити Якоба Нильсена описывает пять измерений:
Обучаемость (Learnability): насколько легко новым пользователям выполнить базовые задачи? Эффективность (Efficiency): после освоения, насколько быстро опытные пользователи справляются с задачами? Запоминаемость (Memorability): когда пользователь возвращается после перерыва, насколько легко он восстанавливает навык работы с продуктом? Ошибки (Errors): сколько ошибок совершают пользователи, насколько они серьёзны и насколько легко их исправить? Удовлетворённость (Satisfaction): насколько приятен опыт использования?Разные продукты расставляют приоритеты по-разному. Чекаут в потребительском приложении оптимизируется под обучаемость и восстановление после ошибок. Профессиональный инструмент для ежедневной работы оптимизируется под эффективность.
Методы: от дешёвых к строгим
Эвристическая оценка (без пользователей)
QA-инженер или UX-специалист оценивает UI по устоявшимся юзабилити-эвристикам. Стандарт: 10 эвристик Нильсена:
1. Видимость статуса системы: пользователь понимает что происходит?
2. Соответствие системы реальному миру: язык интерфейса совпадает с ожиданиями пользователей?
3. Свобода и контроль пользователя: можно отменить действие и выйти из ситуации?
4. Последовательность и стандарты: UI следует платформенным конвенциям?
5. Предотвращение ошибок: дизайн не допускает ошибок до того как они произошли?
6. Узнавание вместо припоминания: UI минимизирует нагрузку на память?
7. Гибкость и эффективность: есть шорткаты для опытных пользователей?
8. Минималистичный дизайн: UI свободен от лишней информации?
9. Помощь в распознавании, диагностике и устранении ошибок: сообщения об ошибках конкретные и полезные?
10. Документация и помощь: справка доступна и её легко найти?
Это быстро и не требует пользователей. Один сеанс ревью находит 30–50% проблем с юзабилити.
Guerrilla-тестирование
Пять минут, любой пользователь, любое место. Показываешь прототип или реальный продукт. Даёшь одну задачу: «Найди где сбросить пароль». Наблюдаешь. Не помогаешь. Делаешь заметки.
Пять пользователей за раунд, и самые очевидные проблемы уже найдены. Метод работает с нулевым бюджетом.
Модерируемые юзабилити-сессии
Фасилитатор работает с одним участником. Участник «думает вслух» выполняя задачи. Фасилитатор задаёт уточняющие вопросы.
Удалённое модерируемое тестирование через Zoom и шэринг экрана сделало это доступным. Инструменты вроде UserTesting или Maze предоставляют панели участников.
Немодерируемое юзабилити-тестирование
Участники выполняют задачи самостоятельно, сессия записывается. Потом просматриваешь записи. Масштабируется лучше чем модерируемые сессии, но менее детально: нет возможности уточнить.
Что QA-инженер может делать без формального UX-процесса
Во время исследовательского тестирования: фиксируй моменты растерянности или неудобства. Вот дефект юзабилити: «Сообщение об ошибке говорит "Invalid input" без указания какое поле некорректно». Применяй 10 эвристик: при тестировании любой новой фичи проходи по списку Нильсена. Проверяй каждый пункт системно. Спрашивай "разберётся ли новый пользователь?": когда тестируешь фичу первый раз (без чтения спецификации), обращай внимание на собственную растерянность. Ты выступаешь прокси для новых пользователей. Тестируй восстановление после ошибок: что происходит когда пользователь делает типичную ошибку? Сообщение об ошибке полезное? Есть понятный путь к исправлению? Тестируй на мобильном: многие проблемы юзабилити специфичны для устройств. Слишком маленькие тач-таргеты. Формы которые требуют скролла вверх-вниз для заполнения. Модалки которые выходят за пределы экрана.Типичные дефекты юзабилити которые стоит репортить
- Сообщения об ошибках без указания что пошло не так и как исправить
- Поля формы которые сбрасываются при ошибке (пользователю приходится вводить всё заново)
- Обязательные поля не помечены обязательными до момента неудачной отправки
- Кнопки или ссылки которые выглядят кликабельными но не кликаются, или наоборот
- Диалоги подтверждения без чёткого различия между «подтвердить» и «отмена»
- Состояния загрузки без индикации прогресса или ожидаемого времени ожидания
- Действия без возможности отмены (особенно деструктивные)
- Непоследовательная терминология (одна фича называется по-разному в разных частях UI)
- Пагинация без отображения общего числа результатов или текущей позиции
Как писать дефекты юзабилити
Дефекты юзабилити сложнее писать чем функциональные: нет чёткого ожидаемого результата из спецификации. Формулируй через пользовательский impact:
Плохо: «Сообщение об ошибке непонятное.» Хорошо: «Когда пользователь отправляет форму регистрации с уже зарегистрированным email, появляется сообщение "An error occurred. Please try again." Пользователь не может понять: нужно ли сменить email, использовать другой пароль или попробовать войти. Рекомендация: показывать "Этот email уже зарегистрирован. Попробуйте войти." со ссылкой на страницу входа.»Такой баг-репорт объясняет влияние на пользователя и предлагает конкретное решение. Это позволяет воспринимать проблемы юзабилити всерьёз, а не отмахиваться от них как от «дизайнерских мнений».
→ See also: Тестирование доступности с Playwright: автоматизированные a11y проверки | Исследовательское тестирование: навык, который не заменит ИИ | Как писать тест-кейсы: формат, примеры и частые ошибки