1 of 27

Юзабилити-тестирование в процессе QA

или

Создай пользователя сам

2 of 27

Агенда

  1. Как тестировщик может внести вклад в удобство использования продукта
  2. Как юзабилити-тестирование влияет на качество проекта
  3. Подробнее о сценариях
    1. Виды сценариев
    2. Повседневные сценарии
    3. Обязательные сценарии
    4. Исключительные сценарии
  4. Создаем персонажа
  5. Зачем все это?
  6. Подведем итог
  7. Практическое задание

3 of 27

Как тестировщик может внести вклад в удобство использования продукта

Техники тест-дизайна можно поделить на 3 уровня:

  1. Низкий уровень: классы эквивалентности, анализ граничных значений
  2. Средний уровень: комбинаторные техники, доменный анализ
  3. Высокий уровень: диаграмма переходов состояний, сценарии использования

4 of 27

Как тестировщик может внести вклад в удобство использования продукта

Use-cases отлично подходят для тестирования не только функциональности продукта, но и удобства его использования.

Чтобы создать сценарий использования (use-case), тестировщику нужно понимать:

  • Кем является его пользователь
  • Какова цель пользователя
  • Какие задачи стоят перед пользователем для достижения цели
  • Бонус: уметь приоритизировать сценарии в зависимости от цели

5 of 27

Как тестировщик может внести вклад в удобство использования продукта

Продукт: мобильное приложение для заказа такси

Пользователь: человек 20-40 лет, который не любит ездить на общественном транспорте, часто перемещается по городу, без собственного автомобиля

Цель: быстро и комфортно добраться из точки А в точку Б

Задачи:

  • Заказать такси в любую точку города
  • Выбрать время подачи машины
  • Выбрать характеристики машины (класс, с багажом/без, молчаливый водитель…)
  • Видеть стоимость поездки

6 of 27

Как тестировщик может внести вклад в удобство использования продукта

Продукт: веб-сервис для рассылки стандартных email-ов с возможностью кастомизировать данные пользователя

Пользователь: маркетолог обувной компании, которому в течение дня приходится рассылать множество промо-писем настоящим и будущим клиентам

Цель: сократить время создания одной рассылки (как результат увеличить количество рассылок в день)

Задачи:

  • Автоматизировать заполнение сложных форм
  • Стандартизировать шаблоны для разных типов клиентов
  • Упростить взаимодействие пользователя и приложения

7 of 27

Как тестировщик может внести вклад в удобство использования продукта

Продукт: веб-сервис для заказа продуктов с доставкой из ближайшего магазина

Пользователь: ?

Цель: ?

Задачи: ?

8 of 27

Как юзабилити-тестирование влияет на качество проекта

Цель продукта + пользователь (“персонаж”)

Задача 1 Задача 2 Задача 3 … Задача N�

Сценарий 1 Сценарий 2 Сценарий 3 … Сценарий М

9 of 27

Подробнее о сценариях

Сценарий – это сжатое описание способов применения программного продукта персонажем для достижения цели (Алан Купер - “Психбольница в руках пациентов”)

  • Чем выше детализация информации о продукте, тем выше эффективность сценариев
  • Сценарии от начала до конца важнее, чем неполные сценарии, но с детальными шагами
  • Во время прохождения сценария мы смотрим, насколько нынешняя функциональность помогает достичь цели пользователя

10 of 27

Подробнее о сценариях

  • Сценарии, которые помогают продвинуться в знании продукта и пользователя, важнее тех, что описывают исключительные ситуации
  • Купер описывает 3 фазы: исследование, интервью и непосредственное наблюдение. В нашем случае для тестировщиков их аналогами могут стать изучение спецификации, разговор с заказчиком и исследовательское тестирование
  • При создании сценариев надо помнить, что цели стабильны, а задачи неустойчивы => нужно уметь исключать устаревшие задачи и добавлять в сценарии новые

11 of 27

Подробнее о сценариях: виды сценариев

  • Повседневные
  • Обязательные
  • Исключительные

12 of 27

Подробнее о сценариях: Повседневные сценарии

  • Выполняются ежедневно и помногу раз
  • Количество ограничено (обычно около 2-3)
  • Должны быть очевидными и легкими для изучения
  • Должна быть возможность ускорить работу после того, как многократное повторение доведет выполнение действий пользователя до автоматизма
  • Должна быть возможность “подогнать” сценарии под особенности и личные предпочтения пользователя

13 of 27

Подробнее о сценариях: Повседневные сценарии

Для маркетолога обувной компании:

  • Отправка писем нынешним клиентам
  • Отправка писем потенциальным клиентам
  • Сбор статистики об ответах на письма

Для тестировщика:

???

14 of 27

Подробнее о сценариях: Повседневные сценарии

