В данной статье будет рассказано о том, что собой представляют альфа и бета версии программ. Также предстоит выяснить, какими бывают приложения до официального итогового релиза. Эта информация пригодится не только разработчикам, но и тестировщикам на собеседованиях.
Стадии разработки
Стадии разработки используются для описания степени готовности итогового программного продукта. Данный момент может отражать реализованные функции, запланированные для того или иного приложения.
Стадии разработки могут быть как объявлены официально, так и проводиться негласно. Во втором случае подобное описание используется специально для того, чтобы охарактеризовать состояние конкретного продукта.
Основная «классификация» стадий разработки программ:
- Pre-Alpha;
- Alpha;
- Beta;
- вечная бета-версия;
- Release candidate.
Каждый вариант предусматривает свои ключевые особенности, о которых будет рассказано далее. Особое внимание будет уделено альфа и бета версиям ПО.
Pre-Alpha
Этапы разработки (стадии) программы делятся на несколько «шагов». Первая – это начальная. Она характеризуется периодом времени от начала работы над проектом до выхода первой альфа версии.
Pre-Alpha – это программы, которые еще не стали alpha или beta, но уже частично готовы для организации тестирования. В них реализованы основные функциональные возможности, возможно в неполной мере.
В Pre-Alpha версии подразумеваются все действия, выполняемые при проектировании приложения:
- формирование дизайна;
- анализ выдвинутых требований;
- непосредственное написание программа;
- отладка конкретных модулей.
Обычно такой версией программ среднестатистические клиенты не пользуются. Они ждут более «серьезного» релиза.
Alpha
Данная версия предназначается преимущественно для тестирования внутри компании или сообщества программистов. Этап, который характеризуется добавлением новых функциональных возможностей. Приложения типа alpha применяются для ознакомления с будущими возможностями.
Тестирование такой версии обычно завершается заморозкой функциональности и переходом к следующим стадиям создания ПО.
Beta
Бета – это «общественная разработка». Стадия активного тестирования широким кругом лиц, а также отладки программы. Приложения такого уровня могут использоваться другими разработчиками для проверки совместимости. Подобное программное обеспечение может содержать достаточно большое количество ошибок.
Бета-продукт – это не финальная версия, хоть она и является относительно стабильной. Его публичное тестирование производится на страх и риск пользователя. За последствия работы с бетой создатели не несут никакой ответственности.
Вечная бета
Есть отдельная категория программ – «вечная бета». Данное понятие было введено Тимом О’Райли. Оно характеризует ситуацию, когда приложение находится в бета-стадии неопределенное количество времени.
Механизм уместен в интернете, где у ПО имеются следующие свойства:
- вместо инсталляторов применяются интернет-службы с дешевой масштабируемостью;
- уникальные подборки данных, которые обогащаются при расширении пользовательской публики;
- выход за рамки одного устройства;
- упрощенные пользовательские интерфейсы и бизнес-модели;
- привлечение целевой аудитории (конечных пользователей) к помощи в создании итогового продукта.
Также «вечной бетой» становятся проекты с особой ответственностью за пользовательские данные. Это приводит к тому, что программисты просто уходят от их конечного формирования. Это может означать, что на официальный итоговый релиз продукта можно не рассчитывать. Он вряд ли появится.
Release Candidate
Стадия-кандидат на то, чтобы стать стабильной (итоговой). Если приложение получило подобный «статус», это может означать, что оно успешно прошло комплексное тестирование. В таких программных продуктах исправлены критические и крупные ошибки.
Release Candidate не исключает наличие багов. Если в течение некоторого времени масштабные недоработки не обнаруживаются, проект переходит в RTM-тип.
Выпуск
Что такое альфа версия программы, теперь понятно. Когда проект прошел все «предварительные» этапы, начинается его выпуск. Процесс носит название «стабильный выпуск». Это формальный термин, который обычно зависит от способа реализации: физический носитель, онлайн или веб-приложение.
Здесь выделяют несколько вариантов:
- Выпуск в производство. Ситуация, когда проект готов к тиражированию. Стабильная версия (не альфа и не candidate) программы, прошедшая предыдущие этапы. Это и есть RTM. Термин используется тогда, когда нужно указать, что проект соответствует определенному уровню качества и готов для «выпуска в массы».
- Общедоступность или GA. Маркетинговая стадия. Во время нее проводятся мероприятия, связанные с коммерциализацией. Программный продукт становится доступным для приобретения.
- Веб-релиз. Это – выпуск в интернет (RTW). Средство доставки ПО, использующее для распространения интернет. Наиболее распространенная концепция в 21 веке.
После того как итоговый проект будет реализован, он начинает поддерживаться. Во время этого периода создатели выпускают к ПО патчи, а также пакеты обновления. Срок поддержки нигде не регламентирован: у некоторых приложений он длится 1-2 года, а у каких-то 5-9 лет.
P. S. Хотите знать больше? Обратите внимание на курсы по тестированию в Otus. Присутствуют варианты как для продвинутых, так и для начинающих пользователей.