[发明专利]用于基于框架的应用程序的回归测试选择方法和装置有效
申请号: | 200910265277.6 | 申请日: | 2009-12-28 |
公开(公告)号: | CN102110048A | 公开(公告)日: | 2011-06-29 |
发明(设计)人: | 黄胜;朱俊;李少春;李中杰;朱玮;谈华芳;刘鹤辉 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;张亚非 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 基于 框架 应用程序 回归 测试 选择 方法 装置 | ||
技术领域
本发明涉及计算机领域,具体涉及计算机程序的测试,更具体涉及一种用于基于框架的应用程序的回归测试选择方法和装置。
背景技术
选择性回归测试涉及使用整个测试套(test suite)的子集来重新测试软件系统的应用程序,以验证对应用程序的修改没有对符合需求规范的现有功能造成不利影响。回归测试选择就是指从原来的整个测试套中选择用于重新测试的测试用例。用于传统的商业Java应用的传统回归测试选择方法通过获得经历纯Java代码的变化点的测试用例来生成回归测试套。在这种方法中,使用运行踪迹监视(execution trace monitor)技术来获得应用的运行踪迹,并使用诸如程序依赖图(Program Dependence Graph)、路径分析、数据流、图遍历(Graph Walk)、防火墙等静态程序分析技术来分析程序修改的影响,从而得以判断每个测试用例是否经历了受修改影响的功能,并进而选择需要进行重新运行的测试用例。
这种传统的回归测试选择方法仅适用于传统的Java应用,其中应用的逻辑仅存在于在代码中。然而,在目前流行的基于框架的应用程序-例如J2EE应用中,应用逻辑不仅存在于代码中,而且存在于框架配置文件(例如,Spring,Struts,iBatis等框架的配置文件)中。对于基于框架的应用程序来说,对程序的修改既可能发生在程序代码中,也可能发生在配置文件中。因此,回归测试用例的选择不仅应当考虑代码中的变化及其影响,而且应当考虑到配置文件的变化及其影响。而现有的回归测试选择技术只能处理代码中的变化,而不能处理配置文件中的变化。因此,现在的通常做法是当发生配置文件中的变化时,重新运行全部测试用例,这将造成耗费大量测试时间和测试资源;或者,人工选择回归测试用例,这不但很耗时,而且覆盖性较差,而很可能遗漏了那些应该进行重新测试的测试用例。
发明内容
根据本发明的一个方面,提供了一种用于基于框架的应用程序的回归测试选择方法,所述应用程序包含程序文件和配置文件,所述方法包括:在应用程序修改前,通过分析应用程序的配置文件提取框架配置模型实例,所述框架配置模型实例描述了该应用程序的框架配置中的各配置节点以及各配置节点中包含的代码单元之间的关系;通过对该应用程序的测试用例的运行使用踪迹监视,构建测试用例的调用流,所述调用流包括测试用例运行过程中所经历的程序文件中的代码单元以及代码单元之间的控制流关系;以及通过将所述框架配置模型实例中的配置节点与所述测试用例的调用流中的代码单元相关联,获得测试用例的扩展调用流。
根据本发明的另一个方面,提供了一种用于基于框架的应用程序的回归测试选择装置,所述应用程序包含程序文件和配置文件,所述装置包括:框架分析器,用于在应用程序修改前,通过分析应用程序的配置文件提取框架配置模型实例,所述框架配置模型实例描述了该应用程序的框架配置中的各配置节点以及各配置节点中包含的代码单元之间的关系;测试特征提取引擎,用于通过对该应用程序的测试用例的运行使用踪迹监视构建测试用例的调用流,所述调用流包括测试用例在运行过程中所经历的程序文件中的代码单元以及代码单元之间的控制流关系;以及节点/代码单元关联引擎,用于将所述框架配置模型实例中的配置节点与所述测试用例的调用流中的代码单元相关联,获得测试用例的扩展调用流。
本发明的技术方案通过考虑配置文件的变化的影响增强了回归测试选择,使得所选择的回归测试套具有良好的覆盖性,更为全面和实用,从而便利了基于框架的应用程序的回归测试。本发明的技术方案适用于各种框架,并可通过对不同框架的配置文件的处理自动选择回归测试用例,而不需要人工进行选择。
附图说明
所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是,通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身以及其优选使用模式、目标、特征以及优点,在附图中:
图1示意性地例示了一个典型的J2EE应用以及配置文件中的修改对程序测试运行的影响;
图2示出了根据本发明的实施例的用于基于框架的应用程序的回归测试选择方法的流程图;
图3示意性地示出了根据本发明的实施例的用于基于框架的J2EE应用的回归测试选择方法;
图4示出了框架配置模型实例片段的示例;
图5A例示了使用现有的踪迹监视技术生成的测试用例的调用流;
图5B例示了使用本发明的关联步骤生成的测试用例的扩展调用流;以及
图6示出了根据本发明的实施例用于基于框架的J2EE应用的回归测试选择装置。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910265277.6/2.html,转载请声明来源钻瓜专利网。