软件版本周期

软件版本周期是指电脑软件的发展及发行过程，如右图，从pre-alpha（准预览版本）发展到alpha（预览版本）、beta（测试版本）、released candidate （最终测试版本）至最后的release/gold（完成版）。

## 开发期

### pre-alpha

有时候软件会在alpha或beta版本前先释出pre-alpha版本。一般而言相对于alpha或beta版本，pre-alpha版本是一个功能不完整的版本。

### alpha

alpha版本仍然需要测试，其功能亦未完善，因为它是整个软件释出周期中的第一个阶段，所以它的名称是“alpha”，希腊字母中的第一个字母“α”。

alpha版本通常会送到开发软件的组织或某群体中的软件测试者作内部测试。在市场上，越来越多公司会邀请外部客户或合作伙伴参与其测试。这令软件在此阶段有更大的可用性测试。

在测试的第一个阶段中，开发者通常会进行白盒测试。其他测试会在稍后时间由其他测试团体以黑盒或灰盒技术进行，不过有时会同时进行。

#### 功能完整版本

功能完整版本（feature-complete，缩写FC）是指一个电脑软件已实作所有计划或主要功能，但因错误、效能或稳定性问题而尚未最终完成的版本。此阶段发生于开发中alpha测试结束时。

功能完整版本通常仍须经过beta测试和错误修正，以及效能或稳定性提升，才能进入候选版本，最终达到正式版状态。

### beta

beta版本是软件最早对外公开的软件版本，由公司外的第三方开发者和业余玩家等参与公众测试。因为是alpha的下一个阶段，所以为第二个希腊字母beta (β)。一般来说，beta包含所有功能，但可能有一些已知问题和较轻微的程序错误（bug），要进行除错（debug）。beta版本的测试者通常是开发软件的组织的客户，他们会以免费或优惠价钱得到软件。Beta版本亦作为测试产品的支援和市场反应等。

其他情况不同企业有不同的称法，例如微软曾以community technology preview（简称CTP，中文称为“社群技术预览”）为发布软件的测试版本之一，微软将这个阶段的软件散布给有需要先行试用的使用者或厂商，并收集这些人的使用经验，以便作为进一步修正软件的参考。

#### 永久测试版

部分软件持续处于所谓的“永久测试版”（perpetual beta）状态，不断加入新功能却从未发布最终的“稳定”版本。随着互联网促进了软件的快速和低成本分发，业界对“beta”一词的使用已采取了更为宽松的态度。

### release candidate

release candidate（简称RC）指可能成为最终产品的候选版本，如果未出现问题则可释出成为正式版本。在此阶段的产品通常包含所有功能、或接近完整，亦不会出现严重问题。

多数开源软件会推出两个RC版本，最后的RC2则成为正式版本。闭源软件较少公开使用，微软公司在Windows 7上应用此名称。苹果公司把在这阶段的产品称为“golden master candidate”（简称GM candidate），而最后的GM即成为正式版本。而 iOS 自 14.2 开始亦采用 RC 称呼处于此阶段的版本状态。

## 完成期

### 生产商发放

生产商发放（release to manufacturing，缩写RTM）是软件产品准备交付时使用的术语，来自于以前还需要使用实体载具（只读，硬盘等）来进行安装的时代。某些计算机程序以“RTM”作为软件版本代号，例如微软Windows 7发行零售版前的RTM版本主要是发放给组装机生产商用，使制造商能够提早进行整合工作或解决软件与硬件设备可能遇到的错误。RTM版本不一定意味着创作者解决了软件所有问题；仍有可能向公众发布前更新版本。以Windows 7为例：RTM版与零售版的版本号是一样的。

### 一般可用

一般可用（general availability, 缩写GA）是所有必要的商业活动已经完成，该软件产品已经可以发售的阶段。然而，这取决于语言、地域和电子设备与媒体的可用性，有些地区之间可能会有上市时间的延迟。商业活动可能也包括安全性和合法测试，以及本地化和全球销售的可能性评估。RTM与GA的间隔可能会是1周或几个月，因为在此过程中需要进行许多商业活动。在这个阶段，可以说软件已经“上线”了。

