[发明专利]图形用户界面软件功能覆盖测试方法有效
申请号: | 201010270415.2 | 申请日: | 2010-09-02 |
公开(公告)号: | CN101916225A | 公开(公告)日: | 2010-12-15 |
发明(设计)人: | 于秀山 | 申请(专利权)人: | 于秀山 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京康盛知识产权代理有限公司 11331 | 代理人: | 张良 |
地址: | 100036 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 用户界面 软件 功能 覆盖 测试 方法 | ||
技术领域
本发明涉及一种图形用户界面(GUI)软件功能测试技术,尤指GUI软件功能覆盖测试方法。
背景技术
对软件进行充分测试是软件测试的根本要求,覆盖测试是衡量测试充分性的主要标准。软件覆盖测试研究最早是围绕测试用例对程序代码的覆盖程度而展开的,提出了语句覆盖、分支覆盖、路径覆盖等标准,并推出了商业化工具,有代表性的有英国LDRA公司的TestBed。这类工具从源程序代码的角度,采用程序插装技术,通过跟踪测试用例的执行,给出测试用例对程序代码的覆盖情况,为测试用例设计和测试充分性评价提供依据。图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)软件是采用事件驱动方式执行的,用户通过与图形的交互来触发相应的事件进而与底层的代码进行交互,因此,不能用上述方法来度量GUI软件测试充分性。
针对上述问题,国内外学者相继开展了针对GUI软件功能测试技术的研究工作,这些研究工作的重点是如何对GUI软件的功能进行测试,有代表性的有基于录制/回放的功能测试,这类工具通过录制用户的操作,以脚本的方式记录测试过程,在回归测试时,回放测试脚本,从而对软件自动进行测试。这种方法只记录了控件的位置和编号等信息,这些信息可以保证在脚本回放时能够准确找到相应控件,但对于测试人员而言,这些信息可读性差,从这些信息中,测试人员难以找到对应的控件,并且,也无法得知控件之间的相互关系;在功能覆盖测试领域,有代表性的有Coverage Criteria forGUI Testing(Atif M.Memon)。在这些研究报告中,Atif M.Memon提出了事件覆盖、事件交互覆盖、长度为n的事件序列覆盖、调用覆盖、调用终止覆盖五种GUI软件测试覆盖准则。这种覆盖标准对于指导测试具有重要的理论价值,但在具体应用中还存在如下问题:
(1)软件所具有的所有功能以及功能之间的交互(功能图)需要手工获取。软件功能图是功能覆盖测试的基础和依据,目前所提出的方法中,功能图只能由测试人员根据软件需求规格说明等文档手工产生,工作量大、准确性差;
(2)测试过程跟踪采用事件插装的方法实现,代码膨胀率高;
(3)无法直观显示覆盖情况;
(4)不能够对测试用例进行优化。
GUI软件功能繁多、组合复杂,通过上述方法,测试人员难以准确掌握软件的所有功能,难以遍历软件的这些功能,无法得知测试用例对软件功能的覆盖程度,容易造成功能点的重复和遗漏,严重影响了测试质量和效率。
发明内容
本发明所解决的技术问题是提供一种图形用户界面软件功能覆盖测试方法,解决了软件功能图自动生成问题。
技术方案如下:
一种图形用户界面软件功能覆盖测试方法,包括:
通过对被测软件进行分析,找出软件所有窗口之间调用关系、每一个窗口内部所包含的事件及其相互关系以及窗口之间的事件交互关系,并根据事件在测试过程中所起的作用对事件交互图进行简化;
对测试过程进行跟踪,捕获所述被测软件执行过程中所经过的窗口和事件,并根据捕获的所述测试用例的执行信息生成软件操作图;
对测试用例进行优化,根据测试用例测所覆盖的事件和事件路径等信息,剔除重复和冗余的测试用例;所述测试用例根据所述被测软件设计,在测试过程中,通过执行所述测试用例对所述被测软件进行测试;
将所述软件操作图与所述事件交互图进行比对,在所述事件交互图上标识出已覆盖的事件和事件交互,同时,给出测试覆盖统计结果;
判断是否满足覆盖标准,根据测试覆盖统计结果,判断是否满足设定的测试覆盖标准;若满足,则停止测试;否则,跟踪新的测试用例执行情况。
进一步:所述被测软件的信息分析是通过识别图形用户界面GUI软件中控件,在构建窗口调用关系图和窗口内事件关系图的基础上得到被测软件的事件交互图,并对事件交互图进行化简。
进一步:所述被测软件的信息分析的过程包括:
识别GUI软件中控件;
构建窗口调用关系图;
生成窗口内事件关系;
得到被测软件的事件交互图,内容包括控件的名称、属性和相互关系;
对事件交互图进行化简。
进一步:所述事件包括输入/输出性事件、系统交互事件、结构操作事件和无关联事件。
进一步:根据事件在测试过程中所起的作用对事件交互图进行简化时,根据对GUI软件窗口中的事件进行分类,去除不需要的事件之间的交互。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于于秀山,未经于秀山许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010270415.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:表单统计方法和装置
- 下一篇:DMR数字集群分组数据无线接入实现方法