一、大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试,目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。
Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。 Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而, Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。 由于Alpha和Beta测试的组织难度大,测试费用高,测试的随机性强、测试周期跨度较长,测试质量和测试效率难于保证,所以,很多专业软件可能不再进行Beta测试。随着测试技术的提高,以及专业测试服务机构的大量涌现,很多软件的Beta测试外包给这些专业测试机构进行测试。 二、Alpha测试 Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。开发者负责记录发现在错误和使用中遇到的问题。总之,Alpha测试是在受控的环境中进行的。 Beta,这个希腊字母的英文写法,怎么会变成了“测试”的含义。据我所知的,广义上对测试有三个传统的称呼,alpha、beta、gamma,用来标识测试的阶段和范围。alpha 是指内测,即现在说的 CB,指开发团队内部测试的版本或者有限用户体验测试版本。beta 是指公测,即针对所有用户公开的测试版本。然后做过一些修改,成为正式发布的候选版本时(现在叫做 RC - Release Candidate),叫做 gamma。 这里不用程序员和测试人员测试,是因为这是验收测试,是程序员和测试人员已经做过单元测试、集成测试、系统测试了,是开发商已经认为基本可以交付用户使用了,才开始的测试。这时,可以为来测试环境上测试用户提供打印的纸质文档,即:测试用例等,让他们根据文档测试,站在他们使用系统的角度,提出一些程序员和测试人员想不到的问题,比如:一些易用性问题,希望改为他们能够接受的操作方式、报表上的打印数据增减等,测试人员可在旁指导用户使用新系统,开发人员可根据他们的要求,修改系统,达到用户满意。所以,程序员和测试人员这时是不需要测试的。测试人员可以负责将用户的问题记录,反馈给开发人员,当然,一定要理解用户的意思,因为,改完了,验证测试估计要测试人员先做,没有问题了,再让用户测试。有些重要的问题,可能要开发人员和用户直接交流了。 三、版本号问题一般我们看到版本分为a/b/r。a就是公司内部测试的版本,一般包括验收测试还有所说的不是由测试人员和开发人员来执行的测试(公司内部其他人员,比如行政人员)。b就是公司以外的测试,一般都是客户来完成。r就是release,正式版(呵呵,收费了)。版本号末尾为奇数,就是测试版。版本号末尾为偶数就是发布版。大家留心看看就发现了,正式版包括微软的软件版本号末尾从来都是偶数。
四、Release的意思,最终发布版。 α测试:开发完成后的第一次系统测试,由测试部门完成 β测试:第一次测试完成,软件测试通过,但是测试人员的理解未必就是用户的理解,很多问题可能就测试人员的认知再也不能够发现,比如包括一些易用性方面的问题测试可能已经完全习惯了。并且对功能不会产生误解,但是用户并非这样。另外α不可能没完没了的测试下去,软件开发是有一定时间限制的。大家认为软件差不多了就可以提交β版本。至于选择哪些用户做β测试,那就看产品了,MSN这类民用消费类产品和Oracle数据库产品当然不一样了。 Release测试:β测试后,反馈回来的一些缺陷或建议需要整理。经过评估有选择的做一部分软件修改,一般不会涉及到核心功能的变更,否则就要跳票了。通常也就是易用性和一些有创意的小功能的增补。对这些修改需要进行测试,这些也是由测试部门做的。 β版本有可能一而再的发,比如可爱的Gmail就是没完没了的β,MSN更是借β版本来不断的吸收用户好的创意。 另外说一下:随着网络带宽的不断增加,大量的网络应用软件的质量要求在不断地降低,因为开发商有足够的时间发布β版本,在线发布补丁的成本也很低,而且几乎无休无止得吸收用户的创意,观察用户的体验。重要的是用户反而很喜欢这样。 正因为这些原因,有人说,现在的软件已经进入β时代了。因为我们的新鲜感和参与感,软件厂商理所当然的降低了质量要求,反正用户可以做小白鼠。 五、也谈Alpha和Beta测试Alpha 测试是有用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试;Alpha测试时,软件在一个自然设置状态下使用。开发者坐在用户旁,随时记下错误的情况和使用中的问题。这是在受控制的环境下进行的测试;Alpha测试的主要目的是评价软件产品的FLURPS(即功能局域化、可用性、可靠性、性能和技术支持)。Beta测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试;与Alpha不同的是,Beta测试时开发者通常不在测试现场,Beta测试是在开发者无法控制的环境下进行的软件现场应用。
六、α测试,是由用户或开发人员在开发环境下进行的测试. β测试是在实际应用环境中进行的测试,通常由用户来完成,开发人员不在现场. 两种测试最根本的区别是在于测试环境. 七、说的通俗易懂点就是,这两种测试方法都是有用户来完成的测试 Alpha测试是由用户在开发人员的陪同下在开发环境下完成的测试,开发人员把用户的操作都看见了,发现错误以后方便及时改进和方便查找问题原因 Beta测试则基本上是在软件交付以后用户在各种环境下的一种测试方法,开发人员不能知道用户使用时的具体操作方法,所以进行修正的时候要相对困难些.但是这种方法是用户在真实环境下的运行软件,更为接近实际情况,所以这种测试方法更有用! |
|