软件发布生命周期

软件发布生命周期是开发,测试和分发软件产品的过程。它通常由几个阶段组成,例如alpha,alpha,beta和释放候选人,在最终版本或“黄金”之前向公众发布。

基本软件发布生命周期的一个示例

α前是指开发的早期阶段,即该软件仍在设计和构建时。 Alpha测试是正式测试的第一阶段,在此期间,使用白盒技术在内部对软件进行了测试。 Beta测试是下一阶段,在该阶段中,该软件由大型用户组测试,通常在开发该软件的组织之外。 Beta阶段的重点是减少对用户的影响,可能包括可用性测试。

在Beta测试之后,该软件可能会经过一个或多个发布候选阶段,在最终版本发布之前,在该阶段进行了完善和进一步测试。

某些软件,尤其是在互联网和技术行业中,以永久的beta状态发布,这意味着它正在不断更新和改进,并且从未被认为是完全完整的产品。这种方法允许更敏捷的开发过程,并使用户可以在开发周期之前发布和使用该软件。

发展阶段

α前

α前是指在正式测试之前在软件项目中执行的所有活动。这些活动可以包括需求分析软件设计软件开发单元测试。在典型的开源开发中,有几种类型的αα版本。里程碑版本包括特定的功能集,并在该功能完成后立即发布。

Α

释放生命周期的α阶段是软件测试的第一阶段(Alpha是希腊字母的第一个字母,用作数字1)。在此阶段,开发人员通常使用白盒技术测试软件。然后,由另一个测试团队使用Black-BoxGray-Box技术执行其他验证。移至组织内部的黑盒测试被称为Alpha版本

在将开发人员发布给客户之前,Alpha软件不会经过彻底的测试。 Alpha软件可能包含严重的错误,任何结果不稳定都可能导致崩溃或数据丢失。 Alpha软件可能不包含针对最终版本计划的所有功能。通常,Alpha软件的外部可用性对于专有软件并不常见,而开源软件通常具有公开可用的Alpha版本。 Alpha阶段通常以功能冻结结束,表明将不再将功能添加到软件中。目前,该软件据说是完整的。在供应商站点(Alpha测试)的接受测试后,在软件作为产品的一般版本之前,进行了Beta测试。

通常,Alpha版本或发布软件包的发布打算要做特定的事情,主要是这样做,但不能完全做到这一点。

功能完整

一件软件功能完整版(FC)版本具有已实现的所有计划或主要功能,但由于错误性能稳定性问题而尚未最终。这发生在开发中α测试结束时。

通常,功能完整的软件仍然必须进行Beta测试错误修复,以及在发布候选者和最终金色状态之前的性能或稳定性提高。

beta

Beta以希腊字母的第二个字母命名,是Alpha之后的软件开发阶段。 Beta阶段的软件也称为Beta Ware 。 Beta阶段通常是在软件完成功能完成时开始的,但可能包含几个已知或未知的错误。 Beta阶段中的软件通常比已完成的软件以及速度或性能问题更多的错误,并且仍可能导致崩溃或数据丢失。 Beta测试的重点是减少对用户的影响,通常包括可用性测试。将Beta版本传递给用户的过程称为Beta版本,通常是该软件首次在开发该软件的组织之外可用。软件Beta版本可以开放或关闭,具体取决于它们是公开可用还是仅适用于有限的受众。 Beta版本软件通常可用于组织内部的演示和预览和潜在客户。一些开发人员将此阶段称为预览预览发布原型技术预览技术预览TP )或及早访问

Beta测试人员是积极报告Beta软件问题的人。他们通常是开发软件的组织的客户或代表。 Beta测试人员倾向于免费提供服务,但经常收到他们测试的产品的版本,发行版本的折扣或其他激励措施。

永恒的beta

某些软件保存在所谓的永久性Beta中,其中不断将新功能添加到软件中,而无需建立最终的“稳定”版本。随着互联网促进了软件的快速和廉价分销,公司已经开始采取更宽松的方法来使用Beta一词。

开放和关闭的Beta

开发人员可以发布封闭的Beta开放式测试版;封闭的Beta版本将通过邀请函释放给受限制的个人进行用户测试,而开放式测试人员来自较大的组或任何感兴趣的人。私人beta可能适合能够提供价值但由于缩放问题,缺乏文档或仍然缺少重要功能的软件。测试人员报告了他们发现的任何错误,有时还会提出他们认为应该在最终版本中可用的其他功能。

开放式Beta的双重目的是向潜在的消费者展示产品,并且在广泛的用户群中进行测试很可能会导致晦涩难懂的错误,而小得多的测试团队可能找不到。

发布候选

释放候选者RC ),也称为伽马测试或“变银”,是一个beta版本,有可能成为稳定的产品,除非出现重大错误,否则可以释放它。在产品稳定阶段,所有产品功能均已通过一个或多个没有已知的ShowStopper级错误设计,编码和测试。当开发团队同意不会将全新的源代码添加到此版本时,将称为代码完成。仍然可以更改源代码来修复缺陷,文档和数据文件的更改以及用于测试用例或实用程序的外围代码。 Beta测试人员(如果私下选择)通常会因使用释放候选者而被归功于它是成品。 Beta测试是在客户或客户的位置进行的,并从用户的角度测试软件。

稳定版本

稳定发行版也称为生产释放,是最后一个版本候选者RC ),它已经通过了所有验证和测试阶段。任何剩下的错误都被认为是可以接受的。此版本将用于生产

