QTP/UFT 中的业务流程测试(BPT)框架

什么是业务流程测试?

业务流程测试(BPT)是一种将软件测试流程与业务目标对齐的过程,旨在降低测试生命周期中的复杂性、时间和精力消耗。业务流程测试是一种端到端测试,有助于从业务和客户的角度检查软件应用程序的准备情况。

BPT 框架

BPT(业务流程测试)框架是一个内置的、微聚焦的自动化框架,与 Quality Center 结合使用。BPT 有助于让业务分析师或 SME 参与自动化过程。他们还可以根据自己的需求设计自动化场景并执行它们,而无需具备先前的自动化或编码知识。

以下是 BPT 框架的组成部分:

  • 组件
  • 应用领域
  • 流程
  • 业务流程测试

组件:(也称为业务组件)是一组可重用的自动化语句,用于在 AUT 中执行特定的预定义任务。它类似于VBScript函数和 QTP 动作,但设计用于 BPT 框架。

应用领域:它是一个存储库,包含开发业务组件所需的所有资源。资源包括共享对象存储库;可重用功能库等。它是一个逻辑实体,您无法在文件系统中看到其物理存在。

业务流程测试:一个场景,包含业务组件的串行流程,旨在测试应用程序的特定业务流程。

流程:有时,您需要在多个 BPT 中以相同的顺序使用相似的组件。与其在每个 BPT 中添加相同的组件,不如创建一个业务组件流程。可以直接调用流程,而不是单独调用每个组件。

为什么选择 BPT?

传统自动化存在以下挑战:

  • 手动测试人员/主题专家与自动化测试人员之间缺乏协调。
  • 手动测试人员在自动化过程中没有作用。
  • 自动化开发缺乏标准。
  • 如果没有智能框架,存在巨大的维护工作量。
  • 通常,自动化测试人员缺乏良好的应用程序知识,因此倾向于开发低效的脚本。

BPT 通过标准化框架克服了上述挑战,该框架让 SME/手动测试人员参与自动化开发,并定义了开发 BPT 的标准流程。

手动测试人员为所需功能设计手动组件,然后由自动化测试人员进行自动化。手动/自动化测试人员将这些自动化组件按顺序排列,形成 BPT,从而成为测试场景。

BPT 定义了由各种资源执行的不同角色。BPT 有助于优化资源的利用及其专业知识。BPT 中的角色分类如下:

  • 主题专家
  • QTP 专家
  • 测试员

主题专家:主题专家是业务分析师或对应用程序有良好知识的手动测试人员。他们设计手动业务组件,用于测试特定的动作或功能。在设计手动业务组件时,他们会清楚地说明测试步骤和预期结果。

QTP 专家:QTP 专家通过自动化手动组件中提到的步骤,将手动业务组件转换为自动化组件。

组件设计完成后,主题专家或 QTP 专家将这些组件排列起来形成 BPT,从而构成测试场景。

测试人员:测试人员可以是手动测试人员或 QTP 专家,他们可以从 Quality Center 执行 BPT。

BPT 入门

软件要求

  • QTP/UFT(“QTP 最新版本”)有效许可证。
  • 您应该拥有 Quality Center / ALM(Quality Center 最新版本)的访问权限,其中包含业务组件模块,此模块不随 Quality Center 提供。您需要为此单独购买许可证。

软件配置

  • QTP:启用“允许其他 HP 产品运行测试和组件”选项
  • QC:应安装以下插件。
  • QC 连接插件
  • QTP 插件

BPT 框架的实现

由于它是一个内置框架,您无需编写代码来构建框架。您只需准备所需的工件,这些工件是 BPT 的构建块。

让我们简要研究一下 Quality Center (HP ALM) 中的重要模块

业务组件模块:使我们能够创建、管理和自动化可重用的业务组件,这些组件将包含在业务流程中执行特定功能的步骤。组件通常分类如下:

  • 手动组件
  • 自动化组件
  • 关键字驱动组件
  • 脚本组件

测试计划模块:在此模块中,您可以按逻辑顺序拖放组件以准备 BPT,这将形成一个测试场景,并且您可以调试组件。

测试实验室模块:使我们能够执行业务流程测试并查看结果。您甚至可以使用此模块在不同机器上并行运行 BPT。

典型的 BPT 自动化过程涉及以下阶段。

  1. 创建手动组件
  2. 自动化组件
  3. 开发流程或 BPT
  4. 调试 BPT
  5. 执行 BPT

步骤 1) 创建手动组件

登录 QC

Creating The Manual Components

导航到业务组件模块。

Creating The Manual Components

业务组件和文件夹由以下组件树中的特定图标标识:

Creating The Manual Components

文件夹:用于对您的组件进行逻辑分类。

Creating The Manual Components

