[发明专利]一种用功能图分析软件功能变更及其影响的方法有效
申请号: | 201210286848.6 | 申请日: | 2012-08-13 |
公开(公告)号: | CN102831057A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 于秀山;王建伟;许峰;宋炎淼;于长钺;杨豹;董昕;刘然;刘怡静;黄忠见;迟芳 | 申请(专利权)人: | 于秀山 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京康盛知识产权代理有限公司 11331 | 代理人: | 张良 |
地址: | 100036 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用功 分析 软件 功能 变更 及其 影响 方法 | ||
技术领域
本发明涉及一种软件测试方法,具体涉及一种用功能图分析软件功能变更及其影响的方法。
背景技术
软件变更是软件生存周期中不可避免且十分频繁的一种行为,软件变更后原有软件将受到不同程度的影响,其中有些影响是显而易见的,称为显性影响,有些影响是潜在的,难以从表面识别,称为隐性影响。软件变更影响分析是确定这些变更对软件所造成的显性特别是隐性影响,为软件测试、维护等提供技术支持。
20世纪80年代以来,GUI(图形用户界面)技术得到了广泛应用,GUI软件在给用户带来直观、简便的同时,其本身所具有的输入/输出图形化、事件驱动、事件触发随机性、多任务以及消息传递等特性,使软件功能变得越来越复杂。此外,目前大多数GUI软件都是采用快速原型方法开发的,软件版本变更频繁。软件功能的复杂性导致软件功能的每一处变更,都将对与此功能相关的其他功能带来显性和隐性影响,隐性影响难以直接、直观地识别出来,因此,在回归测试时,只能凭经验设计测试用例,难免造成测试用例的遗漏、重复和冗余,严重影响回归测试的充分性和测试效率。
在变更影响域分析领域,有代表性的研究如下:
1.面向过程分析方法
传统的变更影响分析技术是针对面向过程程序而提出的,这些方法采用程序依赖图对程序进行分析,运用控制依赖和数据依赖来表现程序节点间的依赖关系。控制依赖是从程序控制结构中提取出来的软件运行时序逻辑关系;而数据依赖则是从数据声明中提取出来的数据定义-引用关系。
使用这种程序依赖图可以很好地描述面向过程程序中的程序逻辑,但对于面向对象软件中以对象为基础的程序逻辑,这些方法不能很好处理因面向对象中的多态性而产生的间接依赖关系。
2.基于类依赖图方法
近年来,针对面向对象程序特点,有些学者将变更影响分析技术运用于面向对象软件中,提出了通过类依赖图分析变更影响的方法。这种方法粒度过粗,导致分析结果准确度不高。
上述两种方法都是以源代码为分析对象,根据源代码变更情况,找出受源代码变更影响的其他源代码。采用这些方法,能够找出代码变更影响域,但由于软件代码与功能不是简单的对应关系,因此,即使知道了受变更影响的代码,也无法得知受影响的功能。为了覆盖受变更影响的源代码,测试人员还需要花费一定的精力阅读代码,才能设计出覆盖变更影响域的回归测试用例,从而影响回归测试的效率。
软件功能是软件的精髓,用户通过软件所提供的功能完成指定的任务,相对于代码而言,软件功能更加直观,因此,从功能层面分析软件变更影响域将更加直观和简便,而已有的方法难以有效解决这个问题。
发明内容
本发明所解决的技术问题是提供一种用功能图分析软件功能变更及其影响的方法,主要解决如何从软件功能层面分析软件变更影响域,从而提高变更影响域分析的直观性、充分性和效率。
技术方案包括:
一种用功能图分析软件功能变更及其影响的方法,包括:
构建软件功能图;通过对被测软件进行分析,找出软件所有的功能以及功能之间的关系;
分析控件变更影响;通过比较新旧版本软件功能图,找出新旧版本功能差异及差异影响;
分析代码变更影响;通过比较新旧版本软件源程序代码,找出代码变更 部分,根据代码变更情况,采用方法依赖图找出受代码变更影响的代码;
控件与代码映射;通过分析源程序代码,采用代码与界面控件映射方法,找出变更代码所对应的软件功能,将代码变更转化为功能变更;
分析功能变更影响域;根据功能变更和代码变更所影响到的软件功能情况,采用深度搜索算法,找出经过功能变更点的所有功能。
进一步,软件功能图构建具体包括:
词法和语法分析;采用类编译原理技术,对被测软件源代码进行词法和语法分析,通过分析得到抽象语法树和符号表;
图形用户界面GUI控件辨识;采用深度优先搜索技术,遍历抽象语法树和符号表,得到源代码中所有的GUI控件;
软件功能图生成;根据GUI控件之间的相互关系,通过对GUI控件分析,生成完整的软件功能图。
进一步:在控件变更影响分析中,针对新旧版本两个软件,首先生成软件功能图G1和软件功能图G2,而后通过比较这两个软件功能图,标识出发生变化的控件,最后根据标识出的控件找出受变更影响的其他控件。
进一步,代码变更影响分析的步骤包括:
构建方法依赖图和方法变更影响传递图,将方法依赖转换为方法变更影响传递;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于于秀山,未经于秀山许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210286848.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:发动机平衡轴的锻造方法
- 下一篇:纸币图像的切割和错位校正方法