伯乐共勉

讨论。NET专区
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

确认测试的基本方法

Posted on 2007-04-20 22:23  伯乐共勉  阅读(1139)  评论(0编辑  收藏  举报
通过综合测试之后,软件已完全组装起来,接口方面的错误也已排除,软件测试的最后一步——确认测试即可开始。确认测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。

1. 确认测试标准

  实现软件确认要通过一系列墨盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。

  确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法。

2. 配置复审

  确认测试的另一个重要环节是配置复审。复审的目的在于保证软件配置齐全、分类有序,并且包括软件维护所必须的细节。

3. α、β测试

  事实上,软件开发人员不可能完全预见用户实际使用程序的情况。例如,用户可能错误的理解命令,或提供一些奇怪的数据组合,亦可能对设计者自认明了的输出信息迷惑不解,等等。因此,软件是否真正满足最终用户的要求,应由用户进行一系列“验收测试”。验收测试既可以是非正式的测试,也可以有计划、有系统的测试。有时,验收测试长达数周甚至数月,不断暴露错误,导致开发延期。一个软件产品,可能拥有众多用户,不可能由每个用户验收,此时多采用称为α、β测试的过程,以期发现那些似乎只有最终用户才能发现的问题。

近来许多测试朋友加我QQ询问我是否这段话有问题,我的回答时没问题,大家可能对确认测试和验收测试分不清,为了让大家更加清晰我列出来在段末!

  α测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的 用户操作方式。经过α测试调整的软件产品称为β版本。紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对β版本进行改错和完善。


什么是验收测试?验收测试的阶级有哪些?验收测试都有哪些优缺点?

· 正式验收
· 非正式验收或 Alpha 测试
· Beta 测试
      您选择的策略通常建立在合同需求、组织和公司标准以及应用领域的基础上。

      正式验收测试

      正式验收测试是一项管理严格的过程,它通常是系统测试的延续。计划和设计这些测试的周密和详细程度不亚于系统测试。选择的测试用例应该是系统测试中所执行测试用例的子集。不要偏离所选择的测试用例方向,这一点很重要。在很多组织中,正式验收测试是完全自动执行的。

      对于系统测试,活动和工件是一样的。在某些组织中,开发组织(或其独立的测试小组)与最终用户组织的代表一起执行验收测试。在其他组织中,验收测试则完全由最终用户组织执行,或者由最终用户组织选择人员组成一个客观公正的小组来执行。

      这种测试形式的优点是:

· 要测试的功能和特性都是已知的。
· 测试的细节是已知的并且可以对其进行评测。
· 这种测试可以自动执行,支持回归测试。
· 可以对测试过程进行评测和监测。
· 可接受性标准是已知的。

      缺点包括:

· 要求大量的资源和计划。
· 这些测试可能是系统测试的再次实施。
· 可能无法发现软件中由于主观原因造成的缺陷,这是因为您只查找预期要发现的缺陷。

      非正式验收测试

      在非正式验收测试中,执行测试过程的限定不象正式验收测试中那样严格。在此测试中,确定并记录要研究的功能和业务任务,但没有可以遵循的特定测试用例。测试内容由各测试员决定。这种验收测试方法不象正式验收测试那样组织有序,而且更为主观。

      大多数情况下,非正式验收测试是由最终用户组织执行的。

      这种测试形式的优点是:

· 要测试的功能和特性都是已知的。
· 可以对测试过程进行评测和监测。
· 可接受性标准是已知的。
· 与正式验收测试相比,可以发现更多由于主观原因造成的缺陷。

      缺点包括:

· 要求资源、计划和管理资源。
· 无法控制所使用的测试用例。
· 最终用户可能沿用系统工作的方式,并可能无法发现缺陷。
· 最终用户可能专注于比较新系统与遗留系统,而不是专注于查找缺陷。
· 用于验收测试的资源不受项目的控制,并且可能受到压缩。

      Beta 测试

      在以上三种验收测试策略中,Beta 测试需要的控制是最少的。在 Beta 测试中,采用的细节多少、数据和方法完全由各测试员决定。各测试员负责创建自己的环境、选择数据,并决定要研究的功能、特性或任务。各测试员负责确定自己对于系统当前状态的接受标准。

      Beta 测试由最终用户实施,通常开发(或其他非最终用户)组织对其的管理很少或不进行管理。Beta 测试是所有验收测试策略中最主观的。

      这种测试形式的优点是:

· 测试由最终用户实施。
· 大量的潜在测试资源。
· 提高客户对参与人员的满意程度。
· 与正式或非正式验收测试相比,可以发现更多由于主观原因造成的缺陷。

      缺点包括:

· 未对所有功能和/或特性进行测试。
· 测试流程难以评测。
· 最终用户可能沿用系统工作的方式,并可能没有发现或没有报告缺陷。
· 最终用户可能专注于比较新系统与遗留系统,而不是专注于查找缺陷。
· 用于验收测试的资源不受项目的控制,并且可能受到压缩。
· 可接受性标准是未知的。
· 您需要更多辅助性资源来管理 Beta 测试员。


以上就是验收测试常用的划分,不过值得一提的是现在许多公司的划分和测试书中的列具还是有些差别,关键是大家要明确依据不同的测试阶段划分,各测试阶段重点测试的对像有所不同,才能达到发现一些深层的bug^_^