基于windows操作系统下的复杂控件测试方法

文档序号:8258308阅读:310来源:国知局
基于windows操作系统下的复杂控件测试方法
【技术领域】
[0001]本发明涉及基于windows操作系统下的复杂控件测试方法。
【背景技术】
[0002]近年来,随着计算机的普及,软件系统已经深入到生活的各个方面,从普通的计算机软件,到银行或超市的终端系统,甚至到手机的软件系统。对软件质量的要求也在不断提高,但现实中软件系统的质量和稳定性却不尽人意,采用有效的软件测试是保证软件质量、提高软件可靠性的重要手段。现代化的软件大都是图形界面的,即处于windows环境下,图形界面使计算机系统变得容易使用,但这也给测试带来了极大的挑战。录制/回放是大多数现代GUI自动化测试工具采用的模式,但现有一些产品和测试工具局限性很强,只能使用于某种程序语言或者某种开发平台,目前流行的测试驱动工具局限平台框架,某些只能用于老的非托管程序,某些用于托管程序,且对复杂控件无法自动化识别,只能手工修改脚本进行测试。

【发明内容】

[0003]本发明的目的是解决上述存在的问题,提供能自动识别并录制功能测试脚本,同时对复杂非标准控件能够自动化进行录制和识别的一种基于windows操作系统下的复杂控件测试方法。
[0004]本发明的目的是以如下方式实现的:一种基于windows操作系统下的复杂控件测试方法,包括包括录制模块和回放模块,所述回放模块包括脚本及操作控件的类库和测试运行模块,具体操作如下:①录制模块要识别windows操作系统下应用程序的状态并捕获用户的行为,并记录用户操作应用程序时的有效动作,并生成测试脚本;
[0005]②录制模块输出脚本后,通过脚本及操作控件的类库提供的操作控件的函数,将脚本中的操作控件的函数依靠操作控件的类库,转化为以DLL的形式;
[0006]③所述测试运行模块将测试脚本组装成能够通过编译的代码,并具有屏幕状态捕捉的功能,以对比测试运行的结果与预期的结果;最后自动运行生成的测试脚本,执行功能测试。
[0007]上述的基于windows操作系统下的复杂控件测试方法,所述录制模块包括对非托管应用程序的录制模块和对托管应用程序的录制模块。
[0008]上述的基于windows操作系统下的复杂控件测试方法,所述步骤①中录制模块为对非托管应用程序的录制模块,具体为用来录制用户动作的依据有被测的GUI程序发出的WinEvents和监控到的鼠标键盘操作,所述录制模块可分程序状态捕获模块和动作分析模块,所述捕获程序状态模块截获CTI程序发出的事件和监控鼠标键盘的状态,它所产生的输出是鼠标键盘消息序列和事件序列,所述动作分析模块则接收程序状态捕获模块的输入,分析鼠标键盘消息序列和事件序列,确定用户做了何种操作并生成脚本。
[0009]上述的基于windows操作系统下的复杂控件测试方法,所述动作分析模块对标准控件由时间序列分析用户的操作,而对于非标准控件则根据鼠标键盘消息序列分析用户的操作。
[0010]上述的基于windows操作系统下的复杂控件测试方法,所述步骤①中录制模块为对托管应用程序的录制模块,具体为所述录制模块包括初始化模块和动作捕获模块,所述初始化模块负责做录制前的准备工作:将被测的程序集在录制模块所在的应用程序域中运行起来,所述动作捕获模块主要负责发现用户的操作并记录脚本。
[0011]上述的一种基于windows操作系统下的复杂控件测试方法,在每一个WinEvent发生的时候,事件回调函数中的参数hWnd表示本次事件是在哪个GUI窗口上发生的,根据这个句柄调用Win32函数GetClassName可得到⑶I窗口的类,依据类名便可判断出这个⑶I窗口是否是标准控件;然后分别调用不同的模块来分析用户的操作。
[0012]本发明的优点:1、本发明是通过反射角度实现脚本录制与回放,能对复杂控件以简洁高效地方式来标识进行描述和识别,避免以前自动化功能测试工具手工修改测试脚本,极大加重了测试工程师工作复杂性和工作量;其次使用了统一的脚本语言,避免不同环境,不同平台脚本语言生成不一致问题,最后本测试方法还能兼顾托管和非拖管开发平台,提高测试工作效率;
[0013]2、本发明研究的是各种桌面软件开发环境下复杂控件测试方法设计,实现对托管的和非托管的应用程序进行自动化测试。在实现录制回放模块的时候,使用内嵌于操作系统中的技术,使得工具具有相当的适应性。使用通用的计算机语言C#作为脚本语言,借助C#语言的功能,开发出功能强大的脚本。本发明使用具有不变性的属性来标识控件,哪怕控件的位置移动后,不用改动脚本仍然能定位到控件。这不但使得标识控件变得简单,并且能高效地查找定位控件。
[0014]3、本发明能对传统的Windows应用程序及.NET应用程序进行功能测试。在对传统的Windows应用程序进行录制/回放时,主要用到了 Active AccessibiIity>ffindows的消息机制和Windows钩子等技术,通过Active Accessibility中的WinEvens来记录用户的动作,对于非标准控件,则直接记录用户在非标准控件上进行的鼠标键盘操作。对于.NET应用程序,主要通过.NET的反射技术来实现录制和回放。本专利设计的测试方法能以简洁高效的方式来标识查找控件,以C#作为脚本语言,可以实现出功能强大的脚本。该方法还提供数据驱动的测试方式,即可以将测试数据和脚本分离,这样,同一个用例,可以用不同条件下的数据对应用程序进行测试。
【附图说明】
[0015]为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中
[0016]图1是本发明的架构结构示意图;
[0017]图2是本发明在录制非托管应用时的录制模块结构图;
[0018]图3是本发明在录制托管应用时的录制模块结构图;
[0019]图4是动作分析模块的流程图。
【具体实施方式】
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1