我只是想知道 alpha 和 beta 是什么意思?一个软件可以是 Alpha 和 Beta 吗同时。是否有任何标准定义这些术语?软件可以一直处于 Alpha 状态吗?软件可以从未处于 Alpha 状态或 Beta 状态吗?
答案1
软件被标记为 alpha 或 beta 意味着什么?
Α
发布生命周期的 alpha 阶段是开始软件测试的第一个阶段(alpha 是希腊字母表的第一个字母,用作数字 1)。在此阶段,开发人员通常使用白盒技术测试软件。然后由另一个测试团队使用黑盒或灰盒技术执行其他验证。在组织内部转向黑盒测试称为 alpha 发布。
测试版
Beta 以希腊字母表中的第二个字母命名,是继 alpha 之后的软件开发阶段。处于 beta 阶段的软件也称为 betaware。Beta 阶段通常开始于软件功能完整但可能包含大量已知或未知错误的时候。处于 beta 阶段的软件通常比完整软件包含更多错误,以及速度/性能问题,并且仍可能导致崩溃或数据丢失。beta 测试的重点是减少对用户的影响,通常结合可用性测试。向用户提供 beta 版本的过程称为 beta 版本发布,这通常是软件首次在开发它的组织之外提供。
一个软件可以同时处于 Alpha 和 Beta 阶段吗?
不符合传统的定义。
是否有任何标准来定义这些术语?
不是,它们是根据惯例定义的。
软件可以永远处于 Alpha 版本吗?
是的,因为“alpha 阶段通常以功能冻结而结束,这意味着软件中不会再添加任何功能。此时,软件的功能已完成。” (1)
如果功能永远不完整,它将停留在 Alpha 阶段
软件怎么可能从来没有经过 Alpha 或 Beta 阶段呢?
是的。它永远无法脱离 Pre-alpha 阶段。
(1) 软件发布生命周期 - 维基百科
答案2
软件开发人员可以自由选择任何流程来开发软件,并根据自己的意愿测试或不测试。业余开发人员有时可能会以非正式甚至混乱的方式处理他们的项目。软件可能会随着在最初微不足道的东西上添加新东西而有机地发展。他们可能很少进行测试,并“按原样”提供他们的创作。
开发人员的目标是开发出稳定的软件,供其他人依赖以实现目标,他们遵循结构化的开发流程并进行阶段性的形式化测试。
是否有任何标准来定义这些术语?
“Alpha”和“Beta”是结构化项目开发阶段的术语。它们可以追溯到大型软件的诞生,人们通常认为 IBM 在 20 世纪 50 年代正式确定了大型软件。这些术语具有公认的含义,适用于结构化过程中的某些一般开发阶段。David Postill 的回答已经引用了我要包含的描述,因此我在此不再重复。
一个软件可以同时处于 Alpha 和 Beta 阶段吗?
正如大卫所回答的,不符合传统的定义。
软件怎么可能从来没有经过 Alpha 或 Beta 阶段呢?
如果你指的是基于传统含义,那么是的。这将适用于早期开发阶段(pre-alpha 阶段)的软件。
如果您指的是未经 alpha 或 beta 测试而发布的通用软件,那么答案是肯定的。没有法律规定开发人员不能在任何开发阶段或未经特定级别测试的情况下向公众发布软件。“原样”软件可能属于此类。
软件可以永远处于 Alpha 版本吗?
再次,按照传统意义,是的。这在业余爱好者和资金不足的开发人员中并不罕见。软件永远不会进入测试阶段。处于 alpha 阶段的专有软件通常永远不会面世。开源工作通常会公开分享 alpha 软件,本质上是扩大内部测试。分享时,人们会理解它尚未完成、不完整、预计会有严重错误、不受支持,并且不能依赖它来实现开发它的目的。