[发明专利]基于windows操作系统下的复杂控件测试方法在审
申请号: | 201310483453.X | 申请日: | 2013-10-16 |
公开(公告)号: | CN104572428A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 陆璐 | 申请(专利权)人: | 陆璐 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 金辉 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 windows 操作系统 复杂 控件 测试 方法 | ||
技术领域
本发明涉及基于windows操作系统下的复杂控件测试方法。
背景技术
近年来,随着计算机的普及,软件系统已经深入到生活的各个方面,从普通的计算机软件,到银行或超市的终端系统,甚至到手机的软件系统。对软件质量的要求也在不断提高,但现实中软件系统的质量和稳定性却不尽人意,采用有效的软件测试是保证软件质量、提高软件可靠性的重要手段。现代化的软件大都是图形界面的,即处于windows环境下,图形界面使计算机系统变得容易使用,但这也给测试带来了极大的挑战。录制/回放是大多数现代GUI自动化测试工具采用的模式,但现有一些产品和测试工具局限性很强,只能使用于某种程序语言或者某种开发平台,目前流行的测试驱动工具局限平台框架,某些只能用于老的非托管程序,某些用于托管程序,且对复杂控件无法自动化识别,只能手工修改脚本进行测试。
发明内容
本发明的目的是解决上述存在的问题,提供能自动识别并录制功能测试脚本,同时对复杂非标准控件能够自动化进行录制和识别的一种基于windows操作系统下的复杂控件测试方法。
本发明的目的是以如下方式实现的:一种基于windows操作系统下的复杂控件测试方法,包括包括录制模块和回放模块,所述回放模块包括脚本及操作控件的类库和测试运行模块,具体操作如下:①录制模块要识别windows操作系统下应用程序的状态并捕获用户的行为,并记录用户操作应用程序时的有效动作,并生成测试脚本;
②录制模块输出脚本后,通过脚本及操作控件的类库提供的操作控件的函数,将脚本中的操作控件的函数依靠操作控件的类库,转化为以DLL的形式;
③所述测试运行模块将测试脚本组装成能够通过编译的代码,并具有屏幕状态捕捉的功能,以对比测试运行的结果与预期的结果;最后自动运行生成的测试脚本,执行功能测试。
上述的基于windows操作系统下的复杂控件测试方法,所述录制模块包括对非托管应用程序的录制模块和对托管应用程序的录制模块。
上述的基于windows操作系统下的复杂控件测试方法,所述步骤①中录制模块为对非托管应用程序的录制模块,具体为用来录制用户动作的依据有被测的GUI程序发出的WinEvents和监控到的鼠标键盘操作,所述录制模块可分程序状态捕获模块和动作分析模块,所述捕获程序状态模块截获GUI程序发出的事件和监控鼠标键盘的状态,它所产生的输出是鼠标键盘消息序列和事件序列,所述动作分析模块则接收程序状态捕获模块的输入,分析鼠标键盘消息序列和事件序列,确定用户做了何种操作并生成脚本。
上述的基于windows操作系统下的复杂控件测试方法,所述动作分析模块对标准控件由时间序列分析用户的操作,而对于非标准控件则根据鼠标键盘消息序列分析用户的操作。
上述的基于windows操作系统下的复杂控件测试方法,所述步骤①中录制模块为对托管应用程序的录制模块,具体为所述录制模块包括初始化模块和动作捕获模块,所述初始化模块负责做录制前的准备工作:将被测的程序集在录制模块所在的应用程序域中运行起来,所述动作捕获模块主要负责发现用户的操作并记录脚本。
上述的一种基于windows操作系统下的复杂控件测试方法,在每一个WinEvent发生的时候,事件回调函数中的参数hWnd表示本次事件是在哪个GUI窗口上发生的,根据这个句柄调用Win32函数GetClassName可得到GUI窗口的类,依据类名便可判断出这个GUI窗口是否是标准控件;然后分别调用不同的模块来分析用户的操作。
本发明的优点:1、本发明是通过反射角度实现脚本录制与回放,能对复杂控件以简洁高效地方式来标识进行描述和识别,避免以前自动化功能测试工具手工修改测试脚本,极大加重了测试工程师工作复杂性和工作量;其次使用了统一的脚本语言,避免不同环境,不同平台脚本语言生成不一致问题,最后本测试方法还能兼顾托管和非拖管开发平台,提高测试工作效率;
2、本发明研究的是各种桌面软件开发环境下复杂控件测试方法设计,实现对托管的和非托管的应用程序进行自动化测试。在实现录制回放模块的时候,使用内嵌于操作系统中的技术,使得工具具有相当的适应性。使用通用的计算机语言C#作为脚本语言,借助C#语言的功能,开发出功能强大的脚本。本发明使用具有不变性的属性来标识控件,哪怕控件的位置移动后,不用改动脚本仍然能定位到控件。这不但使得标识控件变得简单,并且能高效地查找定位控件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陆璐;,未经陆璐;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310483453.X/2.html,转载请声明来源钻瓜专利网。