Что такое тестирование приемлемости для пользователя?
Разработка приложений - сложный процесс. По мере того как дизайнеры проходят через множество итераций, необходимо провести достаточное количество испытаний, прежде чем приложение будет готово к выпуску. После системных тестов, проверяющих, что приложение работает примерно так, как ожидалось, последним этапом тестирования является приемочное тестирование пользователей (UAT). UAT - это одна из последних возможностей для разработчиков и команды QA выявить проблемы и внести существенные изменения в приложение перед его выпуском.
Определение приемочного тестирования пользователя
Приемочное тестирование пользователей (UAT), иногда называемое альфа-/бета-тестированием или оценкой конечного пользователя, - это последний этап тестирования, который проходит приложение перед выпуском. Разработчики также используют UAT после выпуска приложения для тестирования новых функций или изменений в дизайне.
Хотя UAT иногда называют альфа- или бета-тестированием, это не говорит о полной картине. Альфа- и бета-тестирование - это лишь часть всего спектра тестов, составляющих приемочное тестирование пользователей. Цель этих тестов - определить, пригодно ли приложение к выпуску. Несмотря на то, что в них, скорее всего, будет обнаружено несколько ошибок, предполагается, что к тому моменту, когда приложение достигнет этой стадии разработки, оно должно функционировать правильно.
Цель приемочного тестирования при разработке
UAT используется для проверки того, как продукт функционирует в реальных условиях. Оно имеет неоценимое значение при разработке приложений, поскольку помогает командам разработчиков понять, как пользователи могут технически реагировать на конечный продукт и его функции, выявить все ошибки, возникающие в последний момент, и протестировать новые функции. Как следует из названия, основная цель - определить, сочтет ли теоретический пользователь приложение или функцию приемлемой. В рамках этой цели различные типы тестов имеют свою собственную цель.
В конце процесса UAT, после внесения всех рекомендованных изменений, команды QA и разработчиков, а также клиент должны быть уверены, что приложение полностью функционально и готово к выпуску.
Вкратце, цели UAT заключаются в подтверждении того, что приложение:
- Соответствует требованиям клиента
- Соответствует техническим требованиям пользователей
- Соответствует нормам
Зачем нужно приемочное тестирование?
Существует огромное количество приложений. У пользователей часто есть огромное количество вариантов решения любой задачи, поэтому, чтобы ваше приложение выделялось и удерживало пользователей, недостаточно, чтобы оно было функциональным; необходимо сделать его максимально удобным и приятным в использовании.
Улучшить UX
UAT помогает убедиться, что ваше приложение не только функционально, но и удобно для пользователя. Да, принятие может показаться низкой планкой, но, если все сделано правильно, UAT позволит вам улучшить пользовательский опыт до такой степени, что пользователи не только примут приложение, но и примут его. Это критический этап для хорошего UX.
Вылавливайте ошибки в последнюю минуту
Часто, когда мы проектируем и создаем продукты, мы находимся так близко к продукту, что нам трудно увидеть его ясно. Когда QA-специалисты и разработчики тестируют его и предоставляют свои отзывы, мы можем взглянуть на продукт свежим взглядом и часто обнаруживаем проблемы, которые мы никогда бы не заметили и не подумали о них.
Экономия денег
Отправка приложений в мир без проведения UAT может быть очень дорогостоящей, поскольку всегда есть проблемы, которые раньше оставались незамеченными. Исправлять их после выпуска гораздо дороже, чем заранее. Кроме того, существует дополнительная проблема, связанная с тем, что пользователи могут отключиться - если они однажды испытали неудачу, то вряд ли дадут приложению второй шанс.
Виды приемочного тестирования
Существует несколько типов тестов, составляющих UAT, которые проводятся в разное время в процессе разработки:
Альфа-тестирование
Альфа-тестирование проводится внутренним персоналом, часто сотрудниками организации-заказчика, когда приложение приближается к завершению. Идея заключается в том, чтобы альфа-тестеры испытали приложение так, как это сделал бы конечный пользователь, и дали обратную связь, чтобы разработчики могли выявить ошибки и внести изменения.
Альфа-тестирование обычно проводится в среде разработки и является первым шансом обнаружить проблемы за пределами тестовой среды. Команда разработчиков не принимает участия в альфа-тестировании, но наблюдает за тестировщиками и фиксирует результаты, прежде чем внести необходимые изменения.
Бета-тестирование
Бета-тестирование, или полевое тестирование, проводится после альфа-тестирования, но до выпуска приложения. Тестирование проводится в реальной рабочей среде, специально отобранными пользователями, которые не являются частью организации-заказчика.
Бета-тестирование позволяет разработчикам и команде QA обнаружить все оставшиеся ошибки, понять, как пользователи взаимодействуют с приложением, и собрать отзывы о пользовательском опыте. Бета-тестирование также используется для проверки новых функций или значительных изменений в уже выпущенных приложениях.
Тестирование черного ящика
Тестирование "черного ящика", также известное как поведенческое тестирование, проводится тестировщиком, знакомым с функциональными характеристиками приложения, но не знакомым с кодом. Они проверяют, работает ли приложение так, как нужно, и, как правило, на протяжении всего процесса разработки проводится множество итераций на каждом этапе цикла тестирования.
Тестирование "черного ящика" помогает выявить основные проблемы в работе приложения, при этом тестировщик не имеет доступа к коду. Иногда его относят к разновидности функционального тестирования.
Приемочное тестирование
В начале процесса разработки между заказчиком и разработчиком составляется контракт, в котором излагаются ожидания и требования к готовому продукту. Приемочное тестирование определяет, были ли выполнены условия контракта.
Операционное приемочное тестирование
Эксплуатационное приемочное тестирование, или приемочное тестирование на производстве, проверяет, насколько гладко и надежно работает приложение со всеми компонентами операционной среды. Сюда входят системы обслуживания, безопасности и обновления, обучение пользователей и рабочие процессы, а также резервные планы на случай сбоев.
Приемочное тестирование на соответствие нормативным требованиям
Приемочное тестирование, или тестирование на соответствие нормативным требованиям, проводится для определения соответствия приложения соответствующим отраслевым, правительственным и юридическим нормам и законам.
Кто вовлечен и участвует в приемочном тестировании
Приемочные испытания обычно разрабатываются и проводятся командами разработчиков и QA при участии заказчика.
Роли в процессе UAT могут варьироваться в зависимости от таких факторов, как типы проводимых тестов и размер операции, но в целом роли и обязанности выглядят примерно так:
- Клиент: Связывается с командами разработки и QA для определения требований и ожиданий. Может выделить сотрудников для участия в альфа-тестировании. Подписывает работу, когда требования выполнены.
- Команда разработчиков: Разрабатывает и внедряет тесты, может наблюдать за тестировщиками и просматривать данные. Вносит необходимые изменения в код.
- Команда QA: Обучает и наблюдает за тестировщиками, собирает и анализирует данные, передает результаты и дальнейшие требования команде разработчиков. Представляет результаты клиенту.
- Конечные пользователи: Выбранные пользователи проводят бета-тестирование и сообщают о своих результатах команде разработчиков.
Когда проводится приемочное тестирование
UAT проводится в конце процесса разработки, когда приложение уже почти готово к выпуску. Перед UAT в жизненном цикле разработки приложения проводится несколько других видов тестирования, включая системное тестирование и тестирование юзабилити. UAT также проводится после выпуска приложения, когда в нем появляются новые или измененные функции.
Различные виды UAT проводятся на разных этапах разработки и жизненного цикла приложения:
- Перед первоначальным выпуском: Тестирование "черного ящика", альфа-тестирование, эксплуатационное, нормативное и контрактное приемочное тестирование.
- Тестирование патчей или обновлений перед выпуском: Бета-тестирование, тестирование "черного ящика
- После выпуска: Бета-тестирование новых функций, тестирование "черного ящика