基于关键字的测试框架及示例


关键字驱动测试

关键字驱动测试是一种功能测试,也称为表驱动测试或基于动作词的测试。在这种测试中,使用表格格式(最可能是电子表格)来定义要执行的功能的关键字。

基本上,这是一种脚本技术,它使用数据文件包含与被测软件相关的关键字。这些关键字代表执行特定步骤所需的一组操作。它包括高级和低级关键字以及关键字参数,这些参数组合起来定义测试用例的操作。

测试首先标识一组关键字,然后将操作与关键字关联起来。每个测试操作(例如打开和关闭浏览器、鼠标点击等)都由一个关键字定义,例如 openbrowser、click、Typtext 等。

关键字驱动测试最适合经验不足或非技术测试人员。使用这种方法,它允许以更概念的方式编写测试用例。此外,它还使自动化能够在 SDLC(软件开发生命周期)的早期阶段启动,远早于交付可靠的构建进行测试。基于关键字的测试具有高度的可重用性。

但是,最初开发关键字和相关功能可能需要更长的时间。此外,它可能会对技术能力强的测试人员造成潜在的限制。

例如,考虑一个网站。关键字“登录”用于自动化框架来测试与其关联的登录功能。同样,关键字“注销”用于自动化框架来测试与其相关的注销功能。


关键字示例:

关键字描述
登录登录到“XYZ”网站
邮件发送邮件
注销注销“XYZ”网站
通知查找未读通知

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

关键字驱动框架

关键字驱动框架是一个用于自动化测试的框架,它将测试用例分成四个部分,以将编码与测试用例分离,并有效地测试这些步骤。

它将测试用例分成测试步骤、测试步骤的对象、测试步骤的操作以及测试对象的数据,以便更好地理解。

组件

  • **函数库** - 它是一个 JAVA 类,其中定义了所有关键字。也就是说,所有要在软件上执行的操作都定义为库类文件中的用户定义方法。

  • **Excel 表格** - 用户定义的方法及其功能细节记录在 Excel 表格中,以便用户了解库包含哪些关键字。这些表格就像库文件的摘要,对创建测试用例模板很有用,用户可以在表格中查看关键字列表并为测试用例中的操作选择相应的关键字。

  • **测试用例模板** - 根据项目生成测试用例模板。但是,创建模板没有特定的规则或标准。它们是根据项目需要框架表现的程度创建的。这种表现可能仅仅是关键字,甚至测试数据和UI元素也包含在内。

  • **对象库** - 可以找到 UI 定位器,并且可以在模板中确认其值或保存在不同的对象库中。

  • **驱动程序/测试脚本** - 这是读取 Excel 表格并执行相应操作的主要脚本。它是根据模板的创建方式设计的。

创建关键字驱动框架的过程

  • **Excel 表格** - 识别关键字并将其记录在 Excel 表格中。

  • **函数库** - 它包含业务流程的函数。执行测试用例时,它从表格中读取关键字并相应地调用函数。

  • **数据表** - 用于存储要在应用程序中使用的测试数据。

  • **对象库** - 基于关键字驱动框架,选择一个对象库。

  • **测试脚本** - 根据框架的设计,为每个手动测试用例创建一个测试脚本,或一个驱动程序脚本。

关键字驱动测试的需求

  • 标准库管理的常用组件。

  • 有助于以更概念的方式编写测试。

  • 高可重用性。

  • 脚本细节对用户隐藏。

  • 不需要脚本语言。

  • 简洁、可维护且灵活的测试。

如何进行关键字驱动测试

关键字驱动测试可以手动和自动执行。但是,通常它使用自动化测试。

自动化基于关键字的测试的目的

  • 降低维护成本。

  • 避免冗余规范。

  • 函数脚本的重用。

  • 出色的可移植性和测试支持。

  • 以相同或更少的努力执行更多测试。

使用关键字驱动测试,在开发的早期阶段,可以创建简单的功能测试来逐段测试软件。组合关键字驱动测试的一种简单方法是记录它。然后,可以根据要求自定义测试。每个关键字应至少与一个命令关联,该命令可以执行与该关键字关联的操作。执行所有测试用例后,测试库(由测试自动化框架调用)将解释关键字。

关键字驱动测试可以概括为以下步骤:

  • 识别低级和高级关键字。

  • 实现关键字。

  • 创建测试用例。

  • 创建驱动程序脚本。

  • 执行自动化测试脚本。

