Какими бывают версии программ. Жизненный цикл

В данной статье будет рассказано о том, что собой представляют альфа и бета версии программ. Также предстоит выяснить, какими бывают приложения до официального итогового релиза. Эта информация пригодится не только разработчикам, но и тестировщикам на собеседованиях.
Стадии разработки
Стадии разработки используются для описания степени готовности итогового программного продукта. Данный момент может отражать реализованные функции, запланированные для того или иного приложения.
Стадии разработки могут быть как объявлены официально, так и проводиться негласно. Во втором случае подобное описание используется специально для того, чтобы охарактеризовать состояние конкретного продукта.
Основная «классификация» стадий разработки программ:
- 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. Присутствуют варианты как для продвинутых, так и для начинающих пользователей.
История появления понятия Веб 2.0
Появление названия Веб 2.0 принято связывать со статьей «Tim O’Reilly — What Is Web 2.0» от 30 сентября 2005 года (http://oreilly.com/web2/archive/what-is-web-20.html). Да и термина такого тогда еще не существовало. Как свидетельствует всезнающая Википедия, проникновение этого понятия в массы началось с публикации в сентябре 2005 года статьи ТимаО’Рейлли (основателя и владельца крупнейшего издательства, специализирующегося на компьютерной тематике, и известного ИТ-эксперта, заслужившего признание своими предсказаниями тенденций мирового технологического развития), озаглавленной «WhatIsWeb 2.0» и затем перепечатанной на русском языке в № 37 и № 38 журнала «Компьютерра» от 11 и 18 октября прошлого года под названием «Что такое Веб 2.0».

В этой статье автор связал появление большого количества сайтов, объединённых некоторыми новаторскими принципами и признаками, с общим направлением движения всего международного интернет-сообщества и назвал совокупность этих принципов и признаков «Веб 2.0», в противовес «старому» Веб 1.0. Какова же предыстория появления этой статьи?
В конце 90-х XX столетия Америка была переполнена свободными капиталами, и все они устремились в Интернет. Главными героями того времени были недавние студенты-программисты, в одночасье превратившиеся в миллионеров, благодаря тому что их сайт, созданный ради развлечения, вдруг стал конкурировать с ведущими IT-гигантами за мировое господство. Если название молодой компании заканчивалось на «.com» («дотком»), это служило сигналом инвесторам для её скорейшей покупки. Сайты, торгующие кормом для собак и дизайнерской одеждой, выходили на биржу и вдруг начинали стоить больше, чем крупные металлургические предприятия. Тогда это явление называлось и-коммерцией, в историю же вошло как «интернет-пузырь». В марте 2001 года котировки доткомов на бирже NASDAQ, достигнув своего пика, начали опускаться. Сначала на 10 %, потом на 20 %, а к осени 2001 года рухнули на все 70 %. Волшебная сказка для тысяч инвесторов закончилась разорением. Сайты, торгующие собачьим кормом и дизайнерской одеждой, погибли.
Крах доткомов осенью 2001 года стал для Веб поворотным пунктом, – писалО’Рейлли. – Многие решили, что феномен Веб был слишком раздут, хотя на самом деле «мыльные пузыри» и, как результат этого, падение акций – неизбежно сопутствуют всем технологическим революциям. Падение акций обычно происходит тогда, когда новая технология готова занять центральное место на сцене. На волне поднимаются и мошенники, и те, кто действительно добился успеха, – и в какой-то момент приходит понимание, чем первые отличаются от вторых. Концепция Веб 2.0 родилась в совместном мозговом штурме издательства O’ReillyMedia и компании MediaLiveInternational. Веб-пионер и вице-президент издательства Дейл Дохерти отмечал, что сам-то Веб далек от краха и даже более важен, чем раньше, раз уж впечатляющие новые приложения и сайты появляются с завидной регулярностью. Больше того, у фирм, переживших коллапс, было нечто общее. Родилась организация Web 2.0 Conference, участники которой предприняли попытку понять, что же происходит с Интернетом. Первым их шагом было сравнение сайтов Веб 1.0 и Веб 2.0.

Отличия Веб 2.0 от Веб 1.0
| Объекты, категории, параметры | Веб 1.0 | Веб 2.0 |
| Функции участников информационного процесса | Разграничение функций и возможностей разработчиков и пользователей сайтов, создателей и потребителей их контента. | Пользователи сайтов могут выступать в роли их соразработчиков и соавторов контента. |
| Архитектура программного обеспечения | ПО создаётся в расчёте на параметры персональных компьютеров и представляет собой совокупность программных продуктов с закрытыми исходными кодами и программными интерфейсами. К пользователям предъявляются требования, связанные с необходимостью приобретения и применения лицензированного и платного ПО. | ПО создаётся для использования в Сети и представляет собой программную платформу – комплекс необходимых участникам информационного процесса сервисов и приложений с открытыми исходными кодами и интерфейсами. Практикуется использование программ, распространяемых бесплатно, – по лицензии GNU FDL. |
| Назначение и применение приложений | Любое приложение является законченной и, как правило, оригинальной программой (пакетом программ), обеспечивающей пользователю решение строго определённых задач. | Ориентация на разработку и применение постоянно совершенствуемых («вечная бета-версия»), универсальных, общедоступных и предельно упрощённых приложений с максимальным использованием уже известных программных элементов и решений. |
| Пользовательский интерфейс | Средства пользовательского интерфейса предназначены для обеспечения посетителям сайтов максимальных удобств при потреблении содержащейся в них информации. | CSS, AJAX и другие технологии предоставляют пользователям возможность принимать участие в работе с информацией наравне с разработчиками сайтов, а также обеспечивают повышенную эргономичность. |
| Особенности дизайна | Структура и дизайн сайтов взаимосвязаны и взаимозависимы, языки разметки (HTML и XHTML) используются преимущественно для отображения информации, которая не предназначена для вмешательства со стороны пользователя (а зачастую – и для широкого распространения), а всё управление сайтами (включая интерфейс и навигацию) сосредоточено в руках их владельцев. | Происходит разделение структуры и дизайна сайтов, внедряется семантическая разметка, при которой язык разметки (XML) предназначается исключительно для описания информации, «отчуждаемой» от её источника, становящейся общедоступной, свободно пополняемой и корректируемой. Управление сайтами приобретает децентрализованный характер, в соответствии с которым пользователи могут контролировать интерфейс самостоятельно. |
| Работа с контентом | Информация организована таксономично (в соответствии со структурой сайтов и иерархией рубрик), формой её представления являются веб-страницы с присвоенными им адресами, а средствами организованного хранения – каталоги, библиотеки и БД. Для работы с контентом его потребителю необходимо посещение сайтов с использованием их адресации, навигационных инструментов и односторонних тематических ссылок. Создателем и распорядителем контента считается владелец соответствующего сайта, чьи права охраняются законом. | Информация организована фолксономично (в виде «облака тегов»), формой её представления чаще всего являются блоги, а средствами организации разрозненных и распределённых данных – программные интерфейсы. В Веб 2.0 собственным адресом обладает каждый микроэлемент контента, перемещение между ними осуществляется по двусторонним тематическим ссылкам. Создателем контента считается «коллективный разум» аудитории Интернета, а распорядителем – всё сетевое сообщество. |
| Возможности развития и совершенствования | Развитие и совершенствование приложений и сервисов производится силами компаний программной индустрии и зависит от их производственного потенциала и скорости их реакции на потребности рынка. | Развитие и совершенствование приложений и сервисов происходит непрерывно: использование постоянно расширяющегося спектра готовых программных компонентов, базирующихся на технологиях Веб 2.0 и свободно распространяемых по Сети, позволяет создавать необходимые приложения и сервисы с максимальной оперативностью (в некоторых случаях – в течение пяти минут). |
| Роль и место в технологической и социальной системе Интернета | Интернет представляет собой гигантское информационное пространство, которое обладатели информации используют для её публикации, а потребители – для поиска и применения. Наличие определённых регламентов информационной деятельности в Интернете позволяет в некоторой степени упорядочить происходящие в нём процессы и установить меру ответственности участвующих в этих процессах юридических и физических лиц. | Главной задачей Интернета становится обеспечение коммуникации между участниками глобального информационного процесса. Любые регламенты и модерирующие этот процесс инстанции упраздняются, а все его участники превращаются в свободных и независимых членов единого и ничем не ограниченного интернет-сообщества. |
Виды тестирования по времени проведения

Кроме того, он может быть в принципе готов “выйти в свет”, но было бы неплохо посмотреть на него глазами конечных потребителей.
Именно это и послужило причиной деления тестирования на альфа и бета тестирование. По тому же принципу делятся и пользователи, которые проводят данные виды тестирования. Подробнее обо всем в статье.
Альфа и бета тестирование являются одной из форм приемочного тестирования. То есть ошибок на этом этапе тестирования уже быть не должно. Скорее наоборот, программа должна быть максимально рабочей и пригодной для использования.
Про уровни тестирования подробно говорили тут.
Альфа-тестирование
После подготовки отдельных модулей продукта, они объединяются в единое целое. Это еще не готовая версия, но она уже способна работать и выполняет свои основные задачи (иногда частично). Этот вариант программы и называют альфа-версией.
Альфа-тестирование (alpha testing) – это вид приемочного тестирования, которое обычно проводится на поздней стадии разработки продукта и включает имитацию реального использования продукта штатными разработчиками либо командой тестировщиков.
Обычно альфа тестирование заключается в систематической проверке всех функций программы с использованием техник тестирования «белого ящика» и «черного ящика» (подробнее о них тут).
Альфа-тестирование является методологией оценки качества и стабильности тестируемого продукта в тестовой среде.
На этом этапе основное внимание уделяется:
— Обнаружению ошибок,
— Вопросам по юзабилити,
— Различию в характеристиках,
— Проблемам совместимости/взаимодействия.
Фазы альфа-тестирования:
- Предварительное альфа-тестирование: пользовательский интерфейс продукта готов, но функции еще не реализованы полностью. На этом этапе обычно принимается решение о том, какие функции следует вводить в продукт. Прототип продукта постоянно пересматривается и анализируется для большего улучшения.
- Альфа-тестирование: рабочий продукт готов к тестированию.
Альфа-тест обычно происходит в циклах, каждый из которых будет составлять примерно 1-2 недели. Количество циклов зависит от функций, включенных для тестирования, и количества проблем, обнаруженных на этом этапе тестирования.
Критерии входа:
- Тестирование системы должно быть завершено и подписано (если альфа-тестирование начнется после завершения тестирования системы).
- Продукт готов на 70% — 90%.
- Участники должны быть идентифицированы и знать особенности продукта.
- Альфа-тесты разработаны и рассмотрены.
- Настроена среда тестирования и подтверждена стабильность.
- Билд для альфа-версии продукта готов и запущен с полными примечаниями к выпуску.
Критерии выхода:
- Функциональные ошибки исправлены.
- Все тестовые циклы полные.
- Все запланированные тесты выполнены и пройдены.
- Функции замораживаются (то есть никаких дополнительных функций, никаких изменений в существующих функциях).
Преимущества альфа-тестирования:
- Обеспечивает лучшее представление о надежности программного обеспечения на ранней стадии.
- Помогает моделировать поведение пользователя и окружающую среду в режиме реального времени.
- Комплексный подход позволяет обнаружить много серьезных и дорогостоящих ошибок.
- Опытные специалисты пропустят меньше ошибок, чем специалист без опыта. Также, не стоит забывать, что команда тестировщиков несет полную ответственность за свою работу, чего никак нельзя сказать об участниках бета-тестирований. Это во многом сказывается на качестве тестирования в положительную сторону.
- Дает возможность раннего обнаружения ошибок в отношении дизайна и функциональности.
- Помогает понять факторы, влияющие на успешный выпуск продукта.
- Развернутый отчет о результатах тестирования, в котором все излагается так, что разработчики могут сразу приступать к исправлению багов.
Недостатки альфа-тестирования:
- Функциональность не может быть проверена на всю глубину, поскольку программное обеспечение все еще находится на стадии разработки. Иногда разработчики и тестировщики недовольны результатами альфа-тестирования.
- Дорого. Далеко не каждая компания может себе позволить расширять штат и нанимать сотрудников-тестировщиков на постоянную основу, особенно если речь идет о стартапах. Многие выбирают аутсорс. Тем не менее, это все равно финансовые затраты.
- Может быть недостаточно глубоким для нахождения всех багов.
- Долго. По сравнению с бета-тестирование, альфа-тестирование длится намного дольше, так как требует определенной подготовки. Ведь в этом случае необходимо подготавливать тест-кейсы и чек-листы, разрабатывать множество всевозможных сценариев, план проверки и т.п.
Бета-тестирование
По окончании работы с альфа-версией выпускается бета-версия. Она представляет собой реально работающую версию программы с полным функционалом.
Бета-тестирование (beta testing) – интенсивное использование почти готовой версии продукта с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (релизом) продукта на рынок, к массовому потребителю.
Бета-тестирование представляет собой реально работающую версию программы с полным функционалом.
Задача бета-тестов – оценить возможности и стабильность работы программы с точки зрения ее будущих пользователей. Поэтому, в отличие от альфа-тестирования, бета-тестирование предполагает привлечение добровольцев из числа обычных будущих пользователей продукта.
Такими добровольцами ( бета-тестерами) часто движет любопытство к новому продукту. Они вполне согласны мириться с возможностью столкнуться с ошибками. Кроме любопытства, мотивация может быть обусловлена желанием повлиять на процесс разработки и получить более подходящий им продукт.
Будет плюсом, если это люди, которые уже имеют опыт работы с программами такого типа, а еще лучше – с предыдущей версией этой же программы. Обычно у компаний уже есть определенный круг лиц, с которыми они постоянно сотрудничают.
Надо сказать, что разработчики не испытывают недостатка в желающих принять участие в такой работе. Многие люди хотят попасть в закрытую группу, первыми узнать о новых функциях продукта, пользоваться тем, чего нет в свободном доступе.
Наглядный пример набора бета-тестировщиков — социальная сеть Яндекс.Аура. Создатели сделали ограниченный доступ по ссылкам. Таким образом, в первые дни они набрали достаточное количество пользователей для первых тестов и закрыли набор. То есть каждый пользователь чувствовал себя там уникальным и с радостью помогал тестировать новый продукт. Продукт, к которому нет доступа больше ни у кого.
Кстати, этим пользователям еще присвоили особенные “метки”, которые говорят о том, что они первопроходцы. Это тоже отличный стимул быть тем самым первым пользователем.
Разные компании выполняют бета-тестирование по-разному. Есть 2 вида бета-тестирования:
- Открытое бета-тестирование, когда продукт доступен для всех желающих. Этот вариант позволяет протестировать приложение в большей группе и получить большой объем обратной связи. Любой пользователь сможет присоединиться к открытому бета-тестированию и отправить личный отзыв.
- Закрытое бета-тестирование, когда продукт тестируется ограниченным количеством пользователей. Обычно это небольшая группа, в которую попадают по приглашениям.
Преимущества бета-тестирования:
- Снижает риск выхода продукта из строя посредством валидации клиента.
- Бета-тестирование позволяет компании тестировать инфраструктуру после запуска.
- Повышает качество продукции благодаря обратной связи с клиентами. Пользователи не только пишут про найденные баги, а также вносят свои предложения и пожелания по улучшению функционала продукта.
- Выявляют баги, которые были не выявлены на предыдущих этапах тестирования. Дешевле исправить их на данном этапе, чем при релизе на всех конечных пользователей.
- Является экономичным методом сбора данных по сравнению с аналогичными методами. Однако не всегда удается получать обратную связь без вложений. Иногда пользователям предлагают какие-то бонусы за найденные баги. Тем самым мотивируя их на активные действия.
- Создает доброжелательность с клиентами и повышает удовлетворенность клиентов.
Недостатки бета-тестирования:
- Управление тестированием – проблема. По сравнению с другими типами тестирования, которые обычно выполняются внутри компании в контролируемой среде, бета-тестирование выполняется в реальном мире, где у компании редко есть контроль.
- Качество тестирования не на высоте. Бета-тестировщики не всегда обладают даже минимальными техническими навыками, позволяющими дать качественную оценку ПО. Конечно, о чёткой локализации и понятном описании бага при бета-тестировании можно даже не говорить. Обычно это ложиться на плечи штатных тестировщиков.
- Поиск правильных пользователей бета-версии и поддержание их участия может вызвать трудности.
- Есть риск, что бета-тестировщики разместят информацию о вашем продукте еще до его выхода. Это может значительно подпортить ожидаемый от релиза эффект.
- Неполное тестовое покрытие. Практика показывает, при тестировании непрофессионалами часть функционала всегда остается не охваченной. Все же бета- тестировщики не профессионалы.
Гамма-тестирование
Часть авторов (например, Святослав Куликов в своем учебнике “Тестирование программного обеспечения.Базовый курс”) еще выделяют третий вид тестирования — гамма-тестирование.
Гамма-тестирование (gamma testing) — финальная стадия тестирования перед выпуском продукта, направленная на исправление незначительных дефектов, обнаруженных в бета-тестировании.
Как правило, также выполняется с максимальным привлечением конечных пользователей/заказчиков. Суть этого вида вкратце: продукт уже почти готов, и сейчас обратная связь от реальных пользователей используется для устранения последних недоработок.
Стоит отметить, что, обычно, тестирование все же делят на альфа и бета без упоминания о гамма-тестировании.
Альфа и бета. В чем отличия?

Как видите, альфа и бета тестирование имеют разные цели и задачи. У каждого из них есть свои плюсы и минусы. Конечно, будет неплохо использовать оба этих метода, так как они приносят свои «плоды». Но это не всегда возможно и финансово обосновано.
Очень часто бета-тестирование практикуется в игровой сфере. Все же один из основных плюсов бета-тестирования — понимание того, нужен ли аудитории наш продукт и стоит ли его выпускать в релиз.
Что такое альфа- и бета-версии
Каждая программа перед тем, как попасть к пользователю, проходит несколько этапов тестирования. Но иногда пользователям могут быть доступны даже те версии, которые не протестированы до конца — и многие этому даже рады. Давайте разберёмся, как это работает.
Стадии тестирования и разработки софта
Если не углубляться в нюансы разработки и тестирования, то обычно говорят о пяти состояниях, в которых находится программа:
- Преальфа (Pre-alpha) — самая начальная стадия разработки.
- Альфа-версия — вроде всё сделали, протестировали самое основное.
- Бета-версия — оттестировали большую часть, ловим тараканов при поддержке небольшого круга доверенных людей.
- Релиз-кандидат — почти готовая к выпуску программа.
- Релиз — готовая программа.
В теории софт должен пройти все стадии, прежде чем отправиться к пользователю. Но на практике бывает так, что люди годами могут пользоваться альфа-версией и это их устраивает. Или даже ждать выпуска преальфы, чтобы скорее воспользоваться новыми возможностями или получить эксклюзивный игровой контент. Всё зависит от целей и задачи программы (или игры).
Преальфа
Преальфа — это сырой продукт, не предназначенный для использования. На нём чаще всего тестируют гипотезы и убеждаются, что софт в принципе может работать.
Эта версия позволяет оценить выбранную архитектуру и подход к программированию, сравнить с планируемой нагрузкой и понять, идёт ли всё по плану или впереди будет гораздо сложнее. В преальфе много ошибок, заглушек и не предусмотренных тестами ситуаций.
Иногда преальфа нужна для того, чтобы показать клиентам или инвесторам, как вообще идут дела в компании. Например, в игровой индустрии ролики из преальфа-версии позволяют заранее прикинуть возможности графики в игре или понять, стоит вкладывать деньги в эту идею или она провалится в прокате.
Альфа
Когда программа доходит до стадии «альфа», то считается, что в ней реализованы все возможности, предусмотренные этой версией, и теперь нужно найти все ошибки.
Случается такое, что во время тестирования в программу добавляются или в ней сокращаются некоторые модули, чтобы снизить сложность или количество ошибок. Альфа-версия считается уже как бы рабочей, но очень сырой версией программы. По идее, ей уже можно пользоваться, но с поправкой на общую глючность.
Бывает такое, что программа в стадии альфа-версии может находиться годами: разработчики никуда не спешат и делают софт для себя. Или у них внезапно закончились деньги, а забрасывать программу жалко. Тогда они могут открыть эту версию для всех, но с оговоркой, что это альфа и что пользуемся на свой страх и риск.
Бета
Бета-версия — это уже серьёзно. Чаще всего это означает, что в ней исправлены почти все большие ошибки, но может остаться много мелких, которые ещё не нашли тестировщики.
Компания может выпустить бета-версию программы и для обычных пользователей. Например, она может давать к ней доступ в обмен на сообщения об ошибках — так пользователи раньше остальных получают новый продукт, а компания — бесплатных тестировщиков. Такой процесс тестирования называется открытым, потому что продукт открывается для всех желающих.
Ещё одна причина выпуска бета-версий в свет — желание компании уйти от ответственности за ошибки. Идея такая: компания говорит, мол, что это ещё не окончательная версия, поэтому в ней могут быть баги, которые ещё не отловили. Но на самом деле эту версию никто не будет дорабатывать до финала — в лучшем случае поправят пару заметных ошибок.
Релиз-кандидат
После бета-тестирования и исправления почти всех найденных ошибок, программа переходит в стадию релиз-кандидата. Это значит, что ей можно пользоваться как полноценной программой, но не факт, что тестировщики нашли все ошибки.
Если через 1–3 месяца полноценного использования и тестирования программы в ней не найдут никаких ошибок, программа переходит в стадию релиза.
Релиз-кандидат — это почти всегда та же самая программа, что и в релизе, просто разработчикам нужно убедиться, что она работает стабильно и без сбоёв.
Релиз
Релиз — это готовая версия программы, доступная для всех пользователей.
Релизом может быть и крупное обновление, например, новая версия Windows, а может быть и обновление с версии 1.5.234 на версию 1.5.235. Про то, что означают эти цифры и как они меняются, мы поговорим как-нибудь отдельно.