• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

基于GUI的自动化测试工具

发布: 2008-5-28 09:46 | 作者: 网络转载 | 来源: 网络转载 | 查看: 645次 | 进入软件测试论坛讨论

领测软件测试网 引言

基于GUI的自动化测试工具在软件测试自动化领域发挥着巨大的作用。它的基本原理是在测试者运行应用程序的同时,把他的所有动作,包括键盘操作、鼠标点击等捕获下来,生成一个脚本文件,这个脚本以后可以被“回放(playback)”,也就是按照上一次的所有动作重复执行一遍,实现自动运行和测试。在实际测试过程中,通常脚本按同一动作连续执行的意义并不大,而是要根据测试需求进行一些必要的修改,如选择不同的测试数据、脚本中插入检查点(check point)进行跟踪调试等等。所以自动测试如果能够高效地执行,还依赖于前期需要做充分、周密的准备和定制工作。

由此我们知道,在测试设计时手工测试与自动测式相互结合、相互补充这个度的把握,将直接影响到能否达到最大的测试效率。本文将重点讨论对于一个基于GUI自动化测试工具,如果能够灵活、方便、高效,替代大量手工测试工作,它所应具备的最基本和最关键特征有哪些,希望能够帮助我们在工具选购时提供更多的参考。

 

基于GUI自动化测试工具的问题

首先我们从最简单的测试捕捉、回放(record and playback)过程入手,引出其中存在的一些问题,那么能否解决这些问题,就是我们在选购工具时应该重点关注的方面,

基本的捕捉、回放过程在实际应用中会存在很多问题,最直接的一个问题是测试针对程序界面进行,一旦界面有任何改动,都需要我们去手工修改已录制好的相应测试脚本,或者重新进行一次录制。由其对于程序中各模块都要使用的一些公共程序部分(如用户登录界面),它的改动会引起我们大量测试工作的返工,造成测试脚本的日常维护工作量急剧增大。

那么如何解决这个问题?这里涉及到很多自动化测试方面的技术。首先我们可以在被测应用程序和录制生成的测试脚本之间增加一个抽象层,他可以将程序界面上的所有元素映射成相对应的一个逻辑对象,测试就可以针对这些逻辑对象进行,而不需要依赖于界面上元素的变化。再有,建议把一些公共使用的函数进行封装,做成可重用的函数库。最后,可以把测试执行过程中所需的测试数据做成文件形式,测试脚本在运行时能够随时从此文件读取预先定制好的数据,这样脚本和数据可以独立维护。从以上几个典型的解决方法我们可以看出,一个好的自动化测试工具其实与一个好的开发工具有很多相似的特征,也就是说,一个自动化测试过程实际也是一个软件开发的过程。

以上是自动化测试普遍存在的问题,那么在选购工具时,如何确保这些问题的很好解决呢,下面就进一步阐述作为自动化测试工具,它的十二条关键特征。

 

1 支持脚本化语言(scripting language)

这是最基本的一条要求,脚本语言具有与常用编程语言类似的语法结构,可以对已录制好的脚本进行编辑修改。具体来讲,应该至少具备以下功能:

支持多种常用的变量和数据类型

支持数组、列表、结构,以及其它混合数据类型。

支持各种条件逻辑,(IF、CASE等语句)

支持循环(FOR、WHILE)

支持函数的创建和调用

当然如果此工具使用如大家都比较熟悉的如VB、C等通用语言,测试就更方便了。脚本语言的功能越强大,能够为测试开发人员提供更灵活的使用空间,而且有可能用一个复杂的语言能够写出比被测软件还要复杂得多的测试系统。所以,我们必须首先确信脚本语言的功能是否可以满足我们测试的需求。

2对程序界面中对象的识别能力

测试工具必须能够将程序界面中的所有对象都区分并标识出来,录制的测试脚本才具有更好的可读性、灵活性和更大的修改空间。如果只支持通过位置坐标来区分对象,它的灵活性就要差很多了。

对于用一些比较通用的开发工具写的程序,如PB、DELPHI、MFC,大多数测试工具都能区分和标识出程序界面里的所有元素,但对一些不太普及的开发工具或库函数,工具的支持会比较差,因此在测试工具选择方面,对开发语言的支持也是很重要的一项。当然程序难免会存在一些比较难于标识的对象,如位图对象(bitmap)等,而这些对象在程序中可能还要完成一些功能或者执行相应的操作,那么在软件设计阶段就应该仔细考虑,是一定要这样实现软件功能,还是要保证软件的可测试性,或者采取一些折衷处理方法。

3支持函数的可重用。

如果支持函数调用,我们可以建立一套比较通用的函数库,一旦程序做了修改,我们只需把原脚本中的相应函数进行更改,而不用把所有可能的脚本都改动,可以节省很大工作量。

测试工具在这项功能上的实现情况,有两点要注意的,首先要确保脚本能够比较容易地实现对函数的调用,另外还要支持脚本与被调函数之间的参数传递。比如对于用户登录函数,每次调用时可能都需要使用不同的用户名和口令,此时就必须通过参数的传递将相关信息送到函数内部执行。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: gui GUI 工具 自动化

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网