GUI自动化测试的前途在哪里?

降低自动化测试的门槛是很多自动化测试工具提供商努力的目标。尤其是对于图形界面的自动化测试,就更是这样。 于是,“录制与回放”就成了图形界面自动化测试的主流。不论是 Web 界面的,还是基于 Windows API 界面的,还是 Java GUI 界面的,“录制与回放”的工具,不论是商用的,还是开源的,都不少。在技术上,大家也在“录制”上下足了功夫。 录制就需要先识别。现在 Web 页面的显示技术在向基于客户端的软件的界面靠拢,于是工具要识别各种动态界面的不同组件,不同编程语言实现的动态效果。你能够适应 .NET 和 ASP 编写的界面,我可以使用动态的 Javascript, AJAX。 Web 的动态显示技术层出不穷,先是基于服务器端的动态页面显示,再后来又可以把代码传送并放到客户端来由浏览器解释了再动态显示,现在又可以局部更新页面的部分信息,很多页面又开始使用 Flash ,Flash又逐渐被放弃等等。

于是,如何自动识别这些动态的显示技术,并保证录制与回放的正确,就成了各个自动化测试工具厂商最求的目标。也就是基本上是在跟着动态显示技术发展的屁股后面跑。然而“录制与回放”有一个大问题,就是“录制”下来的脚本的维护问题。Web 界面的变化是非常频繁的。通常市场部门的一个反馈,界面就要做比较大的调整,而这个调整,会导致之前“录制”好的脚本的重用性变得很差。 需要维护。 如果不想维护,再录制一遍的话也会造成人力的浪费。 毕竟,脚本和真正的程序代码虽然都是编程的产物,但人家代码是公司研发的最终产品,是可以卖钱的;脚本只是测试的一个中间环节,脚本执行的结果才是我们测试人员想得到的东西,花费很大力气来维护一个中间产品,任何一个研发部分都要好好考虑一下投入与产出是否值得了。可维护性差是“录制与回放”技术需要攻克的技术难题。而解决这个难题,需要两方面的努力:脚本良好的封装,与 API (关键字)接口的完整定义 开发人员对于界面元素赋予唯一标示的 ID。 解决图形界面自动化脚本的可维护性,还需要开发的帮助,为界面元素提供唯一的标识。这样,不论以后界面如何变化,只要标识不变,之前的脚本一样可以复用。而良好的脚本封装是“录制与回放”几乎难以逾越的一座技术大山。“录制”决定了前期很少进行软件设计,脚本也是顺序执行的。这与预先设计完整的 API 接口,再进行脚本开发的流程是相违背的。从长远考虑,每一个软件开发企业在图形界面的自动化测试上,都应该力求向关键字编程靠拢,而不是过度的依赖自动化测试工具厂商的“录制与回放”技术。 这,才应该是图形界面测试自动化的未来。

>>戳戳,免费下载UI自动化测试工具TestWriter~(零编码、易操作)

时间: 2024-11-03 03:24:20

GUI自动化测试的前途在哪里?的相关文章

基于 SWTBot 进行 Eclipse GUI 自动化测试

背景简介 在软件开发领域,持续集成和部署对于软件测试自动化提出了越来越高的要求,基于 Eclipse 应用在这一需求中仍然占据重要的组成部分.目前主流的测试自动化工具主要以录制回放的功能为主,辅助以脚本的方式实现.然而,基于此的测试方法往往具有测试用例维护复杂,测试过程容易失败的问题,这直接影响了测试效率.SWTBot 作为 Eclipse 官网推荐的自动化测试工具,提供了专业的类库以及扩展点,在 Eclipse 应用的自动化测试中具有先天的优势. SWTBot 是基于 Eclipse SWT

GUI自动化测试中优化测试用例思维方法

