1. 设计
  关键字测试案例设计包括计划测试案例的目的, 使用关键字建立测试案例, 以及针对正在进行测试的应用程序来测试设计。乍一看,这似乎与测试案例设计的任何其他方法没什么两样,但是关键字测试案例设计与任何徒手/文本形式的测试案例设计之间存在显著的差别。关键字测试案例设计的特征有:

  一致性 – 每次都使用相同的关键字来描述业务事件,
  数据驱动 – 关键字包含执行测试步骤所需的数据,
  自动生成文档 - 关键字描述包含设计员的目的详细信息,
  可维护性 – 有了一致性,接下来便是可维护性,终能够支持自动化,而不需要从测试设计变换到脚本自动化。
  测试设计员不需要成为测试自动化工程师能获取测试自动化的权限。

  2. 执行
  通过按顺序执行关键字步骤,测试员可以手动执行关键字测试案例执行 – 这应作为关键字验证过程的一部分执行。测试案例是使用自动化关键字构建的,可以使用测试自动化工具或集成的测试管理工具来执行。不管是否使用自动化,测试案例执行都是一种机械练习。测试案例应该包含执行测试案例,以及确定该操作成功或失败的所有必需信息。

  3. 维护
  当应用程序行为或在一个或多个测试案例中使用的关键字设计中发生更改时,必须进行测试案例维护。正确实现的关键字框架将允许测试员通过一些查询机制来查找关键字的所有实例– 将通常令人痛苦的查找受影响的测试案例的过程减少到一个简单步骤。而且, 良好实现的关键字框架应该支持对关键字实例的全局更改。

  三、关键字实现

  1. GUI (图形用户界面)
  基于GUI 的应用程序的关键字方案是容易理解和实现的。大多数共享软件、免费软件和关键字测试的商业应用程序都涉及该领域。

  2. API (应用程序编程接口)
  基于API的应用程序关键字解决方案表面上看来很复杂, 但这些应用程序一旦细分成离散功能业务事件,其行为便与同等GUI应用程序一样了。如果业务事件为”登录用户”,则无论使用哪个应用程序机制来实现该事件都无关紧要,如果业务驱动相同,关键字查找和行为将相同。有几个与 API 领域相关的关键字解决方案提供商,且同一提供商通常具有 GUI 应用程序的解决方案。

  3. 电信 (通信协议)
  电信领域的关键字解决方案 (例如SS7)要求对电信协议非常了解. 有几个提供该领域关键字解决方案的提供商。

  四、关键字和测试阶段

  1. 单元测试
  关键字可用于单元测试, 但不建议这么做。应该由开发组使用开发套件中可用的工具和技术来进行单元测试。

  2. 功能 (综合测试)
  关键字测试解决方案专注于作为离散功能业务事件设计和实现关键字,为功能测试提供低本高效并可维护的测试框架。事实上, 如果需要或期望基于GUI 或API 的应用程序的测试自动化,有一些框架可匹配其短期或长期ROI (投资回报)。

  3. 系统测试
  将关键字从功能测试提升到系统测试阶段的基于关键字的测试解决方案可帮助加速测试过程。有效的关键字框架将允许测试设计员把功能级关键字组合成系统级关键字。系统级关键字处理完整的业务事件, 而不是组成业务线程的离散功能业务事件。例如, 一个系统级的关键字可以是 “完整客户应用程序”,该关键字可以是由这一系列功能级关键字组成:“输入客户姓名”,“输入客户联系信息”,“输入客户个人信息”和“保存客户记录”。

  4. 用户验收测试
  关键字可用于用户验收测试, 但不建议使用,除非这是测试的扩展阶段。终端用户团体使用产品佳执行用户验收测试中可用的工具、技术和过程。