Альфа- и бета- тестирование (Alpha Testing and Beta Testing)

Альфа-тестирование (alpha testing): Моделируемое или действительное эксплуатационное тестирование потенциальными пользователями/заказчиками или независимой командой тестирования на стороне разработчиков, но вне разрабатывающей организации. Альфа-тестирование часто применяется к коробочному программному обеспечению в качестве внутреннего приемочного тестирования. (ISTQB)

Бета-тестирование (beta testing): Эксплуатационное тестирование потенциальными и/или существующими клиентами/заказчиками на внешней стороне никак не связанными с разработчиками, с целью определения действительно ли компонент или система удовлетворяет требованиям клиента/заказчика и вписывается в бизнес-процессы. Бета-тестирование часто проводится как форма внешнего приемочного тестирования готового программного обеспечения для того, чтобы получить отзывы рынка. (ISTQB)

Альфа- и бета-тестирование - это Customer Validation methodologies (Acceptance Testing types) которые помогают укрепить веру в запуске продукта и, таким образом, привести к успеху продукта на рынке. Несмотря на то, что они оба полагаются на реальных пользователей и обратную связь разных команд, ими движут разные процессы, стратегии и цели. Эти два типа тестирования вместе увеличивают успех и продолжительность жизни продукта на рынке. Эти этапы можно адаптировать к продуктам Consumer, Business или Enterprise. Этапы альфа- и бета-тестирования в основном сосредоточены на обнаружении ошибок в уже протестированном продукте и дают четкое представление о том, как продукт на самом деле используется пользователями в реальном времени. Они также помогают получить опыт работы с продуктом перед его запуском, а ценные отзывы эффективно используются для повышения удобства использования продукта. Цели и методы альфа- и бета-тестирования переключаются между собой в зависимости от процесса, которому следуют в проекте, и могут быть изменены в соответствии с процессами.

Альфа-тестирование - это форма внутреннего приемочного тестирования (internal acceptance testing), выполняемого, в основном, собственными командами по обеспечению качества и тестированию ПО. Альфа-тестирование - это последнее тестирование, проводимое группами тестирования на месте разработки после приемочного тестирования и перед выпуском программного обеспечения для бета-тестирования. Альфа-тестирование также может быть выполнено потенциальными пользователями или клиентами приложения. Но все же это форма внутреннего приемочного тестирования.

Бета-тестирование - это следующий этап после альфа-тестирования. Это заключительный этап тестирования, на котором компании выпускают ПО для нескольких внешних групп пользователей, не входящих в группы тестирования компании или сотрудников. Эта начальная версия программного обеспечения известна как бета-версия. Большинство компаний собирают отзывы пользователей в этом выпуске. Короче говоря, бета-тестирование можно определить как тестирование, проводимое реальными пользователями в боевой среде. Несмотря на то, что компании проводят строгую внутреннюю проверку качества с помощью специальных групп тестирования, практически невозможно протестировать приложение для каждой комбинации тестовой среды. Бета-версии упрощают тестирование приложения на тысячах тестовых машин и исправление проблем перед выпуском приложения для широкой публики. Выбор групп для бета-тестирования может производиться в зависимости от потребностей компании. Компания может либо пригласить нескольких пользователей для тестирования предварительной версии приложения, либо выпустить ее открыто, чтобы это мог сделать любой. Устранение проблем в бета-версии может значительно снизить затраты на разработку, поскольку большинство незначительных сбоев будут исправлены до окончательной версии. До сих пор многие крупные компании успешно использовали бета-версии своих самых ожидаемых приложений.

Alpha Testing

Beta Testing

Testing environment

Real environment

Functional, usability

Functional, Usability, Reliability, Security

White box and / or Black box testing

Black box testing

На найденные дефекты создаются баг-репорты с high priority, после чего они немедленно исправляются

Дефекты собираются из обратной связи от пользователей и записываются как улучшения для будущей версии

Цели:

  • Оценить качество продукта;

  • Убедиться в готовности к бета-тестированию;

  • Фокус на поиске ошибок;

  • Работает ли ПО?

Цели:

  • Оценить удовлетворенность клиентов;

  • Убедиться в готовности к релизу (в прод);

  • Фокус на сборе отзывов и предложений;

  • Нравится ли заказчикам (customers) продукт?

Когда?

  • Обычно после System testing phase или когда продукт готов на 70-90%;

  • Фичи почти заморожены, и нет возможности для серьезных улучшений;

  • Сборка должна быть стабильной для технического пользователя;

Когда?

  • Обычно после альфа-тестирования и продукт готов на 90-95%;

  • Фичи заблокированы и улучшения уже не принимаются;

  • Сборка должна быть стабильной для реальных пользователей;

Продолжительность теста:

  • Проведение множества циклов испытаний;

  • Каждый цикл тестирования длится 1-2 недели;

  • Продолжительность также зависит от количества обнаруженных проблем и количества добавленных новых функций;

Продолжительность теста:

  • Проведение всего 1 или 2 цикла испытаний;

  • Каждый цикл тестирования длится 4-6 недель;

  • Циклы тестирования могут увеличиваться в зависимости от отзывов / предложений реальных пользователей;

Stakeholders:

Engineers (in-house developers), Quality Assurance Team, and Product Management Team

Stakeholders:

Product Management, Quality Management, and User Experience teams

Участники:

  • Технические эксперты, специализированные тестировщики с хорошими знаниями предметной области (новые или уже участвовавшие в фазе тестирования системы), предметная экспертиза (Subject Matter Expertise);

  • В некоторых случаях клиенты и / или конечные пользователи могут участвовать в альфа-тестировании;

