#51CTO#真正的测试自动化框架全接触


#51CTO#真正的测试自动化框架全接触
文章图片
【51CTO.com快译】现如今 , 无论是软件测试人员 , 还是利益相关者 , 都已经认识到:实现测试自动化框架对于软件项目的成功是至关重要的 。 它不但能够提高测试的效率 , 而且可以减少人工干预的工作量 。
在本文中 , 我们将深入探讨什么是真正的测试自动化框架 , 自动化脚本是如何工作的 , 以及此类框架是如何在测试过程中给团队提供竞争优势的 。
定义测试自动化
在任何行业中 , 自动化通常被解释为通过智能算法 , 来自动处理各种流程 , 而且几乎不需要人工的干预 。 在软件行业中 , 测试自动化意味着:使用受许可版本或开源版本的自动化工具 , 对软件应用程序执行各项测试 。 从技术角度来说 , 测试自动化框架是一组定制的交互式组件 , 它可以协助执行脚本化的测试 , 并全面地报告测试结果 。
为了成功地构建自动化框架 , 软件质量保证专家必须通过全面考虑与设计 , 来控制和监视整个测试过程 , 并提高结果的准确性 。 与此同时 , 那些经过精心设计的自动化框架也能够让测试人员以实用、简化的方式 , 来执行各项自动化的测试 。
通常 , 根据自动化需求目标的不同 , 我们可以选择并创建如下不同的框架:
以工具为中心的框架
无论是商业版工具还是开源的自动化工具 , 它们都拥有自己的系统框架 , 可以在各种测试环境中提供测试套件 , 实施分布式测试 , 并最终生成报告 。 最典型的示例当属Selenium自动化框架 。 该框架的主要组件是WebDriver 。 作为基于Web的浏览器插件 , 该组件可被用于控制和操作Web浏览器中应用程序的DOM模型 。 此外 , Selenium自动化框架还带有各种实用的编码库 , 以及支持记录回放的工具 。
Serenity是另一个自动化工具的框架 。 它围绕着SeleniumWeb驱动构建了一个加速器 。 为加快测试自动化实施过程的速度 , Serenity还能够将特定的组件与社区内的其他工具相组合 。
除了上述两种工具 , 业界还有TestComplete、以及RanorexHPQTP等工具 。 作为已部署的预构建框架 , 它们都带有用户行为模拟器、报告和脚本IDE等功能 。
面向项目的框架
定制此类框架主要是用于实现特定应用项目的自动化 。 特定项目的框架既可以支持某些目标应用的测试自动化需求 , 又能够被开源库构建的组件所驱动 。 此类框架围绕着被测系统(SystemUnderTest , SUT)创建了一个友好的测试环境 , 以运行和覆盖各种基本功能 。 其中包括:对已开发的应用进行部署 , 运行 , 并且通过包装器(Wrapper)的控制以简化编码 , 执行测试用例 , 以及输出测试结果报告 。 面向特定项目的框架还应该通过组件 , 以支持在不同的操作系统和浏览器上 , 进行跨多种云端环境的测试 。
关键字驱动的框架
这是一些旨在给开发人员和测试人员带来较少代码体验的框架 。 那些被应用于代码之中的关键字集(如:Login、NavigateToPage、Click、以及TypeText)会被安装到代码库中 , 作为一个关键字的存储库 。 根据给定的关键字 , 测试人员可以参考编写处对应的脚本 , 并以电子表格的形式 , 传递到关键字解释器中 , 予以执行和测试 。 因此 , 对于技能不足的人员来说 , 他们能够据此轻松地编写和理解各种自动化脚本 。
理想的测试自动化框架的主要组件
如果您想实现功能强大、且性能卓越的测试自动化框架 , 那么无论采用开源的、还是商用的框架 , 都必须包括一些核心的构成组件 。 它们分别是:
1.测试库
a)单元测试
您需要将单元测试库用于:
通过特定的形式注解(例如@Test或[Test]) , 来定义正在使用的测试方法 。
执行能够影响自动化测试最终结果的断言(assertion) 。