软件测试之验收测试用例设计详解

发表于:2009-03-05来源:作者:点击数: 标签:软件测试
软件测试 的过程一般分为 单元测试 、 集成测试 、 系统测试 和验收测试几个阶段,其中单元测试、集成测试和系统测试都是软件 开发 商内部的测试,一般在开发商的实验室进行,而验收测试是在用户参与下的测试,一般在客户的现场环境中进行。基于这个原因,验
软件测试的过程一般分为单元测试集成测试系统测试和验收测试几个阶段,其中单元测试、集成测试和系统测试都是软件开发商内部的测试,一般在开发商的实验室进行,而验收测试是在用户参与下的测试,一般在客户的现场环境中进行。基于这个原因,验收测试用例的设计和组织应当不同于其它测试。然而在现实情况下,由于种种原因,很多人直接将集成测试或者系统测试的用例拿来进行验收测试,这是不合适的。本文重点探讨验收测试用例的设计要点和注意事项。

    1.   验收测试的目的主要是验证软件功能的正确性和需求的符合性。软件研发阶段的单元测试、集成测试、系统测试的目的是发现软件错误,将软件缺陷排除在交付客户之前,而验收测试是与客户共同参与的,旨在确认软件符合需求规格的验证活动。这是组织和编写验收测试用例的出发点。

    2.   验收测试用例所覆盖的范围应该只是软件功能的子集,而不是软件的所有功能。在V模型中验收测试和需求分析阶段是对应的,因此,验收测试用例应该与软件需求规格说明书之间具有可追溯性。一个软件产品可能使用在多个项目中,因而可能具有复杂多样的功能,验收测试不可能也没有必要把研发阶段所有的测试用例都拿出来重新执行一遍。

    3.   验收测试用例应该是粗粒度的,结构简单、条理清晰,而不应当过多地描述软件内部实现的细节。验收测试预期结果的描述,要从用户可以直观感知的方面体现,而不是针对内部数据结构的展示。因此,需要用黑盒测试的方法,尽量屏蔽软件的内部结构。

    4.   验收测试用例的组织应当面向客户,从客户使用和业务场景的角度出发,而不是从开发者实现的角度出发。使用客户习惯的业务语言来描述业务逻辑,根据业务场景来组织测试用例和流程,适当迎合客户的思维方式和使用习惯,便于客户的理解和认同。

    5.   设计验收测试用例应当充分把握客户的关注点。在保证系统完整性的基础上,把客户关心的主要功能点和性能点作为测试的重点,其它的功能点可以一笔带过,避免画蛇添足。

    6.   验收测试用例可以适当展示软件的某些独有特性,引导和激发客户的兴趣,达到超出客户的预期效果。适当展示软件在某些方面的独特功能,能够为软件增色不少,特别是在针对招标入围、设备选型、系统演示等目的的测试活动中,可以弥补软件在其它方面的不足,赢得加分的效果。
 
  验收测试的目的决定了验收测试用例的设计不同于其它测试,因而具有不同的特点,验收测试用例应当在研发阶段测试用例的基础上重新组织和编写,而不能拿来直接使用。验收测试用例范围只是软件功能的子集,并与客户需求相对应,具有粗粒度、面向客户的特点,设计过程中要把握客户的关注点并适当展示软件的独有特性,这样才能达到较好的测试效果,从而引导项目走向成功。另外,在验收测试中不可避免地会发现软件的缺陷或与需求存在偏差的地方,项目团队应当与客户保持良好的沟通,根据问题的轻重缓急共同确定修复和改进的计划,使系统尽早验收通过、上线运行。

原文转自:http://www.ltesting.net