Участники:

  • Конечные пользователи, для которых предназначен продукт;

  • Customers также обычно участвуют в бета-тестировании;

Ожидания:

  • Приемлемое количество ошибок, которые были пропущены при предыдущих тестовых мероприятиях;

  • Неполные функции и документация;

Ожидания:

  • Почти готовый продукт с гораздо меньшим количеством ошибок и сбоев;

  • Почти готовые функции и документация;

Критерии начала (Entry Criteria):

  • Альфа-тесты, разработанные и проверенные с учетом требований бизнеса (Business requirements);

  • Требования покрыты тестами в Traceability matrix;

  • Команда тестирования со знанием предметной области (domain) и продукта;

  • Настройка среды и сборка для выполнения (Environment setup and build for execution);

  • Набор инструментов должен быть готов для регистрации ошибок и управления тестированием;

  • Системное тестирование, в идеале, должно быть закончено;

Критерии начала (Entry Criteria):

  • Бета-тесты, например, что тестировать, и процедуры, задокументированные для использования на проде;

  • Нет необходимости в матрице прослеживаемости;

  • Конечные пользователи и заказчик объединяются;

  • Настройка среды конечного пользователя;

  • Набор инструментов должен быть готов для сбора отзывов / предложений;

  • Alpha Testing должно быть закончено;

Критерии окончания (Exit Criteria):

  • Все альфа-тесты должны быть выполнены, и все циклы должны быть завершены;

  • Critical / Major дефекты должны быть исправлены и повторно протестированы;

  • Должен быть завершен эффективный анализ отзывов, предоставленных участниками;

  • Alpha Test Summary report;

  • Alpha Testing должно быть закончено;

Критерии окончания (Exit Criteria):

  • Все циклы должны быть завершены;

  • Critical / Major дефекты должны быть исправлены и повторно протестированы;

  • Должен быть завершен эффективный анализ отзывов, предоставленных участниками;

  • Beta Test Summary report;

  • Beta Testing должно быть закончено;

Плюсы (Pros):

  • Помогает обнаружить ошибки, которые не были обнаружены во время предыдущих тестовых мероприятий;

  • Лучшее представление об использовании и надежности продукта;

  • Анализ возможных рисков во время и после запуска продукта;

  • Помогает подготовиться к будущей поддержке клиентов;

  • Помогает укрепить доверие клиентов к продукту;

  • Снижение затрат на обслуживание за счет выявления и исправления ошибок перед запуском бета-версии / production версии;

  • Простое управление тестированием (Test Management);

Плюсы (Pros):

  • Тестирование продукта не поддается контролю, и пользователь может протестировать любую доступную функцию любым способом - в этом случае угловые области (corner areas) хорошо протестированы;

  • Помогает обнаружить ошибки, которые не были обнаружены во время предыдущих тестовых мероприятий (включая альфа-версию);

  • Лучшее представление об использовании продукта, надежности и безопасности;

  • Анализ точки зрения и мнение реального пользователя о продукте;

  • Отзывы / предложения реальных пользователей помогают в дальнейшем импровизировать продукт;

  • Помогает повысить удовлетворенность клиентов продуктом;

Минусы (Cons):

  • Ожидается, что не вся функциональность продукта будет проверена;

  • Ограничено только бизнес-требованиями;

Минусы (Cons):

  • Определенный объем (Scope) может соблюдаться или не соблюдаться участниками;

  • Документация больше и требует больше времени - требуется для использования инструмента регистрации ошибок (при необходимости), использования инструмента для сбора отзывов / предложений, процедуры тестирования (установка / удаление, руководства пользователя);

  • Не все участники гарантируют, что проводят качественное тестирование;

  • Не все отзывы эффективны - на рассмотрение отзывов уходит много времени;

  • Управление тестированием слишком сложно;

Помимо альфа- и бета-тестирования, существуют еще гамма-тестирования и пилотное.

Gamma Testing - это заключительный этап тестирования, который выполняется, когда продукт готов к выпуску с особыми требованиями. Не все действия по внутреннему тестированию, которые решено пройти через этот этап тестирования, выполняются на продукте. Этот этап не позволяет вносить в продукт какие-либо изменения, кроме исправления критических ошибок, которые необходимо выполнить. Это тестирование проводится, чтобы убедиться, что продукт является более безопасным с точки зрения качества продукта, удобства использования, безопасности и производительности перед выпуском в прод.

Pilot testing определяется как тип тестирования программного обеспечения, который проверяет компонент системы или всю систему в режиме реального времени. Целью пилотного теста является оценка осуществимости, времени, стоимости, риска и эффективности исследовательского проекта. Это тестирование проводится точно между UAT и Production. В пилотном тестировании выбранная группа конечных пользователей пробует тестируемую систему и предоставляет обратную связь до полного развертывания системы. Другими словами, это означает проведение генеральной репетиции для последующего теста на удобство использования. Пилотное тестирование помогает в раннем обнаружении ошибок в Системе. Пилотное тестирование связано с установкой системы на площадке заказчика (или в среде, моделируемой пользователем) для тестирования на предмет постоянного и регулярного использования. Выявленные недостатки затем отправляются команде разработчиков в виде отчетов об ошибках, и эти ошибки исправляются в следующей сборке системы. Во время этого процесса иногда приемочное тестирование также включается как часть тестирования на совместимость. Это происходит, когда система разрабатывается для замены старой.

Источники:

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

Last updated