GUI软件的自动化测试

点赞:9815 浏览:42559 近期更新时间:2024-01-16 作者:网友分享原创网站原创

摘 要 :软件测试的目的是为了对软件的质量或可接受性做出判断,并发现软件存在的问题.大多数GUI软件的测试通过手工操作来完成,因此存在成本高,浪费时间等缺点.通过探讨GUI软件的自动化测试方法,比较手工测试的测试过程,得出了自动化测试的优点和缺点,并提出了GUI软件自动化测试过程中存在的问题.

关 键 词 :自动化测试;测试工具;测试指标;缺陷

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)02-0298-03

1.介绍

“自动化测试”是利用一种适当的测试工具,自动运行测试的过程.使用自动化测试工具最有效的目的是使回归测试自动化.这就意味着对可重复的详细测试用例要有或者要开发出一个数据库,每一次这个测试用例运行时,会有一个应用上的改变去确认这种变化不会产生意料之外的结果.

自动化测试反映的是经济性和可操作性.一旦实施,自动化测试通常更经济.同其他类型的测试相比,自动化测试的优点表现在:回归测试经常和快速地进行、能更好地利用资源、更容易测试属性.

尽管有这些优点,但自动化测试也有局限性.自动化测试不能取代手工测试的一些功能,因为有一些操作用手工测试来完成会更容易一些.由于软件开发的局限性,自动化测试不能提高效率.测试工具不具有想象力,也就是说测试工具只是一个软件.测试工具只会服从使用说明,但是一个测试者在测试工具运行的时候,可以发挥自己的创造性和想象力来提高这种测试,或者是背离计划或者是标注一些附加情况,以便在以后能更好地测试.

图形用户界面的手工测试有难度而且浪费时间,但是由于用户界面的广泛应用和控制组件(按钮,下拉菜单,工具栏等)的数量使它在今天的软件系统中更受欢迎,更有用.因此,GUI软件成为自动化测试的目标.

2.计算机辅助软件测试工具(CAST)

2.1工具介绍

工具是以一种更好的方式完成某些事情的手段或者自动化系统.“更好的方式”意思是:工具可以使开发更精确,更有效率或者更有生产力,可以提高产品的最终质量.在自动化测试领域内,有各种计算机辅助软件测试工具,依靠工具所结合的不同行为,工具可以分成不同的类型.

1)回顾和检查工具

这些工具帮助形成回顾,浏览和需求规格,功能设计和代码.这种要求回顾和检查支持的工具是::

复杂性的分析工具:这些工具帮助识别高风险和复杂领域.软件的复杂度以程序内决定的数量为基础,这对于测试者来说是非常重要的,因为它提供了一个测试总量的必要的说明,从而在实践中避免缺陷.

代码理解工具:这种工具帮助用户理解不熟悉的代码.用于识别受到特殊关注的区域,比如说检查区.


语法和语义分析工具:这些工具进行广泛地错误检查,发现编译器可能遗漏的错误.这些工具是独立的语言,可以分析代码,保存错误清单,提供构造信息.

2)测试计划工具

测试计划为全部测试过程提供基础,确定测试活动的来源和测试时间表.测试计划工具包括:测试计划文档的模板、测试进度和人员评估、复杂性分析员.

鉴别复杂领域的工具也可以用来定位那些影响额外测试计划的领域(这些额外测试以基本风险管理为基础).通常最大的帮助来自于软件测试文档的IEEE/ANSI标准,它描述了测试计划的目的,轮廓和测试计划的内容.

3)测试设计和开发工具

在测试计划之后将会进入一个新的过程,叫做测试设计过程.在此过程中,所有测试计划中的测试方法将会更详细.测试设计过程识别和重视相关的测试用例.测试开发是将测试设计转换成特殊测试用例的过程.应当提出的是,这一阶段,从测试工具,尤其是测试设计中是得不到太多帮助的.测试设计和测试开发所要求的工具如下:

测试数据生成工具:这种工具使基于用户自定义格式的测试数据的生成自动化.当大量的测试需要输入数据时,这些工具就很有用.

以需求为基础的测试设计工具:这些工具为需要规范化方法的用户准备,用于设计测试用例,以确保实现的系统达到了需求文档指定的格式.

4)测试执行和评估工具

测试执行和评估是执行测试用例和评估结果的过程.这些工具被用于自动运行选择的可执行的测试用例,和用来计算这种工作的有效度.自动测试执行工具对于解决大量的测试是必要的.测试执行和评估所需的工具如下:

抓取和播放工具:这些工具抓取测试输入,数据和包括键盘、鼠标活动在内的动作,同时也能够执行自动化播放,因此测试在稍后的时间内可以很容易地重复进行.这能让手工测试者从反复的手工测试中解脱出来.差异被报告给测试组,同时抓取的数据帮助测试组追踪差异,直到找出最初的原因.使用抓取/播放工具的问题就是:实现这些测试的自动化需要某些稳定性.自动化测试的关键就是可维护性.这一工具的另一个问题是:使用这一工具是非常昂贵和费时的.