一些软件产品(例如Linux发行版)还具有长期支持LTS )发行版,这些版本基于已经尝试和测试并仅接收安全更新的完整版本。这使开发人员能够分配更多的时间用于产品开发,而不是更新代码或查找和修复新引入的错误,这是由于对使用的系统,语言或基础库的过时假设。

发布

发布后,该软件通常被称为“稳定版本”。正式术语通常取决于发布方法:物理媒体,在线发布或Web应用程序。

释放到制造(RTM)

制造业(RTM)的术语(也称为“ Got Gold”)是在准备交付软件产品时使用的术语。该构建可以通过数字签名,从而允许最终用户验证软件购买的完整性和真实性。如果适用,将被称为“金主”或GM的RTM构建副本发送,以进行质量重复或光盘复制。该术语取自音频创造行业,特别是掌握过程。当产品向公众发布时,RTM先于一般可用性(GA)。黄金主构建(GM)通常是开发人员Beta阶段中一件软件的最终版本。通常,对于iOS ,这是主要版本之前的最终版本,但是有一些例外。

RTM通常用于某些零售群众生产软件环境中,与商业或政府生产和分销中的专业软件生产或项目相对该软件和相关硬件最终将在零售店的大众/公共基础上出售并出售,以表明该软件已经达到了定义的质量水平,并且已经准备好进行大规模零售。 RTM也可能意味着在其他情况下,该软件已被交付或发布给客户或客户以安装或分发到相关的硬件最终用户计算机或计算机。该术语不能定义输送机制或体积;它仅指出质量足以进行质量分布。工程组织的可交付方式经常以用于复制的金主媒体的形式或为网络制作图像。

一般可用性(GA)

产品生命周期中的里程碑:一般可用性(GA),终止公告(EOLA),最后订单日期(LOD)和寿命终止(EOL)

一般可用性GA )是所有必要的商业化活动的营销阶段,并且可以购买软件产品,但取决于语言,区域,电子与媒体的可用性。商业化活动可能包括安全性和合规性测试以及本地化和全球可用性。由于完成GA所需的所有商业化活动所需的时间,RTM和GA之间的时间可能需要几天到几个月才能宣布通用释放。在此阶段,该软件已“实时”。

释放到网络(RTW)

发布到WebRTW )或Web版本是使用Internet进行分发的软件交付方式。制造商在这种释放机制中没有生产物理介质。随着互联网使用的增长,网络版本变得越来越普遍。

支持

在其支持的一生中,该软件有时会受到服务发布,补丁服务包的影响,有时也称为“临时发行”或“维护版本”(MR)。例如,微软为Windows XP32位版本发布了三个主要的服务包和64位版本的两个服务包。此类服务版本包含以单个可安装软件包形式交付的更新,修复和增强功能的集合。他们也可能实施新功能。一些软件被发布,期望定期支持。通常涉及长期支持的软件类别包括防病毒套房大量多人在线游戏。继续以这个Windows XP示例,Microsoft确实提供了扩展支持结束后五年的付费更新。这意味着支持于2019年4月8日结束。

生命尽头

当软件不再出售或支持时,据说该产品已达到寿命,将停止,退休,弃用,放弃或过时,但是用户忠诚度可能会持续一段时间,甚至在其之后很长一段时间平台已过时- EG,常见的桌面环境和Sinclair ZX频谱

在终止日期之后,开发人员通常不会实现任何新功能,修复现有的缺陷,错误或漏洞(无论是否在该日期之前已知),或为产品提供任何支持。如果开发人员希望,他们可能会发布源代码,因此平台将再次播放,并由志愿者维护,如果没有,则可以在抛弃软件时进行反向工程。

历史

“ alpha/beta”测试术语的使用起源于IBM 。至少从1950年代(甚至更早)使用IBM的人使用了类似的IBM软件开发术语。 “一个”测试是在公开公告之前对新产品的验证。 “ B”测试是验证,然后再释放要制造的产品。 “ C”测试是产品一般可用性之前的最终测试。随着软件成为IBM产品的重要组成部分,使用Alpha测试术语表示宣布前测试,并且使用Beta测试来显示产品准备就绪以进行一般可用性。 IBM一些较早的软件项目的经理马丁·贝尔斯基(Martin Belsky)声称发明了术语。 IBM在1960年代放弃了Alpha/Beta术语,但到那时,它已经收到了相当广泛的通知。 IBM未完成“ beta测试”来指代客户进行的测试。相反,IBM使用了“现场测试”一词。

随后,主要的公共Beta开发了,早期客户购买了IBM PC的WordVision Word处理器的“先驱版本”,价格为49.95美元。 1984年,斯蒂芬·曼斯(Stephen Manes)写道:“在出色的营销政变中,布鲁斯(Bruce)和詹姆斯(James)计划出版商设法使人们为测试产品的特权付费。” 2000年9月,发布了AppleMac OS X Public Beta操作系统的盒装版本。微软在2005年9月至2006年5月之间发布了Windows Vista社区技术预览CTP S)。以及从2009年到2011年, Minecraft在公共Beta中进行。

2005年2月, ZDNET发表了一篇有关Beta版本现象的文章,通常会保留多年,并且被使用好像在生产水平。它指出,例如, GmailGoogle News在Beta中持续了很长时间,尽管广泛使用。 Google News于2006年1月离开Beta,随后是Google Apps(现名为Google Workspace ),包括Gmail,2009年7月。自从引入Windows 8以来, Microsoft将Preelease软件称为预览,而不是Beta 。通过2014年启动的Windows Insider计划发布的所有预发行构建都被称为“ Insider Preview Builds”。 “ Beta”还可能表明更像是发布候选人的东西,或者是时间限制的演示或营销技术的形式。

也可以看看