2 面向对象软件的修改影响分析 5
2.1 面向对象软件特性 5
2.2 面向对象软件的修改影响分析 6
3 基于函数调用关系图的修改影响分析算法 8
3.1 算法相关概念 8
3.2 修改影响分析算法描述 10
3.3 算法比较 15
4 基于修改影响分析算法的测试用例更新研究 17
4.1 测试用例 17
4.2 相关术语和定义 18
4.3 具体实验步骤 19
结 论 25
致 谢 27
参考文献 28
1 绪论
1.1 研究背景
1.1.1 软件测试和回归测试
从广义上说,软件测试是指软件生命周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段以及完成开发后文护阶段的各类文档、代码的审查和确认。通俗地说,就是识别软件缺陷的过程,这个过程主要通过设计测试用例并执行来检查程序运行实际结果与预期结果是否一致。
软件测试的主要流程是测试前的软件配置、测试环境配置,工作人员执行设计好的测试用例并对执行结果进行评价,如果符合要求则完成本次测试,如果有错误则进行修改并再次进行测试,这是为了确认修改是正确的而且没有引入新的错误,这也就是回归测试。
回归测试与一般开发过程中的测试的不同之处在于测试用例的来源和执行频率。回归测试用例大部分来自开发过程中实施测试形成的测试用例库,只重新编写了新增功能的测试用例。回归测试是系统被修改而触发的周期性活动,目的就是为了保证修改后软件的正确性。而开发过程中的测试,是在开发每个阶段完成后进行的高频率的测试活动,不需要重复进行。
软件测试的流程如图1.1所示:
图1.1 软件测试信息流
1.1.2 修改影响分析
在软件的演化过程中,不论是为了修正错误还是提升性能,修改是必不可少的,软件修改是软件文护的基本元素[1]。对软件的任何修改都可能会影响到软件其它部分,为了识别可能负面的影响,就需要对软件修改进行识别并分析它可能给系统其它部分带来的影响,这种机制就被称为软件修改影响分析(CIA,Change Impact Analysis)。软件开发者可以通过这项技术鉴别一个修改在系统产生的影响范围,从而得出被修改了和受到影响的部分,只重新测试它们来提高测试效率,控制成本。
1.1.3 测试用例更新与重用
虽然软件测试是保证软件质量的一种重要手段,但由于软件开发周期的延长,规模的增加,在多次的回归测试中就会出现大量的重复性劳动,不利于测试的效率和成本控制。这时软件测试用例的重用就显得很有必要了,所谓测试用例重用,就是把一个软件的执行过的测试用例在新的测试中重复使用或在软件修改后的测试中再使用,也包括相似软件间的选择性使用。测试用例重用不仅节约了大量时间,还弥补了一些测试人员经验不足的问题,能保留大量高质量的用例,提高软件测试质量[2]。测试用例的更新有赖于修改影响分析技术,通过影响分析可以找出软件受修改影响的部分,只需对这些部分以及修改部分的测试用例进行更新,而其余部分的测试用例可以有选择地进行重用。
1.2 修改影响分析研究现状
1.2.1 面向过程的CIA 基于修改影响分析的测试用例更新研究(2):http://www.youerw.com/jisuanji/lunwen_21640.html