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