组件请求文件夹:手动测试人员或 SME 将他们想要自动化的组件放置在此处。

Creating The Manual Components

废弃文件夹:您可以将所有无效组件移到此文件夹,以便在从 QC 永久删除它们之前进行审查。

Creating The Manual Components

组件:此符号用于表示组件。手动业务组件由组件图标上的 M 符号表示。如下图所示。

Creating The Manual Components

组件在给定时间可以是以下任何一种状态:开发中、就绪、维护和错误状态。

Creating The Manual Components
Creating The Manual Components
Creating The Manual Components
Creating The Manual Components

当在测试计划模块中发起组件请求时,它处于“未实施”状态(如下所示)。当该特定组件从请求文件夹移动到组件文件夹时,其状态变为“开发中”。

Creating The Manual Components

业务组件模块中的工具栏

Creating The Manual Components

创建新的手动业务组件。

创建新文件夹,以便您可以在一个位置创建所有与应用程序相关的组件。

选择组件文件夹 -> 点击“新建文件夹”

Creating The Manual Components

输入一个有意义的名称来代表您的应用程序,然后点击“确定”。您甚至可以在主文件夹下创建子文件夹。

选择您要创建组件的文件夹 -> 点击“新建组件”按钮

Creating The Manual Components

输入一个能够代表其将要执行的操作的组件名称,以便在准备 BPT 时易于选择组件。点击“确定”按钮。

右侧创建了一个新组件。

让我们研究一下组件上的各种选项卡

一、详细信息选项卡:包含组件名称、创建者、创建日期等一些基本字段。

描述选项卡有三个部分:摘要、前置条件和后置条件。

摘要部分,您可以简要描述组件的功能及其结果。

前置条件部分,说明使用此组件所需的应用程序状态。

后置条件部分,说明执行组件步骤后应用程序的状态。

请记住在创建组件的逻辑序列以创建 BPT 时考虑前置条件和后置条件。

讨论区中,您可以添加与组件相关的评论。

Creating The Manual Components

二、快照选项卡:您可以使用此选项卡捕获组件所属特定页面的快照。

三、参数选项卡:如果要从组件传递数据或检索数据,可以使用此选项卡。这些类似于 QTP 中的动作/测试参数。

单击新建链接以添加新参数,您需要提供

  • 参数名称:参数的名称。
  • 值类型:参数的类型(数字、日期、字符串、密码等)。
  • 默认值:您可以输入一些默认值,如果您没有从组件传递任何值,则可以使用该值。
  • 描述:您可以简要描述参数。

Creating The Manual Components

输出参数可以像输入参数一样添加或删除。如果希望从组件返回任何值,则必须使用输出参数。

四、设计步骤选项卡:包含组件必须执行的步骤。设计选项卡中的按钮按以下顺序显示。

添加新步骤、编辑、删除、复制、粘贴、创建/选择参数、完成参数、搜索、行高、保存和自动化

Creating The Manual Components

要添加步骤,请单击“添加新步骤”,将打开组件步骤编辑器。输入步骤名称以描述步骤、描述(您要在应用程序上执行的确切操作)和预期结果(执行步骤后应用程序的状态)。

当您选择一个步骤并单击编辑步骤按钮时,也会打开步骤编辑器。

在步骤编辑器中,您可以使用文本编辑器工具栏来格式化字符串,例如粗体、斜体和下划线。

Creating The Manual Components

五、自动化选项卡:如果组件已自动化,将显示与组件相关的自动化步骤。您将在下一步“自动化手动组件”中详细讨论此步骤。

六、依赖关系选项卡:将显示组件、BPT、流程、测试资源和应用程序区域之间存在的依赖关系。依赖关系选项卡包含以下三个选项卡

资源选项卡显示组件使用的应用程序区域(自动化组件所需所有资源的逻辑分组/名称)。

“被使用”选项卡将显示包含当前选定组件的 BPT 和流程的详细信息。如果您想导航到特定的 BPT 或流程,只需单击测试或流程名称,您将被导航到测试计划模块中的 BPT 或流程。

应用领域选项卡显示组件使用的应用领域名称,以及“被使用”和“使用中”网格,它们显示使用该应用领域的实体和该应用领域使用的资源。

七、历史选项卡:显示对实体中任何字段所做的更改。对于每次更改,它将显示更改的时间戳和进行更改的用户名称。历史选项卡包含两个子选项卡

审计日志选项卡显示对不同字段、时间戳和用户详细信息所做的更改列表。

业务选项卡显示选定组件的不同版本。

步骤 2) 自动化手动组件

构建应用领域

应用领域是一个逻辑实体,它帮助我们将所有必需的资源分组,以自动化应用程序或应用程序的一部分。应用领域包含共享对象存储库、函数库以及自动化组件所需的所有其他设置。

