Что такое приемочное тестирование?
Приемочное тестирование — один из методов тестирования ПО, при котором система проверяется на приемлемость — готовность к передаче заказчику (клиентам). Оценивается соответствие продукта бизнес-требованиям и требованиям пользователей.
Более формальное определение приемочного тестирования: проверка соответствия требованиям пользователей и бизнес-требованиям, проверка соответствия критериям приемки. После завершения приемочного тестирования пользователи/заказчики решают, принимать ли систему в пользование.
Один из завершающих этапов тестирования продукта, проводимый после системного тестирования.
Разновидности
Пользовательское
Так называемое UAT-тестирование — глядя на продукт с точки зрения конечного пользователя. QA-команда оценивает, хорошо ли работает продукт, привлекая к тестированию конечных пользователей (end users) для предоставления самого весомого фидбека. Проверяются в первую очередь самые важные для пользователей и наиболее часто используемые функции. Самый распространенный тип приемочного тестирования.
Существует методика тестирования, целиком основанная на приемочных тестах (acceptance test driven development, A-TDD)
Соблюдения бизнес-требований
Проверка выполнения целей/задач с точки зрения бизнеса заказчика. Направлено на оценку будущих прибылей от продукта, которую определить бывает проблематично, из-за изменчивости рынка и появления новых технологий. Поэтому продукт, успешно прошедший проверку будущими клиентами, соответствующий требованиям, созданным ранее, в дальнейшем может не соответствовать обновленным бизнес-требованиям.
Контрактное
(Подразумевает выполнение письменного соглашения (договора, контракта), где оговаривается, что после вывода продукта на рынок проводится отдельное тестирование; оно обычно включает важные сценарии использования (use-cases) — и это тестирование должно быть завершено с обязательным позитивным результатом.
Двусторонний SLA-контракт о минимальном уровне обслуживания включает пункт, согласно которому оплата производится только если итоговое качество на нужном уровне; только тогда контракт считается выполненным.
Иногда такое соглашение вступает в силу до запуска в эксплуатацию; оговариваются временные рамки и объем тестирования, действия сторон при невыполнении контракта или неполном выполнении, и т.п.
Соответствия законодательству
Проверяет соблюдение нормативных актов, действующих в стране или регионе. Несоблюдение законодательных норм ИТ-компаниями чаще всего непреднамеренное, при этом способно резко негативно повлиять на перспективы компании, вплоть до законодательного запрета любых операций в стране. Продукт, который готовится к запуску на рынке страны, должен проходить такое тестирование, так как в различных регионах мира, странах и отдельных областях стран могут действовать совершенно разные и не всегда очевидные регуляции.
Эксплуатационное (операционное)
Проверка так называемой «операционной готовности» продукта, включающая как правило нефункциональное тестирование, его многочисленные специальные виды, редко освещаемые в литературе, как-то тестирование совместимости, восстановления, масштабируемости, надежности и т.п.
Альфа-тестирование
Первичное сквозное тестирование базовой функциональности продукта, подтверждающее выполнение основных требований и готовность к переходу к следующему этапу — «бете».
Подробный материал об альфа-тестировании
Бета-тестирование
Оценка продукта конечными пользователями на добровольной основе и в собственном тестовом окружении. Бета-тестеры дают фидбек, что позволяет существенно улучшить user experience.
Выгоды
- QA-команда, проводя приемочное тестирование того или иного вида, уточняет и совершенствует требования и улучшает соблюдение существующих требований
- Приемочное тестирование можно автоматизировать
- В случае бета-тестирования участники становятся причастными к созданию продукта, лучше знают продукт и более лояльны к компании
- Приемочное тестирование черного ящика допускает незнание участниками исходного кода продукта и может быть довольно быстрым
Недостатки
- Пользователи должны иметь базовые знания о продукте и области его применения
- Привлечь внимание большого количества бета-тестеров к приемочному тестированию сложного/узконаправленного продукта и убедить их поучаствовать — может быть проблематично
- Сбор фидбека может быть усложненным или затянутым, а сам фидбек не всегда релевантным качеству продукта
- По указанным причинам, бывает сложно контролировать процессы
Этапы приемочного тестирования
Чаще всего приемочное тестирование проходит в пяти этапах:
- Пре-альфа
- Продукт в виде функционирующего прототипа
- Функции могут быть готовы полностью или частично
- Продукт не готов к передаче
- Альфа
- Разработка продукта близится к завершению
- Продукт тестируется QA-командой
- Бета
- Продукт нестабилен, релизится только для небольшого количества пользователей
- Цель — собрать фидбек и внести корректировки
- Релиз-кандидат
- Предварительная версия, без критических ошибок
- Но продолжается проверка, и если больше ошибок не найдут, становится релизной версией
- Релиз
- Все отлично работает
- Продукт выпускается на рынок
***