关键字驱动测试工具

  • **HP QTP** - 这是一款用于功能测试的自动化工具,它能够执行自动化测试以检测错误、缺陷或差距,与被测软件的估计结果相反。它由 Mercury Interactive 开发。后来,HP 收购了它,目前 MicroFocus 拥有 QTP。QTP(Quick Test Professional)也称为 UFT(Unified Functional Testing)。QTP/UFT 是一款基于图标的工具,能够自动化软件的回归测试和功能测试。对于技术和非技术测试人员来说,这个工具都很容易使用。它提供录制和回放功能,可用于桌面和基于 Web 的应用程序。QTP/UFT 还支持业务流程测试 (BPT)。该工具基本上基于脚本语言 VB 脚本。UFT 使用 VBscript 自动化应用程序,并支持大量的软件开发环境,例如 SAP、Oracle 等。它帮助测试人员在没有任何中断的情况下执行自动化的功能测试。

  • **Selenium** - 这是一款开源工具,用于在不同浏览器和平台上验证 Web 应用程序。Selenium 测试脚本可以使用各种编程语言创建,例如 PHP、Perl、Ruby、Java、C#、Python 等。通常,使用 Selenium 测试工具进行测试被称为 Selenium。它是一套软件,每个部分都满足不同的 Selenium QA 测试需求。这些工具包括:Selenium IDE(集成开发环境)、Selenium RC(远程控制)、WebDriver 和 Selenium Grid。Selenium RC 和 WebDriver 集成到一个框架中,形成 Selenium 2。Selenium 1 是 Selenium RC。

Selenium 与 QTP 的比较

SeleniumQTP
开源商业
可扩展有限的附加组件
支持不同的浏览器仅支持 Firefox、Internet Explorer 和 Chrome
支持不同的操作系统仅支持 Windows
支持移动设备通过使用 HP Mobile Centre 支持移动应用程序测试自动化
即使浏览器最小化也可以执行测试需要软件在桌面上可见
可以执行并行测试可以执行并行测试,但使用付费产品 - Quality Centre

QTP 相对于 Selenium 的优势

  • QTP 可以测试 Web 和桌面应用程序,而 Selenium 只能测试 Web 应用程序。

  • QTP 包含内置的对象库,而 Selenium 没有。

  • QTP 自动化速度更快,因为它是一个功能齐全的 IDE。而 Selenium 自动化速度较慢,因为它只有用于开发的第三方 IDE。

  • QTP 可以访问浏览器内的控件,而 Selenium 无法访问被测软件外部的元素。

  • 与 Selenium 不同,QTP 提供专业的客户支持。

  • QTP 具有将测试数据导出到外部格式的固有能力。

  • QTP 自动创建测试报告。

  • QTP 包含内置的参数化支持。

尽管 QTP 具有许多比 Selenium 更多的优势,但后者在以下方面超越了前者:

  • 成本

  • 灵活性

  • 并行测试

关键字驱动测试的优势

  • 它使功能测试人员即使在应用程序未准备好时也能规划测试自动化。此外,一旦建立了框架,手动和技术测试人员都可以轻松创建用于自动化的测试脚本。

  • 此测试维护并记录在 Excel 表格中,并且没有公开代码,因此测试脚本易于阅读和理解。关键字和操作与测试用例如此完美地相似,以至于编写和维护变得更加容易。

  • 即使在交付软件之前,测试人员也可以开始创建关键字驱动的测试用例,因为对象库可以稍后轻松建立。使用文档或从其他需求收集的信息,可以构建与相应手动测试过程相关的关键字数据表。

  • 借助模块化,关键字驱动测试提供了并进一步提高了可重用性。由于只有一个驱动程序/测试脚本,它强烈鼓励代码重用。

  • 即使没有任何编程知识,也可以生成测试用例。

  • 关键字驱动测试不依赖于任何特定的编程语言或工具。

  • 它支持所有自动化工具。

测试用例示例

  • TC_01 − 登录“XYZ”网站,确定今天执行的事务数量。

  • TC_02 − 登录“XYZ”网站,向其中一位客户发送电子邮件,然后注销。

  • TC_03 − 登录“XYZ”网站,查找收到的通知(如有)。

结论

关键字驱动测试是一种脚本技术,使用数据文件存储与被测软件相关的关键字。通常,它由自动化测试执行。即使没有任何编程知识,也可以创建测试用例,并且该测试支持所有自动化工具。

更新于:2021年9月22日

浏览量:1K+

开启您的职业生涯

完成课程获得认证

开始学习
广告