A Жизненный цикл выпуска программного обеспечения - это сумма стадий разработки и зрелости компьютерного программного обеспечения . Циклы варьируются от начальной разработки до конечного выпуска и включают обновленные версии выпущенной версии, чтобы помочь улучшить программное обеспечение или исправить программные ошибки, все еще присутствующие в программном обеспечении.
Пользователи компьютеров, скорее всего, знакомы с фазой бета-тестирования, поскольку программные продукты иногда публично рекламируются как бета-версии, чтобы снизить ожидания пользователей от их надежности.
Использование терминологии «альфа / бета»-теста возникло в IBM. Сходные термины для разработки программного обеспечения IBM использовались людьми, связанными с IBM, по крайней мере, с 1950-х годов (а, возможно, и раньше). Тест «А» представлял собой проверку нового продукта перед публичным анонсом. Тест «B» - это проверка перед выпуском продукта на рынок. Тест «C» был последним тестом перед общедоступностью продукта. Поскольку программное обеспечение стало важной частью предложений IBM, терминология альфа-тестирования использовалась для обозначения теста перед анонсом, а бета-тест использовался для демонстрации готовности продукта к общедоступности. Мартин Бельски, менеджер некоторых из более ранних программных проектов IBM, утверждал, что он изобрел терминологию. IBM отказалась от терминологии альфа / бета в 1960-х годах, но к тому времени она получила довольно широкое внимание. Использование «бета-теста» для обозначения тестирования, проведенного клиентами, в IBM не применялось. Вместо этого IBM использовала термин «полевые испытания».
Предварительная альфа-версия относится ко всем действиям, выполняемым во время проекта программного обеспечения перед формальным тестированием. Эти действия могут включать анализ требований, проектирование программного обеспечения, разработку программного обеспечения и модульное тестирование. В типичной разработке с открытым исходным кодом существует несколько типов пре-альфа-версий. Версии Milestone включают определенные наборы функций и выпускаются, как только функция будет завершена.
Альфа-фаза жизненного цикла выпуска - это первая фаза тестирования программного обеспечения (альфа - первая буква греческого алфавита, используется как цифра 1). На этом этапе разработчики обычно тестируют программное обеспечение, используя методы белого ящика. Затем другая группа тестирования выполняет дополнительную проверку с использованием методов черного ящика или серого ящика. Переход к тестированию методом «черного ящика» внутри организации известен как альфа-выпуск.
Альфа-версия программного обеспечения не проходит тщательное тестирование разработчиком до того, как оно будет выпущено для клиентов. Программное обеспечение Alpha может содержать серьезные ошибки, и любая возникающая нестабильность может привести к сбоям или потере данных. Программное обеспечение Alpha может не содержать всех функций, которые запланированы для окончательной версии. Как правило, для проприетарного программного обеспечения внешняя доступность альфа-программного обеспечения является редкостью, тогда как программное обеспечение с открытым исходным кодом часто имеет общедоступные альфа-версии. Альфа-фаза обычно заканчивается фиксацией функции, что означает, что в программное обеспечение больше не будет добавляться функций. В настоящее время программное обеспечение считается полным. Бета-тест проводится после приемочного тестирования на сайте поставщика (альфа-тест) и непосредственно перед общим выпуском программного обеспечения как продукта.
Бета, названный в честь второй буквы греческого алфавита, представляет собой этап разработки программного обеспечения, следующий за альфа-каналом. Программное обеспечение на стадии бета-тестирования также известно как Betaware. Бета-фаза обычно начинается, когда программное обеспечение имеет полную функциональность, но может содержать ряд известных или неизвестных ошибок. Программное обеспечение на стадии бета-тестирования обычно содержит намного больше ошибок, чем готовое программное обеспечение, проблемы со скоростью или производительностью, и все же может вызывать сбои или потерю данных. В центре внимания бета-тестирования - снижение воздействия на пользователей, часто включающее тестирование удобства использования. Процесс предоставления бета-версии пользователям называется бета-выпуском, и обычно это первый раз, когда программное обеспечение доступно за пределами организации, которая его разработала. Бета-версии программного обеспечения могут быть общедоступными или частными, в зависимости от того, являются ли они общедоступными или доступны только для ограниченной аудитории. Бета-версия программного обеспечения часто бывает полезна для демонстраций и предварительных просмотров внутри организации и для потенциальных клиентов. Некоторые разработчики называют этот этап предварительным просмотром, предварительным выпуском, прототипом, техническим предварительным / технологическим предварительным просмотром (TP) или ранним доступом. С момента появления Windows 8 Microsoft называет предварительную версию программного обеспечения предварительной версией, а не бета-версией. Все предварительные сборки, выпущенные в рамках программы предварительной оценки Windows, запущенной в 2014 году, называются «сборками предварительной оценки для участников программы предварительной оценки». «бета» может также указывать на что-то вроде кандидата на выпуск, или как форму ограниченного по времени демонстрационного ролика или маркетингового метода.
Бета-тестеры - это люди, которые активно сообщают о проблемах бета-версии программного обеспечения. Обычно это клиенты или представители потенциальных клиентов организации, разрабатывающей программное обеспечение. Бета-тестеры, как правило, добровольно предоставляют свои услуги бесплатно, но часто получают версии тестируемого продукта, скидки на выпускную версию или другие поощрения.
Некоторое программное обеспечение находится в так называемой бессрочной бета-версии, когда в ПО постоянно добавляются новые функции без создания окончательной «стабильной» версии. Поскольку Интернет способствовал быстрому и недорогому распространению программного обеспечения, компании начали применять более свободный подход к использованию слова «бета». В феврале 2005 года ZDNet опубликовала статью о феномене того, что бета-версия часто остается в течение многих лет и используется так, как если бы она находилась на производственном уровне. Он отметил, что, например, Gmail и Новости Google долгое время находились в стадии бета-тестирования, хотя широко использовались; Новости Google вышли из бета-версии в январе 2006 года, а в июле 2009 года последовали Google Apps, включая Gmail. Этот метод может позволить разработчику отложить предоставление полной поддержки и ответственность за остающиеся проблемы.
Разработчики могут выпустить либо закрытую бета-версию, также называемую частной бета-версией, либо открытую бета-версию, также называемую публичной бета-версией; закрытые бета-версии выпускаются для ограниченного круга лиц для пользовательского тестирования по приглашению, в то время как открытые бета-версии представляют большую группу или всех, кто заинтересован. Частная бета-версия может быть подходящей для программного обеспечения, которое способно приносить пользу, но не готово к использованию всеми из-за проблем с масштабированием, отсутствия документации или из-за отсутствия жизненно важных функций. Тестировщики сообщают о любых обнаруженных ими ошибках и иногда предлагают дополнительные функции, которые, по их мнению, должны быть доступны в окончательной версии. Примеры крупного открытого бета-теста включают следующее:
Открытые бета-версии служат двойной цели - демонстрации продукта потенциальным потребителям, и тестирование среди чрезвычайно широкой пользовательской базы, которое может выявить неясные ошибки, которые может не обнаружить гораздо меньшая группа тестирования.
Релиз-кандидат (RC), также известный как «серебряный», представляет собой бета-версию с потенциалом стать стабильным продуктом, который готов к выпуску, если не станет значительным появляются ошибки. На этом этапе стабилизации продукта все функции продукта были разработаны, закодированы и протестированы в течение одного или нескольких циклов бета-тестирования без каких-либо известных ошибок класса showstopper. Релиз называется завершенным кодом, если команда разработчиков соглашается с тем, что в этот выпуск не будет добавляться полностью новый исходный код. Все еще могут быть изменения исходного кода для исправления дефектов, изменения документации и файлов данных, а также периферийный код для тестовых примеров или утилит. Бета-тестеры, если они выбраны частным образом, часто получают признание за использование релиз-кандидата, как если бы это был готовый продукт. Бета-тестирование проводится на территории клиента или покупателя и предназначено для тестирования программного обеспечения с точки зрения пользователя.
Также называется производственным выпуском, стабильный выпуск - это последний кандидат на выпуск (RC), который прошел все проверки / тесты. Остальные ошибки считаются допустимыми. Этот выпуск идет в производство. Некоторые домены (например, дистрибутивы Linux ) имеют два типа стабильных выпусков: нормальные или стабильные выпуски и выпуски с долгосрочной поддержкой (LTS), которые поддерживаются в течение более длительного периода времени.
После выпуска программное обеспечение обычно известно как «стабильный выпуск». Формальный термин часто зависит от метода выпуска: физический носитель, онлайн-выпуск или веб-приложение.
Термин «перевод в производство» (RTM), также известный как «переход на золото», - это термин, используемый, когда программный продукт готов к поставке. Эта сборка может иметь цифровую подпись, позволяющую конечному пользователю проверить целостность и подлинность покупки программного обеспечения. Копия сборки RTM, известная как «gold master » или GM, отправляется для массового копирования или репликации на диск, если это применимо. Эта терминология взята из индустрии звукозаписи, в частности, из процесса мастеринга. RTM предшествует общедоступному (GA), когда продукт публикуется. Золотая мастер-сборка (GM) обычно является финальной сборкой программного обеспечения на стадии бета-тестирования для разработчиков. Обычно для iOS это финальная сборка перед основным выпуском, однако было несколько исключений.
Он обычно используется в определенных контекстах программного обеспечения для массового производства розничной торговли - в отличие от производства или проекта специализированного программного обеспечения в коммерческом или государственном производстве и распространении - где программное обеспечение продается как часть пакета в связанном продажа компьютерного оборудования и, как правило, когда программное обеспечение и связанное с ним аппаратное обеспечение в конечном итоге должно быть доступно и продано массово / публично в розничных магазинах, чтобы указать, что программное обеспечение соответствует определенному уровню качества и готово к массовому розничному распространению. RTM также может означать в других контекстах, что программное обеспечение было доставлено или выпущено клиенту или заказчику для установки или распространения на соответствующие компьютеры или машины конечных пользователей оборудования. Термин не определяет механизм или объем доставки; в нем только говорится, что качество достаточно для массового распространения. Результатом от инженерной организации часто является золотой мастер-носитель, используемый для копирования или создания изображения для Интернета.
Общедоступность (GA) - это этап маркетинга, на котором были завершены все необходимые действия коммерциализации и программное обеспечение продукт доступен для покупки, однако, в зависимости от языка, региона, наличия электронных или носителей. Мероприятия по коммерциализации могут включать тесты безопасности и соответствия, а также локализацию и доступность по всему миру. Время между RTM и GA может составлять от недели до месяцев в некоторых случаях до объявления общедоступной версии из-за времени, необходимого для завершения всех действий по коммерциализации, требуемых GA. На этом этапе программное обеспечение «запущено».
Выпуск для Интернета (RTW ) или Веб-выпуск - это средство доставки программного обеспечения, использующее Интернет для распространения. Изготовитель не производит никаких физических носителей в этом типе механизма выпуска. Веб-релизы становятся все более распространенными по мере роста использования Интернета.
В течение поддерживаемого срока службы программное обеспечение иногда подвергается выпуску сервисных выпусков, исправлений или пакетов обновления, иногда также называемых «промежуточными выпусками» или «отладочный релиз» (MR). Например, Microsoft выпустила три основных пакета обновления для 32-разрядных выпусков Windows XP и два пакета обновления для 64-разрядных выпусков. Такие служебные выпуски содержат набор обновлений, исправлений и улучшений, поставляемых в виде одного устанавливаемого пакета. Они также могут реализовать новые функции. Некоторое программное обеспечение выпускается с ожиданием регулярной поддержки. Классы программного обеспечения, которые обычно включают в себя длительную поддержку, включают антивирусные пакеты и многопользовательские онлайн-игры. Продолжая этот пример с Windows XP, Microsoft предлагала платные обновления еще в течение пяти лет после окончания расширенной поддержки. Это означает, что поддержка закончилась 8 апреля 2019 г.
Когда программное обеспечение больше не продается или не поддерживается, считается, что срок службы продукта истек, чтобы быть прекращено, исключено, устаревшее, прекращенное или устаревшее, но лояльность пользователей может продолжать свое существование в течение некоторого времени, даже после того, как его платформа устареет - например, Atari ST и Sinclair ZX Spectrum.
После даты окончания срока службы разработчик обычно не будет внедрять какие-либо новые функции, исправлять существующие дефекты, ошибки или уязвимости (независимо от того, известны они до этой даты или нет) или предоставлять какую-либо поддержку продукта. Если разработчик пожелает, он может выпустить исходный код, чтобы платформа снова заработала и поддерживалась добровольцами.