### 网络分发

网络分发（release to the Web，缩写RTW），或称Web发布，是一种利用互联网进行分发的软件交付方式。制造商在这种类型的发布中并不生产实体软件工具，而会借由OTA来进行发放。随着互联网使用人数的增长，RTW变得越来越普遍。

### 稳定版

稳定版（亦称正式版或生产版）是通过所有验证和测试阶段的最终候选版本（RC），任何已知的剩余错误均被视为可接受范围，此版本正式投入生产使用。部分软件产品（例如Debian等Linux发行版）还提供长期支援（LTS）版本，这类版本基于已经过充分测试的完整版本，仅接受安全性更新。

## 软件支持

在软件的生命周期内，有时会发布服务版本、补丁或服务包，有时也称为“临时版本”或“维护版本”（maintenance release，缩写MR）。例如微软为Windows XP的32位元版本发布了三个主要服务包，为64位元版本发布了两个服务包。这些服务包以单个可安装软件包的形式提供更新、修正和功能增强，也可能包含新功能。部分软件在发布时即预期提供定期支持，通常需要长期持续支持的软件类别包括防毒软件套件和大型多人线上游戏。以Windows XP为例，微软在延伸支援结束后仍提供付费更新长达五年，支援终止日为2019年4月8日。

### 软件寿命结束

当软件不再销售并已被停止支持时，该产品即达到使用寿命终止阶段，有时称为“终止服务”、“停产”、“弃用”、“废弃”或“过时”，但忠实用户群可能会继续其存在一段时间，甚至在其平台已过时后仍长期沿用——例如公共桌面环境以及ZX Spectrum。

在寿命终止日期后，开发者通常不再新增功能，不修正已知或未知的缺陷、错误或漏洞，也不再提供任何产品支持。若开发者有意，可能会公开发布源代码，以便由志愿者继续维护该平台。

## 历史

“alpha/beta”测试术语起源于IBM。类似的术语早在1950年代（甚至更早）即被IBM软件开发相关人员使用。“A测试”是新产品在公开宣布前的验证；“B测试”是产品送交制造前的验证；“C测试”则是产品正式供货前的最后测试。随着软件成为IBM业务的重要组成部分，alpha测试术语用于指称公开宣布前的测试，beta测试则用于表示产品达到正式供货的准备状态。IBM的早期软件项目经理Martin Belsky自称是这套术语的发明者。IBM于1960年代放弃了alpha/beta术语，但此时这套术语已广为人知。IBM本身并未使用“beta测试”指称客户测试，而是采用“现场测试”（field test）一词。

其后出现了多个著名的公开测试案例：早期购买者以49.95美元购买了IBM PC文字处理软件WordVision的“先锋版”（pioneer edition）。1984年，Stephen Manes在文章中写道，Bruce and James Program Publishers“以一次绝妙的行销手法，成功让人们付费换取测试产品的机会”。2000年9月，苹果公司以盒装形式发行了Mac OS X Public Beta操作系统。2005年9月至2006年5月，微软为Windows Vista发布了多个社群技术预览版（CTP）。《Minecraft》则于2009年至2011年间处于公开beta阶段。

2005年2月，ZDNet刊登了一篇探讨“beta版本长期存在并以正式版标准使用”现象的文章。文中指出Gmail和Google新闻等服务尽管已广泛使用，却长期停留在beta状态；Google新闻于2006年1月结束beta，Google Apps（现称Google Workspace，含Gmail）则于2009年7月结束beta。自Windows 8起，微软将预发行软件改称为“预览版”（preview）而非beta版。2014年推出的Windows Insider计划所发布的所有预发行版本均称为“Insider Preview版本”。“beta”一词有时也用于指代候选版本、限时试用版本或行销手法。