分类:
2008-10-15 16:42:33
今天在网上找到了一篇讲述关键字驱动的文章,个人感觉写的相当的精彩,从行文中可以看出作者不仅自动化经验丰富,而且理论基础扎实,文笔丰富。所以我将这篇文章转到了自己的BLOG来。这篇文章是在51testing里看到的,相信那也是转贴,但是作者却写的是“匿名”,汗!希望能联系到这篇文章的原作者,大家一起探讨交流。
一、关键字概念
建立基于关键字的设计和测试自动化的前提是:构成任何应用程序的离散功能性业务事件可以使用短文本描述关键字和相关联的参数值对变量进行描述。例如,大多数应用程序要求用户登录;此业务事件的关键字可以是“登录用户”,参数可以是“用户ID”和“密码”。通过设计关键字来描述离散功能性业务事件,测试员开始建立一个可用于创建关键字测试案例的通用关键字库。这便是创建语言(关键字)以描述应用程序内一系列事件(测试案例)的实际过程。
如果正确地实现和维护,关键字将呈现有关投资的良好回报,因为每一个业务事件都是作为离散的实体设计、自动化和维护的。然后这些关键字可用于设计关键字测试案例,但对关键字本身的设计和自动化开销已支付。当任何给定的关键字内发生更改时,将很容易找出受影响的测试案例并进行适当的更新,另外,关键字本身的任何设计和更新仅执行一次。将其与录制/回放相比(每次运行测试案例时,捕捉特定业务事件或业务事件的一部分) - 如果登录时启动100个测试案例,则此事件将会自动运行100次,且有100种事例需要维护。
1. 关键字开发
关键字的开发应采用与任何正式的开发工作相同的方式来完成。关键字需要设计、编码、实现和维护。
2. 设计
测试设计员负责关键字的设计-关键字的设计至少应包括:关键字名称、关键字描述和关键字参数。
3. 关键字名称
标准的关键字命名规范是先起草,接下来允许设计员进行有效地共享关键字。关键字名称应该以执行的操作
登录用户 – 登录用户
输入用户姓名 - 输入用户姓名
输入用户地址 - 输入用户地址
验证用户姓名 - 验证用户姓名
挑选用户记录 – 挑选用户记录
关键字名称应该是关键字所执行的操作的速记描述。
4. 关键字描述
关键字描述应该描述关键字的行为,并包含足够的信息供测试自动化工程师构建关键字。对于设计员而言,描述是关键字定义,而对于自动化工程师而言,则是功能规格。该描述必须简短而准确-以下是关键字是“登录用户”的示例:
登录用户描述:在登录页面输入特定的用户ID和密码, 然后按“确定”按钮。
5. 关键字参数
关键字参数应捕捉可影响由关键字定义的实时业务事件的所有业务输入。获取适当的参数列表的最简单可靠的方法是采取“捕捉显示事物”的方法。对于关键字“登录用户”,应用程序显示三个元素:“用户ID”、“密码”和“确定”按钮 – 用于支持此关键字的两个必需的参数是“用户ID”和“密码”。“确定”按钮不是必需的参数,因为关键字描述陈述“确定”按钮需要经常使用。如果有多个按钮(如“确定”、“取消”和“退出”),则需要第三个参数“按按钮”,并需要修改关键字描述。
6. 编码
自动化测试工程师选取测试下的关键字名称、描述、参数、测试应用程序和关键字开发标准并构建密码。如果关键字方面有任何问题,自动化工程师将与测试设计员联系以修改设计来阐明关键字的目的。如果存在任何自动化/工程问题,自动化工程师将与开发组和工具生产商联系来找出符合自动化框架的相应自动化解决方案。
[1]