软件版本周期

软件版本周期是指计算机软件的发展及发行过程, 从Pre-alpha(准预览版本)发展到Alpha(预览版本)、Beta(测试版本)、Released candidate (最终测试版本)至最后的Gold(完成版)

一张图诠释发展软件的过程

software-version

开发期

Pre-alpha

有时候软件会在Alpha或Beta版本前先发布Pre-alpha版本。一般而言相对于Alpha或Beta版本, Pre-alpha版本是一个功能不完整的版本

Alpha

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

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

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

Beta

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

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

Release Candidate

Release Candidate(简称RC)指可能成为最终产品的候选版本, 如果未出现问题则可发布成为正式版本。在此阶段的产品通常包含所有功能、或接近完整, 亦不会出现严重问题。

多数开源软件会推出两个 RC 版本, 最后的 RC2 则成为正式版本。闭源软件较少公开使用, 微软公司在 Windows 7上应用此名称。苹果公司把在这阶段的产品称为”Golden Master Candidate”(简称 GM Candidate), 而最后的 GM 即成为正式版本。

完成期

Release to Manufacting, RTM

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

General availability, GA

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

Release to Web, RTW

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

Stable

稳定版本 来自预览版本释出使用与改善而修正完成, 通常是初始版本进行几个小更新后的版本。为目前所使用的软件在匹配需求规格的硬件与操作系统中运行不会造成严重的不兼容或是硬件冲突, 其已受过某定量的测试无误后所释出者。