基于关键字的测试设计和测试自动化的前提是什么?
发表时间:2023-09-14 09:02:52
文章来源:炫佑科技
浏览次数:242
菏泽炫佑科技
基于关键字的测试设计和测试自动化的前提是什么?
1. 关键词概念
建立基于关键字的测试设计和测试自动化的前提是,组成任何应用程序的离散功能业务事件都可以使用简短的文本描述关键字和变量的关联参数值来描述。 例如,大多数应用程序都需要用户登录; 该业务事件的关键字可以是“登录用户”,参数可以是“用户ID”和“密码”。 通过设计关键字来描述离散的功能业务事件,测试人员开始构建可用于创建关键字测试用例的常用关键字库。 这是创建语言(关键字)来描述应用程序内的一系列事件(测试用例)的实际过程。
如果正确实施和维护,关键字将带来良好的投资回报,因为每个业务事件都是作为离散实体进行设计、自动化和维护的。 然后可以使用这些关键字来设计关键字测试用例,但关键字本身的设计和自动化开销是需要支付的。 当任何给定关键字内发生更改时,可以轻松识别受影响的测试用例并进行适当更新,而且对关键字本身的任何设计和更新仅执行一次。 将此与记录/回放(每次运行测试用例时捕获特定业务事件或业务事件的一部分)进行比较 - 如果登录时启动 100 个测试用例,则此事件将自动运行 100 次,并且需要 100 个实例维护。
1. 关键词开发
关键字开发应以与任何正式开发工作相同的方式进行。 需要设计、编码、实施和维护关键字。
2.设计
测试设计者负责关键字的设计——关键字的设计至少应包括:关键字名称、关键字描述和关键字参数。
3.关键词名称
首先起草了标准关键字命名约定自动化软件开发,使设计者能够有效地共享关键字。 关键字名称应以执行的操作开头,然后是功能实体,然后是描述性文本(如果需要)。 以下是一些常见示例:
登录用户 – 登录用户
输入用户名 - 输入用户名
输入用户地址 - 输入用户地址
验证用户名 - 验证用户名
选择用户记录 – 选择用户记录
关键字名称应该是关键字执行的操作的简写描述。
4.关键词说明
关键字描述应该描述关键字的行为,并包含足够的信息供测试自动化工程师构建关键字。 对于设计师来说,描述是一个关键字定义,而对于自动化工程师来说,它是一个功能规范。 描述必须简短而准确 - 以下是关键字“登录用户”的示例:
登录用户说明:在登录页面输入具体的用户ID和密码,然后按“确定”按钮。
5. 关键字参数
关键字参数应捕获可能影响关键字定义的实时业务事件的所有业务输入。 获取适当参数列表的*简单、*可靠的方法是采用“捕获显示内容”方法。 对于关键字“登录用户”,应用程序显示三个元素:“用户 ID”、“密码”和“确定”按钮 - 支持此关键字的两个必需参数是“用户 ID”和“密码”。 “确定”按钮不是必需参数,因为关键字描述表明“确定”按钮需要经常使用。 如果有多个按钮(如“确定”、“取消”、“退出”),则需要第三个参数“Press ”,并且需要修改关键字描述。
6. 编码
自动化测试工程师选择测试下的关键字名称、描述、参数、测试应用和关键字开发标准并构建密码。 如果关键字有任何问题,自动化工程师将联系测试设计人员修改设计,以明确关键字的用途。 如果存在任何自动化/工程问题,自动化工程师将与开发团队和工具制造商联络,以找出符合自动化框架的适当自动化解决方案。
7. 实施
关键字实现使用与任何可共享项目资源相同的路径。 完成的关键字至少应满足以下条件:通过测试设计人员的审核、自动化工程师的单元测试和功能测试,并集成到项目“”中。 该过程不需要复杂或可扩展,但必须确保任何已实现的关键字都暴露给测试组并执行预期的功能。
8.维护保养
在以下情况下需要进行关键字维护:检测到关键字故障、业务事件发生变化或关键字标准被修改。 关键字维护遵循与关键字开发相同的部署路径:设计、编码和实施。
2. 关键字测试用例
关键字测试用例是一系列关键字,旨在测试或练习正在测试的一个或多个应用程序的一个或多个方面。 必须设计、执行和维护关键字测试用例。 编写关键字测试用例是测试设计者/测试者的责任。 只有当关键字测试用例执行过程中出现故障时,自动化工程师才需要进行干预。 请注意:当缺乏关键字自动化时,通常会使用关键字设计示例——这是一个有效的独立测试设计示例。
1.设计
关键字测试用例设计包括规划测试用例的目的、使用关键字构建测试用例以及针对正在测试的应用程序测试设计。 乍一看,这可能看起来像任何其他测试用例设计方法,但关键字测试用例设计和任何徒手/文本形式的测试用例设计之间存在显着差异。 关键字测试用例设计的特点是:
一致性——每次都使用相同的关键词来描述业务事件,
数据驱动——关键字包含执行测试步骤所需的数据,
自动生成文档——关键字描述包含设计者目的的详细信息,
可维护性——有了一致性,下一步就是可维护性,*终实现自动化,而无需从测试设计切换到脚本自动化。
测试设计人员无需成为测试自动化工程师即可访问测试自动化。
2.执行
测试人员可以通过按顺序执行关键字步骤来手动执行关键字测试用例——这应该作为关键字验证过程的一部分来执行。 测试用例是使用自动化关键字构建的,并且可以使用测试自动化工具或集成测试管理工具来执行。 无论是否使用自动化,测试用例执行都是一种机械练习。 测试用例应包含执行测试用例并确定操作是否成功或失败所需的所有信息。
3.维护保养
当应用程序行为或一个或多个测试用例中使用的关键字设计发生变化时,测试用例维护是必要的。 正确实现的关键字框架将允许测试人员通过某种查询机制找到关键字的所有实例,从而将查找受影响的测试用例的痛苦过程简化为一个简单的步骤。 此外,一个实施良好的关键字框架应该支持对关键字实例的全局更改。
3. 关键词实现
1.GUI(图形用户界面)
基于 GUI 的应用程序的关键字方案是*容易理解和实现的。 大多数关键字测试的共享软件、免费软件和商业应用程序都属于这个领域。
2.API(应用程序编程接口)
基于 API 的应用程序关键字解决方案表面上看起来很复杂,但是一旦这些应用程序被分解为离散的功能业务事件,它们的行为就像等效的 GUI 应用程序一样。 如果业务事件是“用户登录”,那么使用哪种应用程序机制来实现该事件并不重要,如果业务驱动程序相同,则关键字查找和行为将是相同的。 有多个与 API 空间相关的关键字解决方案提供商基于关键字的测试设计和测试自动化的前提是什么?,并且同一提供商通常也有针对 GUI 应用程序的解决方案。
3. 电信(通信协议)
电信领域的关键字解决方案(例如SS7)需要对电信协议有很好的了解。 该领域有多家关键字解决方案提供商。
4. 关键词和测试阶段
1. 单元测试
单元测试中可以使用关键字,但不建议这样做。 单元测试应由开发团队使用开发套件中提供的工具和技术来完成。
2、功能(综合测试)
关键字测试解决方案专注于将关键字设计和实现为离散的功能业务事件,为功能测试提供经济高效且可维护的测试框架。 事实上,如果需要或期望基于 GUI 或 API 的应用程序的测试自动化,有一些框架可以匹配其短期或长期 ROI(投资回报率)。
3. 系统测试
基于关键字的测试解决方案将关键字从功能测试提升到系统测试阶段,有助于加快测试过程。 有效的关键字框架将允许测试设计者将功能级关键字组合到系统级关键字中。 系统级关键字处理完整的业务事件,而不是组成业务线程的离散功能业务事件。 例如,一个系统级关键字可以是“完整的客户申请”,它可以由这一系列功能级关键字组成:“输入客户姓名”、“输入客户联系信息”、“输入客户个人信息”和“保存客户记录。”
4. 用户验收测试
关键字可以在用户验收测试中使用,但不建议使用它们,除非这是测试的扩展阶段。 *终用户组使用可用的工具、技术和流程来*好地执行产品的用户验收测试。