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 中的角色分类如下:
- EMS
- QTP 专家
- 测试仪
中小企业: 中小企业是 商业分析师 或对应用程序有深入了解的手动测试人员。他们设计手动业务组件,用于测试特定操作或功能。在设计手动业务组件时,他们会清楚地提到测试步骤和预期结果。
QTP专家: QTP 专家通过自动执行手动组件中提到的步骤将手动业务组件转换为自动化组件。
一旦组件设计完成,SME 或 QTP 专家将安排这些组件来形成 BPT,从而形成测试场景。
测试人员: 测试人员可以是手动测试人员,也可以是 QTP 专家,能够从质量中心执行 BPT。
BPT 入门
软件要求:
- QTP/UFT(“QTP最新版本“) 有效执照。
- 您应该具有业务组件模块的 QC / ALM(QC 最新版本)访问权限,该模块不会随 QC 一起提供。您需要为其购买单独的许可证。
软件配置:
- QTP:启用选项“允许其他 HP 产品运行测试和组件”
- QC:应该安装以下插件。
- QC 连接插件
- QTP 插件
BPT框架的实现:
由于它是一个内置框架,因此您无需编写代码来构建框架。您只需要准备构建 BPT 构建块所需的工件即可。
让我们简要研究一下 Quality Center (HP ALM) 中的重要模块
业务组件模块: 使我们能够创建、管理和自动化可重复使用的业务组件,这些组件将包含在业务流程中执行特定功能的步骤。组件通常分类如下:
- 手动组件
- 自动化组件
- 关键字驱动组件
- 脚本组件
测试计划模块: 在这个模块中,您可以按照一定的逻辑顺序拖放组件来准备 BPT,形成一个测试场景,然后您就可以调试这些组件。
测试实验室模块:使我们能够执行业务流程测试并查看结果。您甚至可以使用此模块在不同的机器上并行运行 BPT。
典型的BPT自动化过程涉及以下阶段。
- 创建手动组件
- 自动化组件
- 开发流程或 BPT
- 调试 BPT
- 执行 BPT
步骤 1)创建手动组件
登录QC
导航到业务组件模块。
业务组件和文件夹由下面提到的组件树中的特定图标标识-
夹: 用于按逻辑顺序对组件进行分类。
组件请求文件夹: 手动测试人员或 SME 放置他们想要自动化的组件。
过时的文件夹: 您可以将所有无效组件移动到此文件夹,以便在将它们从 QC 中永久删除之前进行检查。
成分: 这是用来表示组件的符号。手动业务组件由组件图标上的 M 符号表示。如下所示。
组件在给定的时间内可以处于以下任一种状态,分别是“开发中”,“就绪”,“维护”和“错误”状态。
当组件请求在 测试计划 模块则处于“未实施”状态(如下所示)。当此特定组件从请求文件夹移动到组件文件夹时,它将变为“正在开发”状态。
业务组件模块中的工具栏
创建新的手动业务组件。
创建新文件夹,以便您可以在一个地方创建所有与应用程序相关的组件。
选择组件文件夹 -> 单击新建文件夹
输入一些有意义的全名来代表您的应用程序,然后单击确定。您甚至可以在主文件夹下创建子文件夹。
选择要创建组件的文件夹 -> 单击“新建组件”按钮
输入一个与要执行的操作相似的组件名称,以便在准备 BPT 时轻松选择组件。单击确定按钮。
创建了一个新组件并位于右侧。
让我们研究一下组件上的各个选项卡
一、“详细信息”选项卡: 它包含一些基本字段,如组件名称、创建者、创建日期……等等。
这个 Description 选项卡包含三个部分:摘要、前提条件和后置条件。
在 摘要 部分中,您可以提及组件功能及其结果的简要描述。
在 前提 部分,提及使用此组件所需的应用程序状态。
在 后置条件 部分中,提及执行组件步骤后的申请状态。
在创建组件的逻辑序列以创建 BPT 时,请牢记前置条件和后置条件。
在 讨论区, 您可以添加与组件相关的评论。
II. 快照选项卡: 您可以使用此选项卡来捕获组件所属的特定页面的快照。
III. 参数标签: 如果您想传递数据或从组件检索数据,可以使用此选项卡。这些类似于 QTP 中的操作/测试参数。
点击 新连结 要添加新参数,您需要提供
- 参数名称: 参数的名称。
- 值类型: 参数的类型(数字、日期、字符串、密码……等)。
- 默认值: 您可以输入一些默认值,如果您没有从组件传递任何值,则可以使用这些默认值。
- Descript离子: 您可以提及该参数的简要描述。
输出参数可以像输入参数一样添加或删除。如果您想从组件返回任何值,那么您必须使用输出参数。
IV. 设计步骤标签: 包含组件必须执行的步骤。设计选项卡中的按钮按以下顺序显示。
添加新步骤、编辑、删除、复制、粘贴、创建/选择参数、完成参数、搜索、行高、保存和自动化
要添加步骤,请单击“添加新步骤”,打开组件步骤编辑器。输入步骤名称来描述步骤、描述(您想要在应用程序上执行的确切操作)和预期结果(执行步骤后的应用程序状态)。
当您选择一个步骤并单击编辑步骤按钮时,步骤编辑器也会打开。
您在步骤编辑器中有文本编辑器工具栏,您可以使用它来设置字符串的粗体、斜体和下划线格式。
V. 自动化选项卡: 如果组件已实现自动化,将显示与组件相关的自动化步骤。您将在下一步“自动化手动组件”中详细讨论此步骤
VI. 依赖项选项卡: 将显示组件、BPT、流程、测试资源和应用程序区域等其他实体之间存在的依赖关系。依赖关系选项卡包含以下三个选项卡
资源选项卡 显示组件使用的应用区域(自动化组件所需的所有资源的逻辑分组/名称)。
“使用者”选项卡 将显示包含当前选定组件的 BPTS 和流程的详细信息。如果要导航到特定的 BPT 或流程,只需单击测试或流程名称,即可导航到测试计划模块中的 BPT 或流程。
应用领域 选项卡显示组件使用的应用程序区域的名称,以及“使用者”和“使用”网格,它们显示使用应用程序区域的实体以及应用程序区域使用的资源。
VII. 历史记录选项卡: 显示对实体中任何字段所做的更改。对于每次更改,它将显示更改的时间戳和进行更改的用户名。历史记录选项卡包含两个子选项卡:
审核日志选项卡 显示对不同字段、时间戳和用户详细信息所作更改的列表。
“业务”选项卡 显示所选组件的不同版本。
步骤 2)自动化手动组件
构建应用程序区域
应用程序区域是一个逻辑实体,它帮助我们将所有需要的资源分组,以自动化应用程序或应用程序的一部分。应用程序区域包含共享对象存储库、函数库和自动化组件所需的所有其他设置。
您可以为整个应用程序创建一个应用程序区域,或者根据需要为应用程序的不同部分创建多个应用程序区域。
打开QTP,文件->新建->应用程序区域
它将显示以下窗口,其中包含四个模块。
总机: 它将显示有关应用程序区域的一般信息,例如应用程序区域的名称、创建应用程序区域的作者、位置、 Description 和相关插件。
如果您想删除任何附加组件,您可以单击修改按钮并删除不必要的附加组件。
附加设置包含与正常记录和运行设置以及 QTP 类似的记录和运行设置。
您甚至可以使用恢复选项添加任何想要与应用程序区域关联的恢复场景。根据您已选择的插件,其他环境相关的设置选项。
函数库
该模块将帮助我们将所有需要的函数库关联到应用程序区域。
对象存储库
该模块将帮助我们关联类似于函数库的所需共享对象存储库。
关键词
关键字窗格显示所有内置方法、函数库中的所有用户定义函数以及对象存储库中的对象。此外,关键字窗格还显示由我们开发或第三方使用插件扩展性开发的任何测试对象类的方法和属性。
添加所需的函数库、共享对象存储库并进行必要的设置后,您可以保存您的应用程序区域。
将手动组件转换为自动化组件
导航回您想要自动化的特定组件的 QC 和设计选项卡。单击如下所示的自动化按钮,然后选择转换关键字驱动或脚本组件。一旦组件转换为自动化组件,您就无法将其转换回手动组件。
关键字驱动组件
导航到自动化选项卡。
它将显示消息“要创建步骤,您必须首先通过单击选择应用程序区域来选择一个应用程序区域”
点击选择应用领域后,会显示以下窗口,其中显示可用的应用领域列表,您可以从中选择所需的应用领域。
选择应用程序区域显示在自动化选项卡的底部。
您可以使用关键字视图以类似于在 QTP 中自动化的方式自动化组件。自动化组件后,步骤将如下所示
脚本组件
导航到自动化选项卡。它将显示启动按钮以启动 QTP。
单击启动按钮(QTP 应该安装在同一台机器上),它将打开 QTP 并显示一个弹出窗口,要求我们将应用程序区域关联到组件。
一旦应用程序区域与组件关联,所有资源都可供组件使用,您可以使用这些资源为组件编写脚本。
步骤 3)开发 BPT
BPT 可以进行自动化或手动测试。由手动业务组件组成的 BPT 可以称为手动 BPT。使用自动化组件创建的 BPT 称为自动化 BPT。
要创建手动或自动 BPT,您必须使用 QC 中的测试计划模块。
单击左侧窗格中的测试计划模块图标
通过单击添加文件夹图标来创建您想要创建业务流程测试的文件夹。
输入文件夹名称并单击确定按钮
单击“创建新测试”图标。
选择测试类型为“业务流程”,并为 BPT 输入一些有意义的名称。
显示如下
选择“测试脚本”选项卡 -> 并选择“选择组件”子选项卡
它将在右侧显示组件模块树,其中包含所有组件信息
按逻辑顺序拖放组件以形成业务场景。您也可以选择组件并使用箭头符号代替拖放。在排列以下组件后,示例 BPT 如下所示
如果新组件在测试计划模块本身的组件树中不可用,您也可以通过单击“新组件请求”来请求新组件。
一旦组件在测试脚本编辑器窗格中排列好,它就会显示为五列结构:
- 组件/流程: 如果包含,将显示组件以及快照图像。
- 库存状态: 组件的状态,它可以是您之前讨论过的任何一种状态。
- 输入: 如果有输入参数,它将显示在此列中。
- 输出: 如果有输出参数,它将显示在此列中。
-
失败时: 将显示下拉菜单,您可以在其中选择当组件发生故障时要执行的 BPT 操作。您可以选择继续或退出 BPT。
配置输入参数
要配置任何组件的输入参数,您需要单击特定组件的输入列中的输入参数链接,或者也可以右键单击该组件并选择输入参数值->迭代。
一旦您点击输入参数链接,就会打开组件迭代对话框。
您可以输入组件的所有输入参数。如果您想多次运行组件,可以单击“添加迭代”并输入数据来添加多次迭代。
如果要删除任何迭代,请首先选择该迭代,然后单击“删除迭代”,所选迭代将被删除。
如果您只想运行选定的迭代,则可以使用“选择迭代”,并且可以选择想要运行的迭代范围,如下所示。
您甚至还可以从外部逗号分隔文件导入输入参数,并且可以使用导入和导出选项导出用于特定组件的列表参数。
当您单击导入选项时,它将显示文件对话框,允许我们选择所需的文件,如下所示。
一旦选择了“映射参数”对话框,就会显示出来,您需要将文件中的列标题映射到组件中的参数。您必须对所有输入参数执行此练习。
如果要使用前一个组件的输出参数,则需要点击参数列名下的输出复选框。
输出参数列表窗口显示先前组件的所有输出参数列表。您可以从中选择所需的输出参数,然后单击“确定”按钮。
分组/取消分组组件
有时,如果您想对 BPT 中的组件进行分组以便多次一起运行,则需要将它们分组在一起。首先,选择要分组的组件,然后单击“组组件”图像或右键单击组件,然后选择“分组”>“组组件”。
组件分组后,将如下所示。如果要取消组件分组,请选择该组并单击取消组件分组图标。
向分组组件添加参数/迭代
它与为单个组件输入参数数据的方式类似,但唯一的区别是,当您单击分组组件的任何输入参数链接时,它将一起显示所有组件的输入参数。
BPT 状态
就像组件有不同的状态一样,BPT 也会根据 BPT 的创建及其进度而具有不同的状态。BPT 在任何给定时间点都可以是以下任何一种状态。
6 正在开发中
7准备好
8维护
错误9
BPT 的状态可以通过其组件的状态来确定。BPT 的状态由其所有组件中最严重的状态决定。
例如,假设您有一个包含以下内容的业务流程测试:
- 3 准备组件
- 1 维护组件
- 2 正在开发的组件
- 1 错误组件
- 1 正在开发(请求)的组件
在此示例中,测试状态为 误差,因为错误是测试中业务组件最严重的状态。
步骤4)调试BPT
设计完 BPT 后,您需要运行 BPT 来检查组件是否按正确顺序排列,以及您传递的数据是否正常工作。它类似于 测试与验证 我们的自动化脚本使用所有可能的方式(正面和负面)和数据来检查脚本的准确性。
在测试计划模块中单击测试脚本工具栏中的运行或调试测试按钮。
单击运行按钮后,将显示“运行或调试测试”窗口。在运行窗口中,您有两种选择来运行我们的 BPT。
调试模式: 当在此模式下运行组件时,它会默认在组件的第一行添加一个断点,这将帮助我们逐行调试组件。
正常模式: 在这种模式下,它会从开始到结束运行而不会暂停,并立即继续测试中的下一个组件。
您可以根据需要为每个组件选择任意一种模式。如果您已在同一个 BPT 或另一个 BPT 中验证了某些组件,则可以直接进入正常模式。
一旦执行完成,它将显示 BPT 所有组件的执行摘要。
步骤5)执行BPT
一旦 BPT 开发完毕并经过彻底测试,您可能需要将这些 BPT 作为回归、健全性或任何其他测试周期的一部分来运行。
要执行 BPT,您需要使用 QC 的测试实验室模块。导航到测试实验室并选择要在其下运行这些 BPT 的测试计划文件夹和测试集。
从测试实验室网格中选择“选择测试”选项,在右侧,将显示一个窗格,其中包含测试计划树结构,其中包含所有测试用例。选择要运行的 BPT,然后单击箭头按钮,BPT 将添加到“执行网格”。您甚至可以使用拖放功能来选择要运行的 BPT。
一旦 BPT 被添加到执行网格,您需要单击“运行”按钮。
单击“运行”按钮后,会显示一个单独的“自动运行器”窗口,您必须在其中提及要在哪台机器上运行这些 BPT。您要运行的机器上应该有 QTP 软件。您可以在相同的机器上运行测试。
在‘在主机上运行’列中提到机器名称后,如果您想在‘自动运行器’窗口中运行所有测试,则需要单击‘全部运行’,或者如果您只想运行选定的 BPT,则选择‘运行’。
QC 将自动连接到上述机器并执行 BPT,并将结果以通过或失败状态更新回 QC。
如果双击特定测试,它将显示特定测试的进一步详细结果。
本教程得益于 Narender Reddy Nukala 先生的贡献。