# Тестирование удобства пользования (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/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://vladislaveremeev.gitbook.io/qa_bible/vidy-metody-urovni-testirovaniya/testirovanie-udobstva-polzovaniya-usability-testing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
