创建一个有效的GUI自动化框架(2)

发表于:2014-03-19来源:测试窝作者:devx.com点击数: 标签:自动化框架
以下提供一些可被验证的项目的简单列表: 测试脚本的命名 有适当的注释/描述 业务方法的返回值/参数 解决方案分层 (确认不会有交叉层次访问冲突在自

  以下提供一些可被验证的项目的简单列表:

  •测试脚本的命名

  •有适当的注释/描述

  •业务方法的返回值/参数

  •解决方案分层 (确认不会有交叉层次访问冲突在自动化代码中出现)。

  自动化测试框架的硬件支持

  显然,该框架不能只包括最佳实践。没有人能够在没有任何基础设施来支持他们的情况下继续做下去。以下提供的是一些有助于更好的理解自动化框架实现的指引。

  首先我们需要以某种方式运行测试。在大多数情况下,单元测试框架是用于运行功能测试和衡量结果。有了各种技术/语言的支持,能够为功能测试代码和持续集成(CI)系统完美的结合提供了多种选择的单元测试框架。

  为测试运行加载配置

  测试配置很大程度上取决于SUT域和测试细节。例如,在大多数测试流的所有配置(如参数、远程连接服务器等)可以只是在测试脚本中写死的。

  在数据驱动的测试中, 当相同的测试可以使用不同的配置(例如,输入参数)多次运行的情况下,单元测试框架还提供从外部存储设备读取数据测试脚本。

  因此,如果需要自定义配置加载的实现你的自动化框架的话,您需要仔细反复检查。

  报告测试结果

  报告测试结果/调试测试信息是自动化框架的最重要的功能之一。

  有以下几个原因:

  ﹒报告分析简化了测试应用程序/故障排除,所以你的报告的信息越多,它提供的支持越好。

  ﹒报告是所有的项目经手人观察到的结果。

  如果你想跟踪测试执行在一段时间内的一些动态变化,你应该运用额外的设备将测试结果永久地保存到数据库,这样就可以作比较。

  别忘了把一些花俏的东西放进报告表示层(xml / html),如公司标志、结构化输出等。这些事情能够极大地改善你的管理。如果你提供一个“时间”报告,图表也需要高度重视。

  验证

  再者,大多数单元测试框架已经有一套支持在测试脚本中执行Assert/Verify的机制。这是一个很好创建自己的验证机制的实践,以便:

  ﹒从一个特定的单元测试框架中抽象用例断言

  ﹒为你的需求定制一套验证方法

  ﹒添加特定的逻辑到您的验证方法,让您的验证结果自动写入报告

  切面

  自动化测试解决方案在不同的项目中大多是类似的。所以为现有解决方案增加自动化框架工具应该是个简单的事情。如果你想为现有项目提供更多实用价值,使用框架来减少迁移工作是很重要的。

  这方面确实很有帮助。只需添加一个方面属性定义到一个测试项目,一会儿你就会有一个广泛的报告机制在您的测试解决方案中激活!当然,它的实现需要一些高级方面,但这绝对是值得的。

  关键词

  你可能觉得有趣的是,我们在这篇文章中没有提及任何关键字驱动框架。关键字市场另一组可用的解决方案,包括商业的和开源的。可以肯定的是,已经有成百上千的自定义关键字驱动框架存在。但是,我们发现他们是并不完整的。原因如下:

  ﹒他们没有解决测试脚本的可维护性。他们中的大多数介绍是大量重复的。

  ﹒把关键字驱动框架紧密地绑定到特定的自动化工具(或者是一个UI自动化工具)的一部分,这使得在解决方案开发没有变化。

  结论

  在本文中,我们描述了我们在自动化框架的实现中的一些经验。这篇文章强调的一些原则可以提供在深度上分析测试方案的代码的能力,并被证明在多个自动化项目中是有效的。作为一个例子,其中一个我们已经开发了大约500个业务场景与110个测试用例,每个测试用例平均30步骤(请注意,一步也可以由几个业务方法调用)。所描述的方法使我们能够达到每一个业务场景36倍的平均可重用性。

  这是由你来决定你的自动化项目使用什么框架。也许这将是一个简单的记录/回放页面工具与一群或者是一组关键字驱动脚本的表格。但是,当涉及到自动化的一百多的测试用例时,您需要证明较高的成熟度级别来实现您的测试解决方案的可维护性。

  Oleksandr Reminnyi作为SoftServe Inc的软件工程师,SoftServe Inc是一家全球领先的外包产品和应用开发公司。Oleksandr Reminnyi负责为新的和现有的客户建立自动化项目和流程。他认为,成功和失败是完全取决于自动化建立过程是否设定正确的目标。他目前正在他的博士学位致力于研究自动化。

  David Krauss拥有超过30年的应用经验和产品设计和交付,与广泛的编程和跨多个平台架构经验,技术,和语言。精通遗留资产现代化,全球协作开发过程,客户机/服务器和网络平台,测试自动化(一个专利自动化,自动化生成一个专利申请中)。二十多年专业从事自动化测试工具和范例,自动化框架和测试方法

原文转自:http://www.testwo.com/article/70