Для маркетолога обувной компании:

  • Отправка писем нынешним клиентам
  • Отправка писем потенциальным клиентам
  • Сбор статистики об ответах на письма

Для тестировщика:

  • Репорт бага
  • Составление чек-листа
  • Разворачивание новой ветки на сервере

15 of 27

Подробнее о сценариях: Обязательные сценарии

  • Выполняются редко, но обязательно
  • Количество больше, чем повседневных
  • Не требуют индивидуализации
  • Требуют понятности и возможности легко им обучить

16 of 27

Подробнее о сценариях: Обязательные сценарии

Для маркетолога обувной компании:

  • Отправка писем со статистикой руководству
  • Обновление базы постоянных клиентов
  • Пополнение базы потенциальных клиентов
  • Обновление контента писем для каждого типа клиентов (согласно сезонным предложениям)
  • Изучение рынка и интересов потенциальных клиентов

...

17 of 27

Подробнее о сценариях: Исключительные сценарии

  • Могут случиться, а могут и нет
  • Их может быть бесконечно много (на что хватит фантазии)
  • Должны быть протестированы, но без фанатизма

Пример для того же маркетолога:

  • Рассылка писем в момент, когда сезонных предложений нет

18 of 27

Создаем персонажа

Персонаж - конкретный образ пользователя, который помогает вжиться в его роль и понять его нужды.

О чем стоит подумать:

  • Возраст
  • Род занятий
  • Социальная роль (в контексте использования продукта!)
  • Интересы
  • Факторы, которые могут повлиять на его взаимодействие с системой
  • Зачем он использует наше приложение/сервис

19 of 27

Создаем персонажа: пример

Продукт: мобильное приложение для заказа такси

Пользователь:

  • Виктория, 28 лет
  • Тренер в фитнес-клубе
  • Использует приложение, чтобы добираться до работы (т.к. опаздывать нельзя!) и чтобы забрать ребенка из школы в конце дня
  • Иногда не имеет возможности забрать ребенка из школы вовремя
  • Использует наше приложение, чтобы вовремя добираться до работы/до школы + чтобы иногда заказывать машину детям и видеть, где они едут

20 of 27

Создаем персонажа: пример

Сценарии:

Повседневные:

  • Поездка от дома до работы, от работы до школы и домой
  • Быстрая безналичная оплата поездки

Обязательные:

  • Вызов такси ребенку без сопровождения
  • Отслеживание поездки по карте

Исключительный:

  • Вызов такси за пределы города

21 of 27

Создаем персонажа: пример

Что будем особенно внимательно тестировать в рамках сценариев:

  • Функции быстрого заказа такси (и быстрой подачи)
  • Безналичная оплата поездки
  • Поездка с несколькими пунктами назначения
  • Возможность вызвать такси для другого пассажира
  • Геопозиционирование машины на карте, точность локации
  • Возможность выбрать детали поездки (водитель-женщина, детское кресло в машине, наличие/отсутствие багажа…)

22 of 27

Создаем персонажа: пример

Какая функциональность приложения будет второстепенной для нас (в роли Виктории-фитнес-тренера):

  • Возможность выбрать класс и марку автомобиля
  • Возможность заказать поездку сильно заранее
  • Детали сообщения об ошибке при попытке вызвать машину за пределы города
  • Функция чата с водителем
  • Функция заказа нескольких машин одновременно

23 of 27

Зачем это все?

  • В процессе тестирования приложения мы создаем несколько видов персонажей (типичных будущих пользователей) и продумываем их сценарии
  • Тестируем сценарии, обращая особое внимание на функциональность, актуальную для них
  • Критерий прохождения сценария - достиг ли персонаж своей цели

Мы получаем возможность посмотреть на тестируемый продукт с новой стороны и, как результат, заметить что-то важное, что могли упустить, тестируя по спецификации.

24 of 27

Подведем итог

Под удобством использования, юзабилити мы понимаем не только общий приятный пользователю вид приложения (т.к. в нашей работе повлиять на это не всегда в наших силах).

В первую очередь для нас юзабилити - это то, насколько пользователю удобно проходить основные сценарии его взаимодействия с приложением.

Наша задача - обеспечить этим сценариям максимальную чистоту и надежность.

25 of 27

Практическое задание

Проекты:

  1. Веб-сервис для заказа продуктов с доставкой из ближайшего магазина
  2. Мобильное приложение для поиска кратковременной подработки для студентов

Задание:

  1. Создать портрет пользователя этого сервиса
  2. Описать повседневные и обязательные сценарии (по 2 шт. каждого)
  3. Привести пример исключительного сценария
  4. В рамках сценариев описать, какие функции бы тестировали особенно внимательно

26 of 27

Источник вдохновения

Алан Купер -

“Психбольница в руках пациентов”

27 of 27

Спасибо за внимание!