覆盖分析工具:在测试已经执行的情况下,这些工具测量那些没有被覆盖,需要更多测试的产品部分.这种测量可在模块或者子系统平台上执行.为保持对覆盖信息的追踪,这些类代码使源代码进入预处理程序.新的代码资源要比旧资源大的事实导致目标模块尺寸的增长.然而,即使结构测试覆盖率100%,也不能确保测试完成.

记忆测试工具:这一工具的作用就是发现存储的问题.错误在它们变得明显和引发严重问题之前能够被识别.记忆测试工具往往是语言和特殊的平台.这种工具使用简单,定价也合理.

模拟器工具:模拟器工具模拟被测试系统的运行环境.它被用来测试那些贵重的,危险的,或者是在真正的环境中不可能测试的软件.比如说测试航空或者核反应堆的控制软件.

执行工具:执行工具决定系统的执行能力.这些工具使产生,控制和分析客户应用系统的测试变为可能. 2.2工具选择

为了使自动化测试有效,或者提高软件的质量,应当特别注意对测试工具的选择,选择的测试工具最好适合测试需要.选择测试工具时应当考虑下列因素:

兼容性:选择能够自动化测试的测试工具,也就是说,测试工具必须支持系统中的平台有效.为了测试结构有效,管理测试数据和脚本,测试工具必须具有所有必需的关键特性.同样测试工具也应该支持设备建立测试用例,例如创建目录和删除文件.

维护性:与改变软件相比,维护测试用例更容易.维护工作的减少,不仅依靠定义明确的程序,而且也依靠测试工具的功能性.例如有些工具与其他工具相比,对软件类型的频繁改变不太敏感,这就让基础脚本的编辑更容易.

学习性—实用性:这就要求掌握这种工具不能花费太多时间.工具应当是容易使用的,或者它的特性不应该是麻烦的和困难的.文档,脚本语言和测试工具的界面就是影响实用标准的因素.

可靠性—连续性:确保工具能够正常的工作,因为有些工具开发商并没有进行很好的测试,从而导致失败可能会经常发生.

3.GUI软件的自动化测试

在使用GUI的情况下,为了创建自动化测试用例,需要测试工具和测试对象.该文选择Telelogic Tau公司的MSC编辑器(version3.4)作为测试用例.

3.1测试工具选择

GUI最好的测试工具看起来是抓取/播放工具,因为研究的目的就是关注GUI测试问题.为了选择好的抓取/播放工具, 对比了三种不同的工具.这些工具是:Software Research Inc.的TestWorks,Vermont Creative Software的HighTest和Mercury Interactive Inc.的WinRunner/XRunner.

在选择工具之前,有些测试已经在Microsoft Notepad上完成.当产生测试和用测试工具辅助执行时,有些因素必须纳入考虑范围:平台支持,测试用例准备,维护性,错误校正,测试管理,调试,学习曲线和可靠性/可用性.

GUI软件的自动化测试参考属性评定
有关论文范文主题研究: 关于自动化的论文范本 大学生适用: 专升本论文、学术论文
相关参考文献下载数量: 19 写作解决问题: 如何怎么撰写
毕业论文开题报告: 论文提纲、论文选题 职称论文适用: 刊物发表、职称评副高
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 经典题目

由TestWorks提供的功能是非常有限的,而鼠标的活动是不能忽视的.使用这一工具的另一个问题是:没有好的文档记录.

HighTest有好的文档记录,而且功能要比TestWorks更强,但是HighTest的主要问题是:错误报告分析起来比较困难,同时也不支持Unix平台.

最好的选择就是WinRunner/Xrunner,它提供了广泛的功能,也有很好的文档记录.WinRunner/XRunner的错误报告使分析和定位错误更容易,而且也支持所有的平台.这种工具对于Telelogic公司来说是最适当的选择,但是在这些工具中,它也是最贵的一个.

3.2测试用例产生

通过WinRunner为MSC编辑器创建测试用例时,有些问题也就随之出现了.创建测试用例时,遭遇了第一个问题,它可能按照目前的编辑器状况,来检查菜单项目的可选择性或者模糊度.这些测试用例不能够按照所需求的那样工作.

创建菜单测试时产生了另一个问题:当主要构造改变时,更新一个单一的表格要比编辑大量的测试用例更容易.WinRunner的作用主要用于储存信息.

此外,在编辑器的弹出菜单中没有生成测试用例.它可能需要花去一些时间,来产生需要进入弹出菜单的功能,因为WinRunner并不支持弹出菜单的测试.

3.3 测试指标收集

进行案例研究时,指标包括创建,运行和更新测试用例的时间以及发现的缺陷的数量.案例研究开始之前,手工测试的相应指标的收集已经完成.

1)时间