Альфа-тестирование – это тестирование, которое проводится перед релизом ПО, оно относится к одному из видов приемочного тестирования. Такой вид тестирования является довольно формальным, и в нем не принимают участие конечные пользователи.
Альфа-тестирование проводится в тестовом окружении после релиза полностью нового продукта или после обновлений уже существующего. При данном виде тестирования осуществляется имитация поведения конечного пользователя в реальном времени.
В этой статье в доступной форме рассказывается о значении, необходимости, стратегиях и процедуре Альфа-тестирования.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Что такое альфа-тестирование?
Альфа-тестирование (Alpha Testing) – это методология оценки качества и стабильности тестируемого продукта в тестовом окружении.
Этот вид тестирования в основном направлен на выявление:
- блокирующих и критичных дефектов
- проблем с удобством использования
- недостающего функционала
- проблем совместимости/взаимодействия компонентов
При этом собирается обратная связь от команды, участвовавшей в альфа-тестировании, которая в дальнейшем используется для оценки качества и стабильности продукта, а также рассматриваются любые предложения по улучшению продукта.
Главный вопрос, который ставит перед собой альфа-тестирование: “Работает ли продукт?”.
Цели
Данный вид тестирования всегда необходим для программных продуктов, для которых планируется проведение бета-тестирования (чаще всего альфа-тестирование пропускают и сразу переходят к бета-тестированию, что в большинстве случаев не рекомендуется).
Причинами проведения такого тестирования являются:
- Ошибки, возникающие непосредственно на поздних этапах разработки (найденные после этапа бета-тестирования/запуска в эксплуатацию), создают плохое впечатление о продукте, и репутация организации, разработавшей продукт, ухудшается. Кроме того, эти ошибки приводят к задержке запуска продукта в эксплуатацию, требуется больше усилий (как времени, так и ресурсов) для их исправления.
- Поощрение различных подразделений организации (отдел продаж, менеджмент и т.д.) за помощь в тестировании и испытании продукта. Они могут предоставлять отзывы, предложения по улучшению продукта, что на самом деле помогает повысить качество продукта.
- Поскольку на этой фазе фиксируются потенциальные проблемы конечных пользователей, это позволяет организовать сильную службу поддержки продукта сразу после его запуска в эксплуатацию.
- Недостающие функции могут быть доделаны или запланированы для последующих релизов.
Когда проводится альфа-тестирование?
Этот вид тестирования обычно проводится сразу после этапа системного тестирования и/или во время системного тестирования, когда продукт готов на 70%-90%, перед этапом бета-тестирования.
Тестирование происходит поэтапно:
- Пре-альфа тестирование: Пользовательский интерфейс продукта готов, но функции еще не полностью реализованы. На этом этапе обычно принимается решение о том, какие функции должны быть включены в продукт. Прототип продукта постоянно исследуется и анализируется на предмет дополнительных улучшений.
- Альфа-тестирование: Рабочий продукт готов к тестированию, основные работы QA уже практически завершены.
Альфа-тестирование обычно проводится циклами, которые обычно называют циклами тестирования (Test Cycle), каждый цикл длится около 1 – 2 недель. Количество циклов зависит от функций, включенных в тест-планы, и количества проблем, выявленных на этом этапе тестирования.
Обычно в данный вид тестирования включают ряд кейсов приемочного и системного тестирования.
Заинтересованные стороны и участники
Заинтересованными сторонами на этапе альфа-тестирования обычно являются инженеры (штатные разработчики), команда обеспечения качества и команда управления продуктом.
Участниками этого тестирования будут как правило тестировщики:
- Эксперты в предметной области.
- Те, кто хорошо знают продукт.
- Те, кто также участвовал в этапе системного тестирования продукта.
- Технические эксперты.
Иногда клиенты или определенные конечные пользователи могут участвовать в тестировании альфа-версии продукта.
Могут быть использованы методы тестирования “белого ящика” или “черного ящика”, либо их комбинация. Кроме того, приемочные тесты лучше автоматизировать, так как они могут быть включены в несколько циклов тестирования, и в каждом из них тесты могут повторяться. Приемочные тесты, проводимые в этом цикле, относятся к альфа-тестам.
Стратегия альфа-тестирования
Как и любой другой этап тестирования, этот вид тестирования имеет стратегию, в которой четко определены цели и планы.
- Подходы к выполнению данного вида тестирования и его участники документируются в тест-плане.
- Функциональности и конкретные тесты, которые должны быть выполнены, выбираются и помечаются для тест-циклов.
- Определяются виды тестирования – “черный ящик”, “белый ящик” и т.д.
- Выбираются и прорабатываются тесты, которые должны быть автоматизированы.
- Правила репортинга дефектов, проблем юзабилити, статусов исполнения тест-кейсов – все это хранится в виде готовых шаблонов и проверяется на корректность.
Основные шаги
Последовательность действий с точки зрения тестировщика:
- Собрать и просмотреть функциональные требования из всех возможных доступных документов.
- Как можно раньше устранить неоднозначности и вопросы по функциональным требованиям.
- Разработать план альфа-тестирования и проверить его на полноту, правильность и т.д.
- Разработать альфа-тесты для выбранных функций – они должны быть полными и точными.
- Проверить альфа-тесты на плотность тестового покрытия для выбранных функциональностей, составить матрицу трассировки требований.
- Определить наборы альфа-тестов для каждого цикла тестирования (нормальная практика, если их придется повторять в течение многих циклов).
- Для циклов:
- Выполнить альфа-тесты, как только альфа-версия продукта будет доступна для тестирования.
- Зафиксировать дефекты – как функциональные, так и дефекты пользовательского интерфейса.
- После устранения дефектов провести повторное тестирование.
Критерии входа:
- Спецификации требований должны быть заморожены.
- Системное тестирование должно быть:
- Завершено и утверждено, в случае если альфа-тестирование начинается по завершении системного тестирования.
- Завершено на 70% – 90% и есть уверенность, что можно приступать к альфа-тестированию.
- Должны быть выбраны и подготовлены к работе участники тестирования.
- Альфа-тесты должны быть разработаны и проанализированы.
- Должно быть достигнуто полное тестовое покрытие для всех функциональных требований.
- Тестовая среда должна быть настроена и стабильна.
- Сборка для альфа-версии продукта должна быть готова и собрана с задокументированным полным описанием релиза.
Критерии выхода:
- Все блокирующие и критичные дефекты должны быть исправлены.
- Все циклы тестирования должны быть завершены.
- Все альфа-тесты должны быть выполнены.
- После альфа-тестирования реализация всех функциональностей должна быть заморожена (т.е. нельзя добавлять никакие дополнительные функций, изменять или убирать существующие функции).
- Составлен отчет об альфа-тестировании.
- Альфа-тестирование официально завершено.
Преимущества
Существует ряд преимуществ проведения данного вида тестирования.
- Компания-разработчик продукта проводит тестирование, нацеленное на конечных пользователей, намного раньше.
- Это помогает обрести уверенность в качестве продукта и подготавливает его к бета-тестированию.
- Помогает обнаружить дорогостоящие дефекты до того, как программный продукт начнет использоваться широкой аудиторией и попадет на этап бета-тестирования
- Помогает определить факторы, влияющие на успешный релиз продукта.
Заключение
Использование альфа-тестирования на ранней стадии жизненного цикла разработки программного обеспечения позволяет лучше исследовать продукт на предмет дефектов. Оно помогает оценить качество продукта с точки зрения целевых пользователей и их опыт использования продукта.
Строго формализованное проведение альфа-тестирования помогает успешно достичь поставленных целей и приводит к высоким показателям удовлетворенности клиентов.
Перевод статьи «What is Alpha Testing? An Early Alarm for Defects».
Пингбэк: Что такое гамма-тестирование?
Пингбэк: Большой учебник по тестированию
Пингбэк: A/B-тестирование