Alpha,Beta,Snapshot,Release,Nightly,Milestone,Release Candidate(RC)......何时使用哪个术语

时间:2017-10-17 09:09:53

标签: maven gradle deployment continuous-integration product

作为构建,发布和部署工程师,有多种类型的发行版,如下所示:

  • Alpha
  • Beta
  • 快照
  • 发布
  • 夜晚
  • 里程碑
  • 发布候选人(RC)
  • [其他任何]

想知道它们之间的区别和意义。

1 个答案:

答案 0 :(得分:8)

<强>α
发布生命周期的alpha阶段是开始软件测试的第一阶段(alpha是希腊字母表的第一个字母,用作数字1)。在此阶段,开发人员通常使用白盒技术测试软件。然后由另一个测试团队使用黑盒或灰盒技术进行额外验证。在组织内部进行黑盒测试称为alpha版本

Alpha软件可能不稳定,可能导致崩溃或数据丢失。 Alpha软件可能不包含最终版本计划的所有功能。一般而言,alpha软件的外部可用性在专有软件中并不常见,而开源软件通常具有公开可用的alpha版本。 alpha阶段通常以功能冻结结束,表示不再向软件添加任何功能。此时,该软件被称为功能完整。

<强>β
&#34; Beta测试&#34;重定向到这里。对于电影,请参阅Beta测试(电影)。 以希腊字母表的第二个字母命名的Beta是alpha之后的软件开发阶段。测试阶段的软件也称为betaware。 Beta阶段通常在软件功能完整但可能包含许多已知或未知错误时开始。处于测试阶段的软件通常会比完成的软件中存在更多错误,以及速度/性能问题,并且仍可能导致崩溃或数据丢失。 beta测试的重点是减少对用户的影响,通常包含可用性测试。向用户提供测试版的过程称为测试版,这通常是该软件第一次在开发它的组织之外可用。 Beta版软件通常对组织内的演示和预览以及潜在客户非常有用。一些开发人员将此阶段称为预览,预览版,原型,技术预览/技术预览(TP)或早期访问。某些软件保持永久测试版,其中新功能和功能不断添加到软件中,而无需建立公司&#34; final&#34;释放。

Beta测试人员是主动报告测试版软件问题的人。他们通常是开发软件的组织的潜在客户的客户或代表。 Beta测试人员倾向于免费自愿提供服务,但通常会收到他们测试的产品版本,发布版本的折扣或其他奖励。

由于互联网促进了软件的快速和廉价分发,公司已经开始采用更宽松的方法来使用“&#34; beta&#34;”这个词。 2005年2月,ZDNet发表了一篇文章,介绍了最近出现的beta版本,这种版本经常停留多年,并被用作生产级别,贬低地称为“永久性beta&#34;”。例如,它注意到Gmail和谷歌新闻已经长期处于测试阶段,尽管它们被广泛使用,但预计不会降低测试版状态。然而,谷歌新闻确实在2006年1月开始测试,随后是2009年7月的谷歌应用程序,包括Gmail。这种技术可能允许开发人员延迟提供对剩余问题的全面支持和责任。在Web 2.0的背景下,人们甚至谈论永久性测试,以表示某些软件意味着处于测试状态。此外,&#34; beta&#34;有时用来表示更像是候选版本,或者作为限时演示或营销技巧的形式。自Windows 8推出以来,微软已不再将其软件命名为测试版。相反,他们一直在为大多数预发布软件使用术语预览。自2014年推出Windows Insider程序以来,通过该程序发布的所有预发布版本称为Insider Preview版本。

快照和发布
Maven中的快照版本尚未发布。

这个想法是在1.0版本(或任何其他版本)完成之前,存在1.0-SNAPSHOT。那个版本可能会变成1.0。它基本上处于开发状态&#34; 1.0。这可能接近真正的1.0版本,或者相当远(例如,在0.9版本之后)。

&#34;真实&#34;版本和快照版本是快照可能获得更新。这意味着今天下载1.0-SNAPSHOT可能会提供与昨天或明天下载不同的文件。

通常,快照依赖项应该仅在开发期间存在,并且没有发布的版本(即没有非快照)应该依赖于快照版本。

<强>每晚
每晚构建是一个自动发生的中性构建。这些通常发生在没有人可能在办公室工作时,因此在构建期间源代码没有变化。

夜间构建是一件好事,如果他们破坏了构建,他们会立即向开发人员提供反馈。每晚构建意味着软件稳定并且可能为新用户构建。不经常构建的软件很难发布。

<强>里程碑
里程碑版本包含特定的功能集,并在功能完成后立即发布。

发布候选人[RC]
发布候选。发布候选版本(RC),也称为&#34;即将发行的银版#34;是一个有可能成为最终产品的测试版,除非出现重大错误,否则可以发布。

Release Candidate(RC)是内部发布的构建,用于检查在上一个开发期间是否有任何关键问题未被检测到代码中。发布候选版本不适用于生产部署,但它们仅用于测试目的。