> For the complete documentation index, see [llms.txt](https://vladislaveremeev.gitbook.io/qa_bible/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vladislaveremeev.gitbook.io/qa_bible/vidy-metody-urovni-testirovaniya/testirovanie-udobstva-polzovaniya-usability-testing.md).

# Тестирование удобства пользования (Usability testing)

*Тестирование практичности (usability testing): Тестирование с целью определения степени понятности, легкости в изучении и использовании, привлекательности программного продукта для пользователя при условии использования в заданных условиях эксплуатации (ISO 9126)*

Тестирование удобства пользования - это нефункциональный вид тестирования программного обеспечения, являющийся подмножеством тестирования пользовательского опыта - UX, “Ю-Экс”, user experience. В целом оно подразделяется на понятность, обучаемость, работоспособность, привлекательность и соответствие (understandability, learnability, operability, attractiveness, and compliance). Юзабилити-тестирование предназначено для определения того, насколько программный продукт понятен, легок в освоении, прост в эксплуатации и привлекателен для пользователей при определенных условиях и требованиях. Этот тип тестирования обычно выполняется реальными пользователями.

**Категории юзабилити-тестирования**:

* **Исследовательская**: обычно мы рассматриваем эту категорию на ранних этапах процесса тестирования программного обеспечения. Чем раньше выполняется тестирование юзабилити в процессе тестирования, тем меньше риски в продукте. На этом этапе обычно рассматривается дизайн продукта и концепции, относящиеся к продукту или услуге;
* **Оценочная**: эта категория описывает оценку выполнения Е2Е теста, а также анализирует эффективность продукта и удовлетворенность пользователей;
* **Сравнительная**: в этой категории два или более схожих продукта сравниваются по разным атрибутам, таким как дизайн продукта, преимущества и недостатки, что помогает выбрать продукт, который обеспечивает лучший пользовательский опыт;

**Методы юзабилити-тестирования**:

* **Промежуточное** (? hallway) тестирование. Этот метод является одним из наиболее эффективных и экономичных по сравнению с другими доступными методами. При использовании этого метода веб-сайт или продукт для тестирования получают несколько случайных людей, а не обученные специалисты. Поскольку случайные люди тестируют службу без предварительного знания продукта, они тестируют ее более эффективно и предоставляют более точные результаты и честную обратную связь для улучшения, если таковые имеются;
* **Удаленное** тестирование. Как следует из названия, удаленное тестирование юзабилити проводится людьми, которые находятся в удаленных местах. Обратная связь может быть записана и отправлена ​​случайными людьми, а не экспертом по технологиям. Иногда удаленное тестирование выполняется с помощью видеоконференцсвязи. Этот тип юзабилити-тестирования снижает стоимость по сравнению с другими типами тестирования;
* **Экспертная оценка**. Эксперта в данной области просят протестировать продукт или услугу и предоставить отзыв, а затем представить результаты. Обычно это быстро, но и стоит дорого. Эксперт находит лазейки и обнаруживает недостатки в продукте или услуге;
* **Бумажный прототип**. Тестирование бумажных прототипов - один из самых традиционных подходов к тестированию юзабилити. Этот метод включает в себя пробный запуск теста, ручной набросок, рисование моделей или прототипа. Обсуждение последовательности операций и их рисование на бумаге, а также рассмотрение всех возможных исходных данных, сценариев и условий - вот цель этого типа тестирования. Это один из основных типов тестирования, который чаще всего применяется во всех проектах для устранения основных проблем. Выполняя тестирование бумажного прототипа, можно получить больше ясности в процессе выполнения. Тестирование бумажного прототипа обычно проводится в проектной группе. Следовательно, это рассматривается на ранних этапах процесса тестирования. Это относительно более дешевый метод тестирования юзабилити, но не самый эффективный способ тестирования, поскольку он временами занимает больше времени, и существует более высокая вероятность того, что даже после тестирования мы можем пропустить несколько проблем;
* **Автоматизированное**. Как следует из названия, этот метод тестирования выполняется путем написания сценариев автоматизации. После выполнения теста результаты записываются и отправляются. Для этого типа метода тестирования компании необходимо нанять ресурс, который хорошо знаком с написанием сценариев и построением среды автоматизации. Это один из наиболее часто используемых методов тестирования;

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

* производительность, эффективность (efficiency) - сколько времени и шагов понадобится пользователю для завершения основных задач приложения, например, размещение новости, регистрации, покупка и т. д.? (меньше - лучше)
* правильность (accuracy) - сколько ошибок сделал пользователь во время работы с приложением? (меньше - лучше)
* активизация в памяти (recall) - как много пользователь помнит о работе приложения после приостановки работы с ним на длительный период времени? (повторное выполнение операций после перерыва должно проходить быстрее чем у нового пользователя)
* эмоциональная реакция (emotional response) - как пользователь себя чувствует после завершения задачи - растерян, испытал стресс? Порекомендует ли пользователь систему своим друзьям? (положительная реакция - лучше)

Проверка удобства использования может проводиться как по отношению к готовому продукту, посредством тестирования черного ящика (black box testing), так и к интерфейсам приложения (API), используемым при разработке - тестирование белого ящика (white box testing). В этом случае проверяется удобство использования внутренних объектов, классов, методов и переменных, а также рассматривается удобство изменения, расширения системы и интеграции ее с другими модулями или системами. Использование удобных интерфейсов (API) может улучшить качество, увеличить скорость написания и поддержки разрабатываемого кода, и как следствие улучшить качество продукта в целом.

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

Источники:

* [Usability Testing Tutorial: A Complete Getting Started Guide](https://www.softwaretestinghelp.com/usability-testing-guide/)
* [What is Usability Testing? UX(User Experience) Testing Example](https://www.guru99.com/usability-testing-tutorial.html#3)
* [Usability Testing : How To Perform, Test Cases, Checklist, Methods](https://www.softwaretestingmaterial.com/usability-testing/#h-usability-testing-test-cases)

Доп. материал:

* [Вкусный и здоровый гайд по юзабилити-тестированиям](https://vc.ru/marketing/200995-vkusnyy-i-zdorovyy-gayd-po-yuzabiliti-testirovaniyam)
* [Юзабилити-тестирование на удаленке. Выводы и лайфхаки по итогам года работы](https://habr.com/ru/company/ncloudtech/blog/547956/)
* [User Interface Elements](https://www.usability.gov/how-to-and-tools/methods/user-interface-elements.html)
* [Design for Fingers, Touch, and People, Part 1](https://www.uxmatters.com/mt/archives/2017/03/design-for-fingers-touch-and-people-part-1.php)
* [Дизайн-системы](https://tilda.education/courses/web-design/designsystem/#rec43493282)
* [Виталий Фридман - От birthday selector до inline validation: Всё, что нужно знать о веб-формах (ч.1)](https://www.youtube.com/watch?v=SuCz4gWvhiY\&list=PLsVTVVvrKX9td9Zm_4nF6Ywlz6gC5_e7K\&index=23)
* [Виталий Фридман - От birthday selector до inline validation: все, что нужно знать о веб-формах (ч.2)](https://www.youtube.com/watch?v=Vs_TCmY1IGI\&list=PLsVTVVvrKX9td9Zm_4nF6Ywlz6gC5_e7K\&index=24)
* [Коридорное тестирование: получаем быстрый фидбек по макетам](https://habr.com/ru/post/219699/)
* [Usability and UX reviews as part of QA](https://theqalead.com/topics/usability-ux-reviews-in-qa/)
* [Игра терминов: UX, UXD, CX, UI, IxD](https://medium.com/%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B5%D0%BC%D1%83-cx-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1%80%D1%83/%D0%B8%D0%B3%D1%80%D0%B0-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%B2-ux-uxd-cx-ui-ixd-96f637e6223e)
* [Тестируем интерфейс без юзеров и регистраций, но с эвристической оценкой Нильсена](https://dou.ua/forums/topic/35289/)
* [Gamification In UX - 3 Examples Of Using Gamification In UX](https://uxstudioteam.com/ux-blog/gamification-ux/)
* [Почему хорошее ТЗ еще не означает хороший UI?](https://www.youtube.com/watch?v=xjLwq-gVaiU)
* [Как обосновать usability баг без придирок и вкусовщины](https://www.youtube.com/watch?v=ocDqHsFWxBo)
* [Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов](https://habr.com/ru/post/512842/)
