论文部分内容阅读
构件软件在其生命周期中会经历多次演化,在演化过程中会对构件系统进行修改。要验证修改的正确性和新系统的可靠性,就必须对构件系统重新执行测试。构件系统回归测试只需要测试受演化修改影响范围内的构件,而且能够大量复用先前测试用例,因此可以节省大量测试时间和成本。 本文提出构件系统的回归测试不是仅仅测试被修改的构件本身,而是验证被修改构件能否与相关联的构件正常交互,以符合用户的系统业务需求,这是一种建立在原有集成和系统测试基础上的重新测试。构件系统回归测试的核心问题是:研究构件之间的依赖关系,提取与被修改构件有依赖关系的构件,然后选择和新建测试用例,覆盖测试这些受影响的构件。 因此,本文提出一种基于事件机制的构件模型,以事件作为构件之间发生联系的关键点,在模型的基础上,研究事件发生的因果和时序,定义事件的依赖关系,通过事件依赖建立构件的依赖关系,再对整个构件系统作依赖性分析。当构件系统发生演化修改时,在构件系统依赖图上进行波动分析,提取受修改影响的构件以及构件之间的依赖,作为回归测试的对象。然后,在模型的构件系统协作图上分析测试路径,选择和新建测试用例,生成回归测试用例集,满足对受修改影响的构件群体的覆盖测试。通过分析需求变动对构件的影响,建立需求-构件功能关联图,进一步对回归测试用例集约简和优化。最后,给出构件系统回归测试的多Agent框架,研究了各Agent的具体职责和实现细节的问题。 论文的主要工作表现在以下几个方面: ·建立基于事件机制的构件系统模型。该模型抽象构件系统事件发送、处理的过程,既可以描述构件系统的静态结构,也可以动态描述构件系统运行时状态的变化。作为构件关系分析和回归测试平台。 ·从事件时序和因果关系的新角度,定义了事件依赖、构件依赖、构件系统依赖图等构件系统依赖性分析的概念,并给出提取这些依赖关系的算法。 ·提出一种构件系统演化修改波动分析,在构件依赖关系的基础上分析构件演化修改的影响,划定出构件系统回归测试的构件范围,并给出波动分析算法。 ·生成构件系统回归测试用例集。提出在构件系统依赖图上分析构件关系,在构件系统协作图上提取测试路径的方法,采用不同策略选择和新建测试用例,生成构件系统测试用例集,并给出相应算法。 ·优化构件系统回归测试用例集。提出一种需求.构件功能关联图,以此来比较每个测试用例的重要性,进行测试用例的排序和约简,让受改动影响大的构件得到优先测试,并给出优化和约简算法。 ·建立构件系统回归测试的多Agent框架,为构件系统回归测试的工具实现做出基础性研究工作。