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

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

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

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

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

[Бета-тестирование](https://www.softwaretestinghelp.com/beta-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, после чего они немедленно исправляются                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Дефекты собираются из обратной связи от пользователей и записываются как улучшения для будущей версии                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <p><strong>Цели:</strong></p><ul><li>Оценить качество продукта;</li><li>Убедиться в готовности к бета-тестированию;</li><li>Фокус на поиске ошибок;</li><li>Работает ли ПО?</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                          | <p><strong>Цели:</strong></p><ul><li>Оценить удовлетворенность клиентов;</li><li>Убедиться в готовности к релизу (в прод);</li><li>Фокус на сборе отзывов и предложений;</li><li>Нравится ли заказчикам (customers) продукт?</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <p><strong>Когда?</strong></p><ul><li>Обычно после System testing phase или когда продукт готов на 70-90%;</li><li>Фичи почти заморожены, и нет возможности для серьезных улучшений;</li><li>Сборка должна быть стабильной для технического пользователя;</li></ul>                                                                                                                                                                                                                                                                                                                                            | <p><strong>Когда?</strong></p><ul><li>Обычно после альфа-тестирования и продукт готов на 90-95%;</li><li>Фичи заблокированы и улучшения уже не принимаются;</li><li>Сборка должна быть стабильной для реальных пользователей;</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| <p><strong>Продолжительность теста:</strong></p><ul><li>Проведение множества циклов испытаний;</li><li>Каждый цикл тестирования длится 1-2 недели;</li><li>Продолжительность также зависит от количества обнаруженных проблем и количества добавленных новых функций;</li></ul>                                                                                                                                                                                                                                                                                                                                | <p><strong>Продолжительность теста:</strong></p><ul><li>Проведение всего 1 или 2 цикла испытаний;</li><li>Каждый цикл тестирования длится 4-6 недель;</li><li>Циклы тестирования могут увеличиваться в зависимости от отзывов / предложений реальных пользователей;</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <p><strong>Stakeholders:</strong></p><p>Engineers (in-house developers), Quality Assurance Team, and Product Management Team</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | <p><strong>Stakeholders:</strong></p><p>Product Management, Quality Management, and User Experience teams</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <p><strong>Участники:</strong></p><ul><li>Технические эксперты, специализированные тестировщики с хорошими знаниями предметной области (новые или уже участвовавшие в фазе тестирования системы), предметная экспертиза (Subject Matter Expertise);</li><li>В некоторых случаях клиенты и / или конечные пользователи могут участвовать в альфа-тестировании;</li></ul>                                                                                                                                                                                                                                        | <p><strong>Участники:</strong></p><ul><li>Конечные пользователи, для которых предназначен продукт;</li><li>Customers также обычно участвуют в бета-тестировании;</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| <p><strong>Ожидания:</strong></p><ul><li>Приемлемое количество ошибок, которые были пропущены при предыдущих тестовых мероприятиях;</li><li>Неполные функции и документация;</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                         | <p><strong>Ожидания:</strong></p><ul><li>Почти готовый продукт с гораздо меньшим количеством ошибок и сбоев;</li><li>Почти готовые функции и документация;</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <p><strong>Критерии начала (Entry Criteria):</strong></p><ul><li>Альфа-тесты, разработанные и проверенные с учетом требований бизнеса (Business requirements);</li><li>Требования покрыты тестами в Traceability matrix;</li><li>Команда тестирования со знанием предметной области (domain) и продукта;</li><li>Настройка среды и сборка для выполнения (Environment setup and build for execution);</li><li>Набор инструментов должен быть готов для регистрации ошибок и управления тестированием;</li><li>Системное тестирование, в идеале, должно быть закончено;</li></ul>                               | <p><strong>Критерии начала (Entry Criteria):</strong></p><ul><li>Бета-тесты, например, что тестировать, и процедуры, задокументированные для использования на проде;</li><li>Нет необходимости в матрице прослеживаемости;</li><li>Конечные пользователи и заказчик объединяются;</li><li>Настройка среды конечного пользователя;</li><li>Набор инструментов должен быть готов для сбора отзывов / предложений;</li><li>Alpha Testing должно быть закончено;</li></ul>                                                                                                                                                                                                                                             |
| <p><strong>Критерии окончания (Exit Criteria):</strong></p><ul><li>Все альфа-тесты должны быть выполнены, и все циклы должны быть завершены;</li><li>Critical / Major дефекты должны быть исправлены и повторно протестированы;</li><li>Должен быть завершен эффективный анализ отзывов, предоставленных участниками;</li><li>Alpha Test Summary report;</li><li>Alpha Testing должно быть закончено;</li></ul>                                                                                                                                                                                                | <p><strong>Критерии окончания (Exit Criteria):</strong></p><ul><li>Все циклы должны быть завершены;</li><li>Critical / Major дефекты должны быть исправлены и повторно протестированы;</li><li>Должен быть завершен эффективный анализ отзывов, предоставленных участниками;</li><li>Beta Test Summary report;</li><li>Beta Testing должно быть закончено;</li></ul>                                                                                                                                                                                                                                                                                                                                               |
| <p><strong>Плюсы (Pros):</strong></p><ul><li>Помогает обнаружить ошибки, которые не были обнаружены во время предыдущих тестовых мероприятий;</li><li>Лучшее представление об использовании и надежности продукта;</li><li>Анализ возможных рисков во время и после запуска продукта;</li><li>Помогает подготовиться к будущей поддержке клиентов;</li><li>Помогает укрепить доверие клиентов к продукту;</li><li>Снижение затрат на обслуживание за счет выявления и исправления ошибок перед запуском бета-версии / production версии;</li><li>Простое управление тестированием (Test Management);</li></ul> | <p><strong>Плюсы (Pros):</strong></p><ul><li>Тестирование продукта не поддается контролю, и пользователь может протестировать любую доступную функцию любым способом - в этом случае угловые области (corner areas) хорошо протестированы;</li><li>Помогает обнаружить ошибки, которые не были обнаружены во время предыдущих тестовых мероприятий (включая альфа-версию);</li><li>Лучшее представление об использовании продукта, надежности и безопасности;</li><li>Анализ точки зрения и мнение реального пользователя о продукте;</li><li>Отзывы / предложения реальных пользователей помогают в дальнейшем импровизировать продукт;</li><li>Помогает повысить удовлетворенность клиентов продуктом;</li></ul> |
| <p><strong>Минусы (Cons):</strong></p><ul><li>Ожидается, что не вся функциональность продукта будет проверена;</li><li>Ограничено только бизнес-требованиями;</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                        | <p><strong>Минусы (Cons):</strong></p><ul><li>Определенный объем (Scope) может соблюдаться или не соблюдаться участниками;</li><li>Документация больше и требует больше времени - требуется для использования инструмента регистрации ошибок (при необходимости), использования инструмента для сбора отзывов / предложений, процедуры тестирования (установка / удаление, руководства пользователя);</li><li>Не все участники гарантируют, что проводят качественное тестирование;</li><li>Не все отзывы эффективны - на рассмотрение отзывов уходит много времени;</li><li>Управление тестированием слишком сложно;</li></ul>                                                                                    |

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

[Gamma Testing](https://www.softwaretestinghelp.com/gamma-testing-2/) - это заключительный этап тестирования, который выполняется, когда продукт готов к выпуску с особыми требованиями. Не все действия по внутреннему тестированию, которые решено пройти через этот этап тестирования, выполняются на продукте. Этот этап не позволяет вносить в продукт какие-либо изменения, кроме исправления критических ошибок, которые необходимо выполнить. Это тестирование проводится, чтобы убедиться, что продукт является более безопасным с точки зрения качества продукта, удобства использования, безопасности и производительности перед выпуском в прод.

[Pilot testing](https://www.softwaretestinghelp.com/what-is-pilot-testing/) определяется как тип тестирования программного обеспечения, который проверяет компонент системы или всю систему в режиме реального времени. Целью пилотного теста является оценка осуществимости, времени, стоимости, риска и эффективности исследовательского проекта. Это тестирование проводится точно между UAT и Production. В пилотном тестировании выбранная группа конечных пользователей пробует тестируемую систему и предоставляет обратную связь до полного развертывания системы. Другими словами, это означает проведение генеральной репетиции для последующего теста на удобство использования. Пилотное тестирование помогает в раннем обнаружении ошибок в Системе. Пилотное тестирование связано с установкой системы на площадке заказчика (или в среде, моделируемой пользователем) для тестирования на предмет постоянного и регулярного использования. Выявленные недостатки затем отправляются команде разработчиков в виде отчетов об ошибках, и эти ошибки исправляются в следующей сборке системы. Во время этого процесса иногда приемочное тестирование также включается как часть тестирования на совместимость. Это происходит, когда система разрабатывается для замены старой.

Источники:

* [Alpha Testing And Beta Testing (A Complete Guide)](https://www.softwaretestinghelp.com/what-is-alpha-testing-beta-testing/)

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

* [Альфа и бета тестирование / Урок 13 / Тестировщик с нуля](https://www.youtube.com/watch?v=6g0j4N-lkpQ)