1.测试脚本与数据解耦(数据驱动) 让操作相同但是数据不同的测试可以通过同一 套自动化测试脚本来实现,只是在每次测试执行时提供不同的测试输入数据. 2.页面对象模型(POM) 以页面为单位来封装页面上的控件以及控件的部分操作.而测试用例使 用页面对象来完成具体的界面操作. 3.业务流程抽象 基于操作函数的更接近于实际业务的更高层次的抽象方式.基于业务流程抽象实现的 测试用例往往具有较好的灵活性,可以根据实际测试需求方便地组装出各种测试用例.业务流程的核心思想是,从业务的维度来指导测试业务流程的封

客户端GUI测试技术和自动化测试架构设计简谈

客户端自动化特点 客户端的自动化,通常做过的人都不是很愿意深入讨论.因为除了功能和逻辑之外,不得不面对各种界面变化,各种和环境交互,各种兼容问题以及想不到灰色地带,就算这样,也找不到太多有效的bug.然而即便如此,客户端的自动化必须去做,尤其是GUI的.它的自动化特点是: 复杂 成本高 不容易发现问题 技术要求高 架构很难通用 下面,从一些基本的东西开始一点点的讨论客户端GUI测试的一些问题和处理办法,以及自动化架构设计的一些思路.事实上就像上面说的,GUI的测试并不是为了发现bug,而是回归的

谈自动化测试框架思想与构建

序言:也许到现在大家对所谓的"自动化测试框架"仍然觉得是一种神秘的东西,仍然觉得其与各位很远:其实不然,"自动化测试框架"从理念来说,并不复杂,但其之所以神秘,是因为其运用起来很是复杂,每个公司,每个部门其产品线,其运作流程都是不同的,所以就导致了在想运用"自动化测试框架"去完成自动化测试时产生了很多不定因素,导致了很多自动化测试项目的失败,让人对"自动化测试框架"开始敬而远之. 而自动化测试发展也有一段时间了,为什么到现在虽

开发者常用的10大GUI测试框架

1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地启动,探索和控制应用程序.开发者可通过脚本和编译代码两种方式来使用Abbot框架,这就是为什么它被认为是在开发者的系统测试和QA的功能测试中都能用到的最完美的GUI测试工具. 2.EggPlant - GUI自动化测试工具 EggPlant是一个QA的GUI自动化测试工具,它是为使专业商业软件的应用

自动化测试的7个步骤(转)

[摘要] 我们对自动化测试充满了希望,然而,自动化测试却经常带给我们沮丧和失望.虽然,自动化测试可以把我们从困难的环境中解放出来,在实施自动化测试解决问题的同时,又带来同样多的问题.在开展自动化测试的工作中,关键问题是遵循软件开发的基本规则.本文介绍自动化测试的 7 个步骤:改进自动化测试过程,定义需求,验证概念,支持产品的可测试性,具有可延续性的设计( design for sustainability ),有计划的部署和面对成功的挑战.按照以上 7 个步骤,安排你的人员.工具和制定你的自动化

自动化测试(一):自动化测试理论

什么是自动化测试: 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较.在此过程中,为了节省人力.时间或硬件资源,提高测试效率,便引入了自动化测试的概念.   自动化测试常见的误区: 1.认为录制回放就是自动化测试(自动化测试的不同层次) 2.只验证界面上的信息 3.让测试相关的材料自由组织,应妥善管理测试相关的文档和输出 4.过早或过多的自动化   自动化测试的优势和劣

开发者眼中最好的 22 款 GUI 测试工具

1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地启动,探索和控制应用程序.开发者可通过脚本和编译代码两种方式来使用Abbot框架,这就是为什么它被认为是在开发者的系统 测试和QA的功能测试中都能用到的最完美的GUI测试工具. 2.EggPlant - GUI自动化测试工具 EggPlant 是一个QA的GUI自动化测试工具,它是为使专业商业软件的

转载:开发者眼中最好的 22 款 GUI 测试工具

对于很多同学来说gui程序的测试是一个难点,所以我从网上转载了一篇关于gui测试的一篇文章,里面罗列的很多工具,大家可以尝试一下学习学习. 英文原文:22 best GUI testing tools for developer 译文来自:开发者眼中最好的22款GUI测试工具 1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地启动,探索和控制应用程