您可以为整个应用程序创建一个应用领域,也可以根据需要为应用程序的不同部分创建多个应用领域。

打开 QTP,文件 -> 新建 -> 应用领域

它将显示以下窗口,其中包含四个模块。

Automating the Manual Components

通用:它将显示有关应用程序区域的通用信息,例如应用程序区域名称、创建应用程序区域的作者、位置、描述和相关插件。

如果要删除任何插件,可以单击修改按钮并删除不必要的插件。

附加设置包含记录和运行设置,这与正常记录和运行设置以及 QTP 类似。

Automating the Manual Components

您甚至可以使用恢复选项添加任何要与应用程序区域关联的恢复场景。根据您选择的插件,还有其他与环境相关的设置选项。

Automating the Manual Components

函数库

此模块将帮助我们将所有必需的函数库关联到应用程序区域。

Automating the Manual Components

对象存储库

此模块将帮助我们将所需的共享对象存储库关联到函数库。

Automating the Manual Components

关键字

关键字窗格显示所有内置方法、函数库中的所有用户定义函数以及对象存储库中的对象。此外,关键字窗格还显示我们开发或第三方使用插件可扩展性开发的任何测试对象类的方法和属性。

Automating the Manual Components

添加所需的函数库、共享对象存储库并进行必要的设置后,您可以保存您的应用程序区域。

将手动组件转换为自动化组件

返回 QC 并导航到您要自动化的特定组件的设计选项卡。单击下方显示的自动化按钮,并选择转换为关键字驱动或脚本化组件。一旦组件转换为自动化组件,就无法将其转换回手动组件。

Automating the Manual Components

Automating the Manual Components

关键字驱动组件

导航到自动化选项卡。

它将显示消息“要创建步骤,您必须首先通过单击选择应用程序区域来选择一个应用程序区域”。

Automating the Manual Components

点击选择应用领域后,将显示以下窗口,其中包含可用应用领域的列表,您可以从中选择所需的应用领域。

Automating the Manual Components

选择的应用领域显示在自动化选项卡的底部。

Automating the Manual Components

您可以像在 QTP 中使用关键字视图自动化组件一样自动化组件。自动化组件后,步骤将如下所示

Automating the Manual Components

脚本化组件

导航到自动化选项卡。它将显示启动按钮以启动 QTP。

Automating the Manual Components

点击“启动”按钮(QTP 应该安装在同一台机器上),它将打开 QTP 并显示一个弹出窗口,要求我们将一个应用程序区域与组件关联。

Automating the Manual Components

一旦应用程序区域与组件关联,所有资源都将可供组件使用,您可以使用它们编写组件脚本。

步骤 3) 开发 BPT

BPT 可以是自动化测试或手动测试。由手动业务组件组成的 BPT 可称为手动 BPT。使用自动化组件创建的 BPT 称为自动化 BPT。

要创建手动或自动化 BPT,您必须使用 QC 中的“测试计划”模块。

点击左侧窗格中的测试计划模块图标

Developing the BPTs

点击添加文件夹图标,创建一个您想要创建业务流程测试的文件夹。

Developing the BPTs

输入文件夹名称并点击“确定”按钮。

Developing the BPTs

点击“创建新测试”图标。

Developing the BPTs

选择测试类型为“业务流程”,并为 BPT 输入一些有意义的名称。

Developing the BPTs

显示如下

Developing the BPTs

选择“测试脚本”选项卡 -> 并选择“选择组件”子选项卡

它将显示组件模块树,并在右侧显示所有组件信息。

Developing the BPTs

按逻辑顺序拖放组件以形成业务场景。您也可以选择组件并使用箭头符号,而不是拖放。安排组件后的示例 BPT 如下所示:

Developing the BPTs

如果组件树中没有所需的组件,您甚至可以直接从测试计划模块通过点击“新建组件请求”来请求新组件。

组件在测试脚本编辑器窗格中排列后,将显示为五列结构

  1. 组件/流程:将显示组件及其快照图像(如果有)。
  2. 状态:组件的状态,它可以是您之前讨论的任何一种状态。
  3. 输入:如果您有输入参数,它们将显示在此列中。
  4. 输出:如果您有输出参数,它们将显示在此列中。
  5. 失败时:将显示一个下拉菜单,您可以在其中选择当组件失败时您希望如何处理 BPT 执行。您可以选择继续或退出 BPT。

    Developing the BPTs

配置输入参数

要为任何组件配置输入参数,您需要单击特定组件的输入列中的输入参数链接,或者您也可以右键单击组件并选择输入参数值 -> 迭代。

Developing the BPTs

一旦您点击输入参数链接,组件迭代对话框将打开。

Developing the BPTs

您可以输入组件的所有输入参数。如果您想多次运行组件,可以通过点击“添加迭代”并输入数据来添加多个迭代。

