[发明专利]图形用户界面软件自动测试方法及装置有效
申请号: | 201510104605.X | 申请日: | 2015-03-10 |
公开(公告)号: | CN104699608B | 公开(公告)日: | 2017-10-27 |
发明(设计)人: | 于秀山;刘然;于长钺 | 申请(专利权)人: | 于秀山 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京众合诚成知识产权代理有限公司11246 | 代理人: | 龚燮英 |
地址: | 100036*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 用户界面 软件 自动 测试 方法 装置 | ||
技术领域
本发明涉及软件功能测试技术领域,尤其涉及一种图形用户界面软件自动测试方法及装置。
背景技术
图形用户界面软件以其操作简单、直观、方便得到广泛应用,与嵌入式软件相比,图形用户界面软件设计了很多的界面元素,用户通过操作界面上的元素,实现规定的功能。图形用户界面软件包含很多的窗口,每一个窗口中又包含很多元素,这些窗口和其中元素的不同组合构成了软件不同的功能。为了对这种软件进行测试,至少要覆盖这些软件功能,然而,图形用户界面软件中窗口和元素的多样性以及组合的复杂性,导致软件功能数量庞大,测试工作量巨大,并且,在测试过程中,容易重复和遗漏软件功能。
目前,在软件功能测试领域,一类有代表性的是基于录制/回放的功能测试工具,如WinRunner、QTP。这类工具通过录制用户的操作,以脚本的方式记录测试过程,在回归测试时,回放测试脚本,从而对软件自动进行测试。这类工具只是记录了测试人员的操作,测试用例的设计仍然需要测试人员手工完成,测试用例质量依赖于测试人员的经验。另一类有代表性的是基于需求的测试用例设计,或需求驱动的测试用例设计。这种方法主要是通过分析软件需求规格说明等相关文档,获取软件信息,根据这些信息设计测试用例。这种方法具有一定的理论价值,但在具体应用中存在如下问题:1、软件需求需要测试人员根据软件需求规格说明等文档手工产生,工作量大;2、软件需求经常发生变化,软件需求和最新版本的软件难以同步更新,导致软件需求过时,软件需求的准确性和一致性差;3、难以实现自动化。由于软件需求规格说明是用纯文字的方式表述的,是非形式化的,因此,难以自动获取相关信息。一些能够实现测试用例设计自动化的方法要求软件需求是用形式化语言,如UML描述的,而要将软件需求用类似UML的形式化语言进行描述,其工作量很大,这也是这种方法目前难以实用的根本原因。
有鉴于此,为填补现有软件测试技术领域的自动化测试技术的空白,并且针对图形用户界面软件的功能测试中存在的技术问题,有必要提供一种新的自动测试方法及装置,通过自动生成测试用例以对图形用户界面软件进行快速、准确、高效地自动测试。
发明内容
为了解决上述问题,本发明提供的一种图形用户界面软件自动测试方法及装置,通过自动生成测试用例以对图形用户界面软件进行快速、准确、高效地自动测试。
本发明提供了一种图形用户界面软件测试方法,包括:S1、对图形用户界面软件进行分析,通过图形用户界面中的界面元素获取该软件的功能需求并且提取界面元素的边界值;S2、根据获取的该软件的功能需求和界面元素的边界值生成测试用例;S3、通过测试用例自动测试图形用户界面软件的各项功能。
作为一种实施例,所述步骤S1进一步包括:S11、通过分析被测软件界面元素,获取软件界面元素组成及其属性;S12、通过对被测软件源代码进行分析,得到界面中包含的输入元素及其取值范围;S13、根据软件窗口调用关系,生成软件功能图,并采用深度优先搜索技术,遍历功能组成图,得到每一条软件功能路径;S14、根据每一条功能路径,找到路径节点所包含的窗口及窗口界面中的输入元素及其边界值。
作为一种实施例,所述步骤S11进一步包括:S111、获取被测软件用户界面窗口句柄,并通过当前窗口句柄构建窗口中元素树的根节点;S112、使用Microsoft UI Autoamtion框架提供的获取窗口界面控件树的TreeWalker类对窗口中的对象进行遍历和条件化查询,调用TreeWalker类中的函数TreeWalker.ControlViewWalker.GetFirstChild(rootElement)和TreeWalker.ControlViewWalker.GetNextSibling(elementNode),采用深度遍历算法递归构造以当前窗口为根节点的元素树,以获取窗口中所有元素信息。
作为一种实施例,所述步骤S12进一步包括:S121、通过对被测软件源代码扫描及分析,找出涉及软件所有输入的代码文件;S122、从代码文件中得到每个代码文件的语法树结构;S123、根据语法树结构,精确定位输入字段所涉及的代码位置,以分析得出字段的输入范围及类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于于秀山,未经于秀山许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510104605.X/2.html,转载请声明来源钻瓜专利网。