如果一个软件是给许多客户使用的,那么让每一个用户都进行正式的接收测试是不切实际的。大多数软件厂商在正式发布之前,通常需要执行Alpha和Beta测试(同属确认测试),目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。 测试有三个传统的称呼,alpha、beta、gamma,用来标识测试的阶段和范围。
alpha 是指内测,即现在说的 CB,指开发团队内部测试的版本或者有限用户体验测试版本。
beta 是指公测,即针对所有用户公开的测试版本。然后做过一些修改,成为正式发布的候选版本时(现在叫做 RC - Release Candidate),叫做 gamma。
Alpha测试 Alpha 测试是由一个用户在开发者的场所来进行的,软件在开发者对用户的“指导”下进行测试,开发者负责记录错误和使用中出现的问题,Alpha测试是在一个受控的环境中进行的。 Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部用户在模拟实际操作环境进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员进行分析和处理。目的是评论软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha可以从软件产品编码结束之后开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的可靠和稳定性之后开始,有关的手册(草稿)应该在Alpha测试之前准备好。 Alpha测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。
Beta测试经过α测试调整的软件产品称为β版本。紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对β版本进行改错和完善。一般包括功能度、安全可靠性、易用性、可扩充性、兼容性、效率、资源占用率、用户文档八个方面。
Beta测试是由软件的多个用户在一个或多个实际使用环境下进行的测试,开发者通常不在现场,Beta测试不能由程序员和测试员完成。因此,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的问题,包括真实的和主管确认的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beat测试注重于产品的支持性,包括文档、客户培训和支持产品的生产能力,只有当Alpha测试达到一定的可靠程序后才能进行Beta测试。由于Beta测试的主要目标是测试产品的可支持性,所以beta测试应尽可能由主持产品发行的人员来管理。 我们认为Beta测试就是由一部分受控制的客户进行的黑盒测试。 由于Alpha测试和Beta测试的组织难度大,测试费用高,测试的随机性强,测试周期跨度较长,测试质量和效率难于保证,所以,很多专业软件可能不进行Beta测试,随着测试技术的提高,以及专业测试服务机构的大量涌现,很多软件的Beta测试外包给测试机构进行测试。
区别: Alpha测试,是由用户或开发人员在开发环境下进行的测试. Beta测试是在实际应用环境中进行的测试,通常由用户来完成,开发人员不在现场. 两种测试最根本的区别是在于测试环境. Gamma测试 Gamma测试是一个很少被提及的非正式测试阶段,该测试阶段对应的是对“存在缺陷”产品的测试。考虑到任何产品都可以被称为“存在缺陷”的产品(测试只能发现产品中存在的问题,不能说明产品不存在问题),因此这个概念存在一定的不确定。