首页 测试 体会 查看内容

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

2014-3-29 11:04| 发布者: tianzc| 查看: 1122| 评论: 0

摘要:   一个良好的自动化测试框架应该具备灵活的,与应用程序无关的,与技术无关和不过时的特点。本文强调的准则可以帮助开发者深层分析测试方案中的代码。这种能力已经被证明在多个自动化项目上是有效的。  “自动化 ...
  一个良好的自动化测试框架应该具备灵活的,与应用程序无关的,与技术无关和不过时的特点。本文强调的准则可以帮助开发者深层分析测试方案中的代码。这种能力已经被证明在多个自动化项目上是有效的。  “自动化框架”这个术语已经为软件测试领域所熟知。尽管很多人都把它与应用在基于UI自动化的技术联系起来,但是它几乎总是被滥用于那些参与测试领域。这大部分的原因是由于大家对自动化框架的应用领域有误解。它应该不仅仅像Coded UI那样,只是一个单纯的UI技术。  现在,市场上有很多商业性的和开源的测试自动化框架。使用这些框架的主要问题在于调整他们的学习曲线和满足自动化项目的要求的困难性。虽然有一些广泛应用的遗留框架,但是他们还是有很多缺点。  他们缺乏灵活性,再使用昂贵的第三方产品——或者,添加一个单纯的现有用户界面技术,但不提供额外的价值。  一个良好的自动化测试框架应该具备灵活的,与应用程序无关的,与技术无关和不过时的特点。它应该支持一个易于安装和使用的结构化和模块化的编程模型。说“易于使用”,我们是假设和期望用户是有经验的软件开发人员。自动化是发展和正确的软件工程技能,对于计划和成功得实施一套自动化是有需要的。  开发一个基于UI功能自动化系统背后的想法是,运用这一框架来提高代码的可重用性、稳定性和可维护性。该代码应该是容易编写、调试、部署和运行,发生失败应该易于分析。不管你使用Ranorex,Coded UI,Telerik或Selenium  作为底层自动化技术,设计和实现自动化的解决方案都应该是相同的。我们选择去建议和实施的范式和模式是任何开发项目的最佳实践,但他们对于UI自动化尤其有用。  我们已经在外面公司对几个不同的项目创建了自动化框架。在一些类似的模式中,我们可以提取其中的相同之处。这些项目的主要问题与方法和可重用性的不同相关。除此之外,不同的团队通过使用不同的自动化工具来测试应用程序功能,这也导致了整体的难度。  一般来说,一个自动化框架可以被定义为一套可以为自动化软件测试提供支持的假设、概念和工具。它有以下的功能:  ?定义自动化测试脚本的方法  ?提供建立联系机制SUT(测试系统)  ?执行测试和报告结果  ?减少自动化项目启动时间  ?建立一个共同的标准  基本原则  让我们假设我们有一个具有丰富的用户界面和大量的控制的复杂的应用程序,但它只有两个屏幕。应用程序是复杂的事实可能意味着它可以有几十个手动功能测试例子。所有这些使用相同的两个屏幕。那么,我们怎样才能增加这样的测试解决方案的可维护性  分层架构模式  把软件系统体系结构分解为单独的一层的想法是非常普遍的。第一个是逻辑展示层面,,第二个是业务逻辑层面,第三个层次是负责数据存储。使用这种模式可以降低应用程序的维护成本从每一层内的组件可以改变而不影响其他的水平。同样的方法可以应用于测试系统。  测试代码可以分为三层:  ·为UI自动化工具访问被测系统的接口层  ·逻辑功能层  ·测试用例层  每一层执行某项任务时都有一个降低测试的费用维护和促进创造一个新的测试的共同的目标。  图1:架构原型,测试系统的多层体系结构
123下一页

鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部