测试用例和测试套件

测试用例 会回答以下问题: 我要测试什么? 您通过开发测试用例来定义必须验证的内容,以确保系统正确运行且以高质量标准进行构建。 测试套件是为了测试执行而分组的测试用例集合。

测试用例

测试用例的典型用法,是使用相同测试脚本来测试多个配置。 例如,如果您想要在三种不同的浏览器(例如,Firefox、Internet Explorer 和 Safari)中测试登录脚本,那么可以在该测试用例中创建三个不同的测试用例执行记录。 在称为“测试浏览器”的测试用例中,您可以包括三个测试方案:
  • 测试用例执行记录 1:Firefox 和登录测试脚本
  • 测试用例执行记录 2:Internet Explorer 和登录测试脚本
  • 测试用例执行记录 3:Safari 和登录测试脚本

测试套件

如果每个测试用例都表示方案的一部分(例如用于模拟完成交易的元素),请使用测试套件。 例如,测试套件可以包含 4 个测试用例,且每个测试用例都包含不同的测试脚本:
  • 测试用例 1:登录
  • 测试用例 2:添加新产品
  • 测试用例 3:检出
  • 测试用例 4:注销

测试套件可以标识测试工作中的间隔,在此间隔内,测试用例必须成功完成,才能开始下一个测试用例。 例如,在成功登录应用程序之前,不能将新产品添加到购物车。 按顺序运行测试套件时,您可以选择在单一测试用例未成功时停止套件的执行。 如果运行测试套件中的测试用例取决于前一个测试用例成功,停止执行非常有用。

测试套件对下列类型的测试也非常有用:
  • 构建验证测试:这是一组测试用例,用于对产品中的大部分功能性区域执行基本验证。 这些测试会在每个产品构建之后,但在提供给较大用户群体使用之前来执行。
  • 冒烟测试:这是一组测试用例,用于确保基本的产品功能。 通常,冒烟测试是对正在测试的系统进行变更后执行的第一级测试。
  • 端到端集成测试:这是一组跨产品边界的测试用例,用于确保对产品之间的集成点进行运用和验证。
  • 功能性验证测试:这是一组测试用例,侧重于对特定的产品功能进行测试。 使用测试套件执行此类测试,可确保对特定功能的多个方面进行测试。
  • 回归测试:这是一组测试用例,用于对功能性产品区域进行回归遍历。

测试脚本

尽管您可以在不具备相关联测试脚本的情况下运行测试,但是每个测试用例通常都具有相关联的测试脚本。

测试脚本是包含用于实施测试用例的指令的手动脚本或自动化脚本。 您可以编写要由测试人员运行的手动测试脚本,也可以使测试脚本中的某些或全部指令自动执行。 还可以将自动功能测试脚本、性能测试脚本和安全性测试脚本与某个测试用例相关联。

具有多个测试脚本的测试用例

还可以使多个测试脚本与单个测试用例相关联,但只有当每个与测试用例相关联的测试脚本都提供不同的方法对该测试用例中的方案进行测试时,才应执行此操作。 例如,测试用例可能需要多个脚本以便在不同的测试环境中测试该方案。 另外,您也可能有可用于执行该测试用例的手动脚本和自动化脚本。

请不要使用测试用例对用于执行公共功能的不同方面的测试脚本进行分组,否则您可能会看到关于测试结果和已尝试点的不正确信息。 例如,如果为特定测试计划、迭代和测试环境运行测试用例,并每次都指定不同的功能脚本,那么测试用例执行记录的最新结果将仅捕获上次脚本运行的结果。

在某些情况下,还可能要使用测试套件将相关测试用例进行分组。 例如,您可以使用套件同时运行一组自动回归测试用例,也可以按顺序运行用于组成端对端方案的一组测试用例。 借助测试套件,可以对构成该测试套件所测试的更大型方案的相关测试用例的执行进行计划、启动和跟踪。

测试用例和测试套件部分

表 1 列示了包括在测试用例和测试套件中的缺省部分。

表 1. 测试用例和测试套件缺省部分
测试用例 测试套件
目录 目录
测试用例设计 测试套件设计
正式复审 正式复审
开发项 前置条件
需求链接 后置条件
危机管理 危机管理
前置条件 预期结果
后置条件 测试用例
预期结果 测试套件执行记录
测试脚本 附件
测试用例执行记录 执行变量
附件  
执行变量  

每个部分都包括其编辑器。 某些部分由对表、字体、项目符号和编号列表之类的功能部件使用通用格式的富文本编辑器组成。

其他测试用例部分提供了指向其他这些测试工件的链接。

测试套件的“测试用例”部分与测试计划的“测试用例”部分类似;但是“测试脚本”列中具有重要差异。 将多个测试脚本与测试用例关联时,测试计划的“测试用例”部分中“测试脚本”列显示指向与测试用例关联的所有测试脚本。 在测试套件的“测试用例”部分中,仅显示一个测试脚本:测试套件执行期间设置为缺省测试脚本的测试脚本。

可以使用“管理部分”功能来添加您自己的部分和移除不需要的部分。

测试用例和测试套件的权重和类别

测试用例和测试套件类别用在测试用例或测试套件的“摘要”部分中。

可以使用测试用例和测试套件类别帮助您将测试用例或测试套件按逻辑分组。 稍后,当您可以进行浏览以列示所有测试用例或测试套件时,可以使用这些类别对列表进行排序。

提供了四种缺省类别:类别、功能、迭代和主题。 您可以添加自己的类别、功能、迭代、主题以及不同类型的类别。

权重是对结果的度量,而不是对时间的度量。 您可以灵活使用权重,但是,对于时间度量,请使用“估算”和“耗用时间”。

测试用例和测试套件的定制属性

如果管理员已为测试用例或测试套件定义定制属性,那么这些属性将列示在摘要中。

与类别一样,可以将定制属性用作分组、排序和过滤机制,以将测试项目按测试项目中的工件的逻辑层次结构进行组织。 类别仅限于文本格式;但是,使用定制属性时,可以包括文本、整数和日期格式。 定制属性值格式自由,因此,您可以使用测试工件需要的任何数据。

模板

测试用例和测试套件以模板为基础。 当您创建测试用例或测试套件时,可以将模板作为基础。 您可以使用缺省模板,创建新模板以及指定缺省模板。

模板包含部分的集合。 可通过添加和移除提供的部分或创建新部分来创建模板。 如果部分的名称与您习惯使用的名称不匹配,那么可以创建新的部分并将它们添加到模板中。

每个测试组织都可以设计自己的定制测试模板。

前置条件和后置条件

条件为运行测试的人员提供信息。 使用前置条件来传达测试人员运行测试用例或测试套件前必须满足的需求。 使用后置条件来传达测试人员运行测试用例或测试套件后必须满足的需求。

测试用例、测试套件和测试执行

测试用例是测试执行过程中不可分割的一部分。 要运行测试,您可以执行以下任何操作:

  • 运行测试用例。
  • 将多个测试用例组合到一个测试套件中,然后运行该测试套件。
  • 生成测试用例执行记录或测试套件执行记录,以便定义用于运行测试的环境属性,然后运行这些记录。