一、关键字概念

建立基于关键字的测试设计和测试自动化的前提是:构成任何应用程序的离散功能性业务事件可以使用短文本描述关键字和相关联的参数值对变量进行描述。例如,大多数应用程序要求用户登录;此业务事件的关键字可以是“登录用户”,参数可以是“用户ID”和“密码”。通过设计关键字来描述离散功能性业务事件,测试员开始建立一个可用于创建关键字测试案例的通用关键字库。这便是创建语言(关键字)以描述应用程序内一系列事件(测试案例)的实际过程。

如果正确地实现和维护,关键字将呈现有关投资的良好回报,因为每一个业务事件都是作为离散的实体设计、自动化和维护的。然后这些关键字可用于设计关键字测试案例,但对关键字本身的设计和自动化开销已支付。当任何给定的关键字内发生更改时,将很容易找出受影响的测试案例并进行适当的更新,另外,关键字本身的任何设计和更新仅执行一次。将其与录制/回放相比(每次运行测试案例时,捕捉特定业务事件或业务事件的一部分)-如果登录时启动100个测试案例,则此事件将会自动运行100次,且有100种事例需要维护。

1.关键字开发

关键字的开发应采用与任何正式的开发工作相同的方式来完成。关键字需要设计、编码、实现和维护。

2.设计

测试设计员负责关键字的设计-关键字的设计至少应包括:关键字名称、关键字描述和关键字参数。

3.关键字名称

标准的关键字命名规范是先起草,接下来允许设计员进行有效地共享关键字。关键字名称应该以执行的操作 开头,接下来是功能实体,然后是描述性文本 (如果需要),以下是几个常见实例:

登录用户–登录用户

输入用户姓名-输入用户姓名

输入用户地址-输入用户地址

验证用户姓名-验证用户姓名

挑选用户记录–挑选用户记录

关键字名称应该是关键字所执行的操作的速记描述。

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.用户验收测试

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

软件测试关键字搜索怎么测,软件测试中基于关键字的自动化测试相关推荐

  1. 唯品会关键字搜索商品API接口(item_search-按关键字搜索唯品会商品API接口),唯品会API接口

    一.唯品会关键字搜索商品API接口(item_search-按关键字搜索唯品会商品API接口),唯品会API接口接口可获取到宝贝标题,宝贝价格,宝贝ID,宝贝图片,优惠价,宝贝链接,卖家昵称,店铺所在 ...

  2. 阿里巴巴关键字搜索商品API接口(item_search-按关键字搜索商品接口),阿里巴巴搜索API接口

    阿里巴巴关键字搜索商品API接口(item_search-按关键字搜索商品接口),阿里巴巴搜索API接口可以获取到整个页面上看的到的数据,包括:商品ID,商品标题,商品图片,优惠价,价格,价格范围,销 ...

  3. grep检索关键字的命令_文件中查找关键字“ ”命令 grep

    sudo grep -irn 'COMPILE'  .  //  "." 当前目录下 关键字为'COMPILE' sudo grep -i 'COMPILE'    ltls.c ...

  4. 以下哪个不是python中的关键字-以下不是python中的关键字

    [单选题]直径数字前应加符号( ) [单选题]Python 中对变量描述错误的选项是: [填空题]近头者为 [单选题]以下对 Python 程序缩进格式描述错误的选项是 [单选题]关于Python语言 ...

  5. python的上下文管理用哪个关键字_正确理解python中的关键字“with”与上下文管理器...

    正确理解python中的关键字"with"与上下文管理器 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  正确理解python中的关键字&quo ...

  6. c语言中关键字的含义,c语言中的关键字有哪些?有什么含义?

    c语言中的关键字有哪些?有什么含义? 发布时间:2020-04-23 09:33:30 来源:亿速云 阅读:174 作者:小新 这篇文章主要介绍了c语言中的关键字有哪些?有什么含义?,具有一定借鉴价值 ...

  7. C语言 软件测试,C语言运算符 - 软件测试网 _领测软件测试网站-中国软件测试技术第一门户...

    C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号.C语言有三大运算符:算术.关系与逻辑.位操作.另外,C还有一些特殊的运算符,用于完成一些特殊的任务. 2.6.1算术运算符 ...

  8. java继承关键字super_java学习笔记-继承中super关键字

    背景: 在java继承的概念中我们得知,被声明为私有的类成员对所属的类来说仍然是私有的.类之外的任何代码都不能访问,包括子类. super关键字的两种用法: 1.用于调用超类的构造函数: 2.用于访问 ...

  9. java关键字super的作用_java中super关键字的作用

    1.super关键字可以在子类的构造方法中显示地调用父类的构造方法,super()必须为子类构造函数中的第一行. 2.super可以用来访问父类的成员方法或变量,当子类成员变量或方法与父类有相同的名字 ...

最新文章

  1. 基于linux的驱动设计,《基于LINUX的虚拟驱动设计》-毕业论文.doc
  2. HTML的标签描述20
  3. 在pycharm里做echarts_用 ECharts 做出漂亮的数据统计图
  4. 当你学不进去的时候,试试“普瑞马法则”
  5. Geography爱好者 QGIS WGS84转其它坐标系并计算坐标
  6. 修改wordpress上传文件大小限制
  7. mysql 关联查询_mysql数据库调优(二)
  8. layerconfirm 自动关闭问题 没有阻塞问题_微信新版本自动更新?赶紧关闭这个功能...
  9. 【MATLAB】主要功能
  10. 设计师必收藏!!!让你灵感迸发的配色网站
  11. Oracle序列号详解
  12. 【教你在win7中开启四声道效果】
  13. html 怎么获取焦点的位置,jQuery怎么获取焦点?
  14. 常见对话框之一AlertDialog
  15. 自然语言处理之神经网络基础
  16. node爬取某app数据_使用NodeJs,实现数据抓取
  17. 数据规范化与数据离散化
  18. 敏捷运维的实操 -- 迭代内工作量
  19. SpringBoot添加自定义消息转换器
  20. 优动漫PAINT入门宝典——素材的导出与上传

热门文章

  1. Linux下共享库的查找顺序
  2. 武田制药将呈报ICLUSIG(R) (ponatinib) 2期OPTIC试验主要分析的阳性结果,加强填补慢性期CML治疗空白的能力
  3. Python编程(01)----网络编程之TCP/IP/UDP/Port等知识讲解
  4. 本地搭建电影网站:使用cpolar发布局域网maccms10网站 3/3
  5. Mendix性能最佳实践
  6. scp 上传文件、指定端口上传
  7. Web前端也想做黑客,这些你都会吗?
  8. Python之美[从菜鸟到高手]--urllib源码分析
  9. 7-2 奥运排行榜(编程题)
  10. PHPCMS v9如何调用Discuz!X 论坛数据