一、关键字概念
建立基于关键字的测试设计和测试自动化的前提是:构成任何应用程序的离散功能性业务事件可以使用短文本描述关键字和相关联的参数值对变量进行描述。例如,大多数应用程序要求用户登录;此业务事件的关键字可以是“登录用户”,参数可以是“用户ID”和“密码”。通过设计关键字来描述离散功能性业务事件,测试员开始建立一个可用于创建关键字测试案例的通用关键字库。这便是创建语言(关键字)以描述应用程序内一系列事件(测试案例)的实际过程。
如果正确地实现和维护,关键字将呈现有关投资的良好回报,因为每一个业务事件都是作为离散的实体设计、自动化和维护的。然后这些关键字可用于设计关键字测试案例,但对关键字本身的设计和自动化开销已支付。当任何给定的关键字内发生更改时,将很容易找出受影响的测试案例并进行适当的更新,另外,关键字本身的任何设计和更新仅执行一次。将其与录制/回放相比(每次运行测试案例时,捕捉特定业务事件或业务事件的一部分) - 如果登录时启动100个测试案例,则此事件将会自动运行100次,且有100种事例需要维护。
1. 关键字开发
关键字的开发应采用与任何正式的开发工作相同的方式来完成。关键字需要设计、编码、实现和维护。
2. 设计
测试设计员负责关键字的设计-关键字的设计至少应包括:关键字名称、关键字描述和关键字参数。
3. 关键字名称
标准的关键字命名规范是先起草,接下来允许设计员进行有效地共享关键字。关键字名称应该以执行的操作 <action> 开头,接下来是功能实体 <entity>,然后是描述性文本<text> (如果需要),以下是几个常见实例:
登录用户 – 登录用户
输入用户姓名 - 输入用户姓名
输入用户地址 - 输入用户地址
验证用户姓名 - 验证用户姓名
挑选用户记录 – 挑选用户记录
关键字名称应该是关键字所执行的操作的速记描述。
4. 关键字描述
关键字描述应该描述关键字的行为,并包含足够的信息供测试自动化工程师构建关键字。对于设计员而言,描述是关键字定义,而对于自动化工程师而言,则是功能规格。该描述必须简短而准确-以下是关键字是“登录用户”的示例:
登录用户描述:在登录页面输入特定的用户ID和密码, 然后按“确定”按钮。
5. 关键字参数
关键字参数应捕捉可影响由关键字定义的实时业务事件的所有业务输入。获取适当的参数列表的最简单可靠的方法是采取“捕捉显示事物”的方法。对于关键字“登录用户”,应用程序显示三个元素:“用户ID”、“密码”和“确定”按钮 – 用于支持此关键字的两个必需的参数是“用户ID”和“密码”。“确定”按钮不是必需的参数,因为关键字描述陈述“确定”按钮需要经常使用。如果有多个按钮(如“确定”、“取消”和“退出”),则需要第三个参数“按按钮”,并需要修改关键字描述。
6. 编码
自动化测试工程师选取测试下的关键字名称、描述、参数、测试应用程序和关键字开发标准并构建密码。如果关键字方面有任何问题,自动化工程师将与测试设计员联系以修改设计来阐明关键字的目的。如果存在任何自动化/工程问题,自动化工程师将与开发组和工具生产商联系来找出符合自动化框架的相应自动化解决方案。
7. 实现
关键字实现使用与任何可共享项目资源相同的路径。完成的关键字至少应满足以下条件:通过测试设计员的审核,自动化工程师的单元测试、功能测试,并集成到项目“Testware”中。该过程不需要很复杂或扩展性,但必须确保任何实现的关键字都公布于测试组并能实现预期的功能。
8. 维护
出现以下情况时需要进行关键字维护:检测到关键字故障,更改业务事件或修改关键字标准。关键字维护遵循和关键字开发相同的部署路径:设计、编码和实现。
二、关键字测试案例
关键字测试案例是设计用于对正在进行测试的一个或多个应用程序的一个或多个方面进行测试或运用的一系列关键字。关键字测试案例必须经过设计、执行和维护的。写关键字测试案例是测试设计员/测试员的职责,仅当关键字测试案例执行过程中出现故障时需要自动化工程师介入。请注意:关键字设计范例常在缺少关键字自动化时使用 – 这是一个有效的独立测试设计范例。
1. 设计
关键字测试案例设计包括计划测试案例的目的, 使用关键字建立测试案例, 以及针对正在进行测试的应用程序来测试设计。乍一看,这似乎与测试案例设计的任何其他方法没什么两样,但是关键字测试案例设计与任何徒手/文本形式的测试案例设计之间存在显著的差别。关键字测试案例设计的特征有:
一致性 – 每次都使用相同的关键字来描述业务事件,
数据驱动 – 关键字包含执行测试步骤所需的数据,
自动生成文档 - 关键字描述包含设计员的目的详细信息,
可维护性 – 有了一致性,接下来便是可维护性,最终能够支持自动化,而不需要从测试设计变换到脚本自动化。
测试设计员不需要成为测试自动化工程师就能获取测试自动化的权限。
2. 执行
通过按顺序执行关键字步骤,测试员可以手动执行关键字测试案例执行 – 这应作为关键字验证过程的一部分执行。测试案例是使用自动化关键字构建的,可以使用测试自动化工具或集成的测试管理工具来执行。不管是否使用自动化,测试案例执行都是一种机械练习。测试案例应该包含执行测试案例,以及确定该操作成功或失败的所有必需信息。
3. 维护
当应用程序行为或在一个或多个测试案例中使用的关键字设计中发生更改时,必须进行测试案例维护。正确实现的关键字框架将允许测试员通过一些查询机制来查找关键字的所有实例– 将通常令人痛苦的查找受影响的测试案例的过程减少到一个简单步骤。而且, 良好实现的关键字框架应该支持对关键字实例的全局更改。
三、关键字实现
1. GUI (图形用户界面)
基于GUI 的应用程序的关键字方案是最容易理解和实现的。大多数共享软件、免费软件和关键字测试的商业应用程序都涉及该领域。
2. API (应用程序编程接口)
基于API的应用程序关键字解决方案表面上看来很复杂, 但这些应用程序一旦细分成离散功能业务事件,其行为便与同等GUI应用程序一样了。如果业务事件为”登录用户”,则无论使用哪个应用程序机制来实现该事件都无关紧要,如果业务驱动相同,关键字查找和行为将相同。有几个与 API 领域相关的关键字解决方案提供商,且同一提供商通常具有 GUI 应用程序的解决方案。
3. 电信 (通信协议)
电信领域的关键字解决方案 (例如SS7)要求对电信协议非常了解. 有几个提供该领域关键字解决方案的提供商。
四、关键字和测试阶段
1. 单元测试
关键字可用于单元测试, 但不建议这么做。应该由开发组使用开发套件中可用的工具和技术来进行单元测试。
2. 功能 (综合测试)
关键字测试解决方案专注于作为离散功能业务事件设计和实现关键字,为功能测试提供低本高效并可维护的测试框架。事实上, 如果需要或期望基于GUI 或API 的应用程序的测试自动化,有一些框架可匹配其短期或长期ROI (投资回报)。
3. 系统测试
将关键字从功能测试提升到系统测试阶段的基于关键字的测试解决方案可帮助加速测试过程。有效的关键字框架将允许测试设计员把功能级关键字组合成系统级关键字。系统级关键字处理完整的业务事件, 而不是组成业务线程的离散功能业务事件。例如, 一个系统级的关键字可以是 “完整客户应用程序”,该关键字可以是由这一系列功能级关键字组成:“输入客户姓名”,“输入客户联系信息”,“输入客户个人信息”和“保存客户记录”。
4. 用户验收测试
关键字可用于用户验收测试, 但不建议使用,除非这是测试的扩展阶段。终端用户团体使用产品最佳执行用户验收测试中可用的工具、技术和过程。
分享到:
相关推荐
### 基于关键字驱动自动化测试平台的设计与实现 #### 一、背景及意义 随着第三代通信技术(3G)的广泛应用,为了满足市场对于更高性能网管系统的需求,各大设备供应商正在积极研发新一代的网管系统。这些网管系统...
【基于关键字驱动的APP自动化测试方案】是一种针对移动应用程序(APP)进行高效自动化测试的方法,旨在提高测试质量,提升测试效率。随着移动互联网的迅速发展,APP版本迭代更新频繁,测试工作量大且重复性高,成为...
这个框架基于Python编程语言,结合Selenium WebDriver库,利用关键字驱动的概念来设计和执行自动化测试用例。 首先,Python是当今最流行的编程语言之一,尤其在数据科学和自动化测试领域。它具有简洁易读的语法,...
自动化测试关键字初始框架是一种用于软件测试的工具,它基于关键字驱动测试方法,旨在简化测试脚本的编写,提高测试效率。这种框架的核心理念是将测试逻辑转化为易于理解的关键字,使得非程序员也能参与到测试活动中...
在实际项目中实施基于QTP的关键字驱动自动化测试框架后,证明了该框架能够有效缩短测试时间,提高测试效率,是软件开发组织测试工作的有力支撑手段。在应用中,需要结合项目实际情况对框架进行定制和优化,以确保其...
本文旨在探讨一种基于关键字驱动方法的自动化测试框架的设计与实现,以期改善现有的C++接口测试方案。 #### 自动化测试技术概述 自动化测试技术主要包括两种类型:数据驱动测试和关键字驱动测试。 1. **数据驱动...
总之,基于关键字驱动的自动化测试是一种强大且灵活的测试策略,它可以帮助我们构建高效、稳定的测试环境,确保软件产品的高质量。通过深入理解和实践这一方法,我们可以更好地应对复杂多变的测试需求,提升整个软件...
总的来说,基于关键字驱动的Web功能自动化测试方法不仅提高了测试效率,还降低了自动化测试的门槛,使得更多团队成员能参与到测试工作中,从而提高了整个项目的质量保证水平。在实际项目中,合理地运用这种方法,...
自动化测试是现代软件开发过程中的重要组成部分,它能够有效地提高测试效率,减少人为错误,并确保产品质量。本项目基于Python3,利用Selenium库进行Web应用的自动化测试,同时结合了关键字驱动和数据驱动两种测试...
【基于关键字驱动的自动化测试技术】是软件测试领域中一种高效、灵活的测试方法,尤其在处理【大数据平台】的应用时更为适用。这种方法的核心思想是将复杂的测试逻辑转化为易于理解和执行的关键字,使得非技术人员也...
综上所述,基于关键字驱动的Web功能自动化测试方法是一种有效的方式来应对现代软件开发中测试工作的挑战。通过使用面向对象的语言Python和自动化测试框架Selenium2.0,配合合适的IDE进行脚本开发,能够实现Web功能的...
为了提高软件自动化测试脚本的可复用性,提出了一种基于关键字驱动的自动化测试框架(LKDT)。首先对目前现有自动化测试框架进行了归纳分析;然后提出了LKDT的系统架构,给出了其中所包含的关键技术;最后以实际的...
关键一种关键字驱动的自动化测试框架软件测试摘要:为了提高软件自动化测试脚本的可复用性,提出了一种基于关键字驱动的自动化测试框架(LKDT)。首先对目前现有自动化测试框架进行了归纳分析;然后提出了LKDT的系统...
测试脚本是指自动化测试的执行脚本,测试数据是指自动化测试所需的输入数据,测试环境是指自动化测试的执行环境,测试报告是指自动化测试的结果报告。 测试自动化的原理和方法 测试自动化的原理是基于软件测试的...
实施自动化测试不仅有助于提升软件测试的效率和质量,还能够强化软件开发流程中的质量保证,提高企业的核心竞争力,同时也为测试人员提供了更多专业成长和技能提升的机会。因此,掌握并应用基于脚本的自动化软件测试...
Cucumber: 开源的BDD自动化测试框架,支持Ruby和Java Behave: 基于Python的BDD自动化测试框架 Gauge: 轻量级的跨平台测试自动化工具,可以以业务语言编写测试用例。 用例生成 graphwalker: 基于模型的测试用例生成...
"基于组件的软件系统自动化测试研究"和"面向对象自动化测试框架的研究与设计"可能详细介绍了如何利用这些方法来提高测试覆盖率和效率。 7. **核心数据驱动的自动化测试**:这种测试方法侧重于核心业务数据的测试,...