如果要删除任何迭代,请先选择迭代,然后点击“删除迭代”,选定的迭代将被删除。

如果您只想运行选定的迭代,可以使用“选择迭代”,并且可以指定要运行的迭代范围,如下图所示。

Developing the BPTs

您甚至可以从外部逗号分隔文件中导入输入参数,并且可以使用导入和导出选项导出您用于特定组件的参数列表。

当您单击导入选项时,它将显示文件对话框,允许我们选择所需的文件,如下图所示。

Developing the BPTs

选择“映射参数”对话框后,您需要将文件中的列标题映射到组件中的参数。您必须为所有输入参数执行此操作。

Developing the BPTs

Developing the BPTs

如果您想使用上一个组件的输出参数,您需要点击参数列名称下的输出复选框。

将显示输出参数列表窗口,其中包含上一个组件的所有输出参数列表。您可以从中选择所需的输出参数,然后点击“确定”按钮。

Developing the BPTs

分组/取消分组组件

有时,如果您想将 BPT 中的组件分组以多次一起运行,您需要将它们分组。首先,选择您要分组的组件,然后单击“分组组件”图像,或者右键单击组件,然后选择“分组”>“分组组件”。

Developing the BPTs

分组组件后,它将如下图所示。如果需要取消分组组件,选择该组并点击“取消分组组件”图标。

Developing the BPTs

向分组组件添加参数/迭代

这与您为单个组件的参数输入数据的方式类似,但唯一的区别是,当您单击分组组件的任何输入参数链接时,它将一起显示所有组件的输入参数。

BPT 状态

就像组件有不同的状态一样,BPT 也会根据 BPT 的创建和进度有不同的状态。BPT 在任何给定时间点都可以是以下任何一种状态。

Developing the BPTs6 正在开发中
Developing the BPTs7 就绪
Developing the BPTs8 维护中
Developing the BPTs9 错误

BPT 的状态可以由其组件的状态决定。BPT 状态由其所有组件中最严重的状态决定。

例如,假设您有一个业务流程测试,其中包含

  • 3 个就绪组件
  • 1 个维护组件
  • 2 个开发中组件
  • 1 个错误组件
  • 1 个开发中(已请求)组件

在此示例中,测试状态为错误,因为错误是测试中业务组件最严重的状态。

步骤 4) 调试 BPT

一旦 BPT 设计完成,您需要运行 BPT 以检查组件是否按正确的顺序排列以及您传递的数据是否正常工作。这类似于使用所有可能的方法(正向和反向)和数据来测试我们的自动化脚本的准确性。

在测试中,计划模块点击测试脚本工具栏中的“运行”或“调试测试”按钮。

Debugging the BPT

点击运行按钮后,将显示“运行或调试测试”窗口。在运行窗口中,您有两种运行 BPT 的选项。

  1. 正常
  2. 调试

    Debugging the BPT

调试模式:当您在此模式下运行组件时,它默认会在组件的第一行添加一个断点,这将帮助我们逐行调试组件。

正常模式:在此模式下,它从开始到结束运行,不暂停,并立即继续到测试中的下一个组件。

您可以根据需要为每个组件选择其中一种模式。如果您已经在同一 BPT 或另一个 BPT 中验证了一些组件,那么您可以直接选择正常模式。

执行完成后,它将显示 BPT 所有组件的执行摘要。

Debugging the BPT

步骤 5) 执行 BPT

一旦 BPT 开发并彻底测试完成,您可能需要将这些 BPT 作为回归、健全性或任何其他测试周期的一部分来运行。

要执行 BPT,您需要使用 QC 的测试实验室模块。导航到测试实验室,并选择您要运行这些 BPT 的测试计划文件夹和测试集。

Executing the BPT

从“测试实验室网格”中选择“选择测试”选项,右侧将显示一个测试计划树结构窗格,其中包含所有测试用例。选择您要运行的 BPT,然后点击箭头按钮,BPT 将被添加到“执行网格”。您也可以使用拖放功能来选择要运行的 BPT。

一旦 BPT 添加到执行网格中,您需要点击“运行”按钮。

点击“运行”按钮后,将显示一个单独的“自动运行器”窗口,您需要在此窗口中指明要在哪台机器上运行这些 BPT。您想要运行的机器上必须安装 QTP 软件。您也可以在同一台机器上运行测试。

Executing the BPT

在“主机上运行”列中填写机器名称后,如果您想运行“自动运行器”窗口中的所有测试,需要点击“运行所有”;如果您只想运行选定的 BPT,则点击“运行”。

QC 将自动连接到指定的机器,执行 BPT,并将结果(通过或失败状态)更新回 QC。

Executing the BPT

如果您双击特定测试,它将显示该特定测试的更详细结果。

Executing the BPT

本教程得益于 Narender Reddy Nukala 先生的贡献。