文档库 最新最全的文档下载
当前位置:文档库 › GUI自动化测试用例生成策略的研究

GUI自动化测试用例生成策略的研究

?176?系统T程与电子技术第31卷

的策略,是为了在遍历所有结点的基础上找到重复访问结点最少的解。

如果算法收敛,将会按照访问顺序生成一个事件结点的序列,该序列就是需要的日常测试用例。

基于宽度优先搜索生成树的深度回归测试用例生成策略如下:该策略利用宽度优先遍历生成树上两个结点间的简单路径对应着原图的最短路径[7],通过策略得到事件流图的宽度优先生成树以后,就可以利用该特性为目标事件生成测试用例。该策略对宽度优先生成树使用了目标驱动的逆向搜索算法。首先找到事件流图中目标事件结点v所有入边的源结点。然后利用宽度优先生成树选择每个源结点通过寻找父结点的方式逆向寻找一条到达起始结点的路径。该路径经过的结点加上目标事件结点即是该入边源结点对应的一个测试用例。目标事件结点有多少条入边,就有多少个测试用例与之相对应。这样就为目标事件结点v生成了覆盖其所有事件执行状态的一套测试用例。

2GUI自动化测试算法的测试

为了验证上述算法的性能,这里结合与MicrosoftWin—dows操作系统有着良好交互方式的MicrosoftUIAutoma—tion框架和VisualStudio2005开发平台,选择Notepad程序来对其进行相关的测试研究。

2.1测试环境

本文描述的测试选用了很多类似研究中都选用的记事本类程序的GUI作为测试输入。.因为虽然该类型的GUI规模较小,但是包含的控件类型丰富,GUI对象间的关系比较复杂,适于检查原型系统对各种控件的支持性。本文选用的测试GUI是由C#实现的开放源代码的Notepad程序,便于缺陷注入和测试,如图1所示。

图1用于测试的记事本程序

准备三个版本的Notepad程序,一个版本用作标准GUI进行事件流图建模和测试神谕的提取;另两个版本用作被测GUI,在其中注入一些缺陷,检查GUI自动化测试系统的测试能力。为了充分测试该系统的错误侦测能力,在第一个被测GUI中注入10个缺陷,如表1所示。对第三个被测GUl进行大幅度改动,去掉三个原有的菜单选项,使得在测试时系统找不到对应事件结点,以测试系统对软件大幅度变更的应急能力。

表1第一个被测GUI注入缺陷列表

注入位置缺陷描述

菜单选项File

菜单选项File

菜单选项File

菜单选项File

菜单选项Edit的子选项Cut

Font设置

About窗口中的Label

About窗口中的OK按钮

About窗口中的OK按钮

Help菜单选项的Register子选项

File选项展开后缺少SaveAs

选项

Save选项快捷键未设置

0pen选项写为OPEN

Font打开并关闭后File选项

状态变为Disable

选中文字后,剪切操作无效

字体设置无效

单词“Programmed”拼写错误

0K按钮状态为Disable

OK按钮位置被移动

期望的Register对话框没有

弹出

本测试尽量使缺陷的类型多样化,选用的程序调用了一些Windows标准窗口,故使注入的缺陷相对集中。前4个关于File菜单项的缺陷是为了更好的检测回归测试针对目标事件的测试能力。,本测试全部在WindowsXP操作系统上进行,硬件平台为IntelCore2DuoT55001.66GHz,lGRAM。

2.2测试过程和结果

在对本文实现的算法进行测试时,首先通过标准GUI将事件流图模型建立出来,同时获得一批记录GUI状态的测试神谕文件。通过逆向工程,为记事本程序获得了事件流图的DOT文档和49个测试神谕文件,即总共触发了49个GUI事件并记录了状态,总共花费时间约为2分钟。由于逆向工程建立的事件流图还有一些缺陷,所以需要进行人工补充,比如关于TextBox进行剪切、粘贴、字体设置等需要前提的操作。经过补充和修正后事件流图包含53个GUI事件。测试神谕也需要人工确认一次,看是否有遗漏的对象。接着利用建立好的事件流图进行测试用例生成,针对日常测试的蚁群算法中,比较了三种可调参数几种搭配的收敛速度和找到解的情况,如表2所示。

表2用于求解日常测试用例生成问题的蚁群

算法参数搭配的收敛速度和解

GUI自动化测试用例生成策略的研究

作者:陆永忠, 汪春, 聂松林, LU Yong-zhong, WANG Chun, NIE Song-lin

作者单位:陆永忠,汪春,LU Yong-zhong,WANG Chun(华中科技大学软件学院,湖北,武汉,430074), 聂松林,NIE Song-lin(华中科技大学机械科学与工程学院,湖北,武汉,430074)

刊名:

系统工程与电子技术

英文刊名:SYSTEMS ENGINEERING AND ELECTRONICS

年,卷(期):2009,31(1)

参考文献(7条)

1.Memon Atif M An event-flow model of GUI-based applications for testing[外文期刊] 2007(03)

2.Memon Atif M;Pollack Martha E;Lou Sofia Mary Hierarchical GUI test case generation using automated planning 2001(02)

3.Xie Qing;Memon Atif M Designing and comparing automated test oracles for GUl-based software applications 2007(01)

4.McMaster Scott;Memon Atif M Call stack coverage for GUI test-suite reduction 2006

5.Ye Mao;Feng Boqin;Lin Yao Neural networks based test cases selection strategy for GUI testing 2006

6.Memon Atif M;Lou Sofia Mary Regression testing of GUIs 2003

7.Memon Atif M;Banerjee Ishan;Nagarajan Adithya GUI ripping:reverse engineering of graphical user interfaces for testing 2003

本文读者也读过(3条)

1.路斯瑶.胡飞.LU Si-yao.HU Fei基于事件流图的用户界面测试优化[期刊论文]-测控技术2010,29(5)

2.潘春荣.伍乃骐.PAN Chun-rong.WU Nai-qi晶圆制造自动化组合设备的调度问题研究[期刊论文]-计算机集成制造系统2009,15(3)

3.江琴.刘琳岚.苏曦.蔡轲.JIANG Qin.LIU Lin-lan.SU Xi.CAI Ke基于事件权重的GUI测试路径生成方法[期刊论文]-计算机应用2009,29(5)

引用本文格式:陆永忠.汪春.聂松林.LU Yong-zhong.WANG Chun.NIE Song-lin GUI自动化测试用例生成策略的研究[期刊论文]-系统工程与电子技术 2009(1)

相关文档