软件测试用例的设计(2)

发表于:2014-11-11来源:uml.org.cn作者:王静兰点击数: 标签:软件测试用例
测试用例已被确定用来执行测试目标中所有的产品需求行为,包括(视情况而定): 功能 、数据确认 、业务规则实施 、测试目标工作流程或控制 、数据流

  测试用例已被确定用来执行测试目标中所有的产品需求行为,包括(视情况而定): 功能 、数据确认 、业务规则实施 、测试目标工作流程或控制 、数据流 、对象状态 、性能(包括工作量、配置和强度) 、安全性/可访问性 、兼容性。每个测试用例都说明或者/代表一个唯一的输入集或事件顺序,它能够产生唯一的测试目标行为,复审那些产生相同行为的测试用例并判定它们是否等同,即它们是否都执行测试目标中的路径。
  每个测试用例(或每组相关的测试用例)确定初始的测试目标状态和测试数据状态。测试用例名称和/或 ID 与测试工件命名约定一致。
  2 测试用例的设计方法概述
  根据测试的方法分为黑盒测试和白盒测试,相应的测试用例的设计方法也可以分为针对黑盒测试的用例设计和针对白盒测试的用例设计。
  至今提出的测试用例设计方法有许多,下面简要的介绍一些比较重要的、常用的方法。
  2.1 白盒测试的测试用例设计方法
  2.1.1 逻辑覆盖
  逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖,各自的定义简略描述如下:
  语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。
  判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。
  条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。
  判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,每个判断中的每个分支至少执行一次。
  条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。
  路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。
  2.1.2 基本路径测试
  基本路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次。
  它是在程序控制流图的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。
  2.2 黑盒测试的测试用例设计方法
  2.2.1 等价划分
  所谓等价类划分是指一套被选择的值,这些值分别代表了许多众多的可能输入值,程序对其处理的方式都是一样的。
  等价类划分的方法作为继边界值分析方法之后补充的测试用力设计试用的一种方法。划分等价类、确定测试用例
  等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
  等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例
  等价类的划分有两种不同的情况:
  有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
  无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
  在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
  2.2.2 边界值分析
  在设计测试用例确定输入和输出参数时,大多数情况下都是用边界值分析方法,采用边界值分析设计的测试用例发现程序错误能力最强。
  边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。
  人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
  2.2.3 错误推测法
  人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。
  错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。
  2.2.4 因果图
  如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法。如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。

原文转自:http://www.uml.org.cn/Test/200707021.asp