面向软件重构的回归测试研究

面向软件重构的回归测试研究

ID:46838052

大小:60.00 KB

页数:3页

时间:2019-11-28

面向软件重构的回归测试研究_第1页
面向软件重构的回归测试研究_第2页
面向软件重构的回归测试研究_第3页
资源描述:

《面向软件重构的回归测试研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、面向软件重构的回归测试研究1.概述随着软件维护工作的累加,软件的可读性、可维护性以及可扩展性会变得越来越差,为了应对这一情况软件重构的概念应运而生。软件重构是指在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高软件的清晰性、可扩展性和可重用性而对其进行的改造。而进行软件重构的另一个先决条件是有足够的时间、人手、财力来支持对项目进行回归测试。出此可见,软件测试在进行软件重构的构成过程中工作量巨大。2.面临的问题测试用例在软件测试过程中至关重要,在软件重构过程中如果希望保持原测试用例的有效性,那么测试用例的调整必须基于软件代码的变更而进行。测试驱动开发(TD

2、D)要求测试用例的调整优先于代码的调整,在此种定义下软件重构应遵循“测试先行”的原则。而软件重构中不改变软件外部功能而知修改内部结构的勤快光下,很容易造成软件测试用例过期或者不适用的情况出现。测试驱动重构(TDR)中假设测试用例根据软件重构的需求和方案进行调整,但是如何根据重构方案调整测试用例仍然是实践中的难点。在目前研究中,很多案例由于缺乏相关数据的支持,结果的可信性不高。3.研究现状测试用例用于测试程序的3个步骤如下:(1)设定输入数据,(2)调用并执行测试代码,(3)判定输出是否与预期的结果相一致。输入数据是测试用例的最重要的部分Z-o通过对软件重构过程及原理的

3、分析,推测测试用例失效的原因主要有两条:(1)测试用例运行出现错谋或异常,重构改变了测试对象的名称、位置或是类型,造成测试用例在测试对象中找不到被测试的内容,从而造成此类问题。(2)预期的结果和测试用例执行后的输出不一致,出现这一情况的主耍原因是测试对象的存在形式已经发生了改变。当一个接口改变时所有的接口实现类都会受到影响,因此在回归测试中接口变化是造成测试案例失效的主要原因,接口一个非常小的变化将影响许多测试用例。当对软件进行重构的时候,对于修改修改源代码的方法有三种:添加,删除和调整。大多数调整性质的重构只是对方法内的代码进行修改,并不改变方法的输入与单处,这种类

4、型的重构并不会引起测试用例的失效。此外,对于方法中一部分代码抽离,形成新的方法由原方法调用的,同样不会对测试用例产生影响。除此以外的接口修改,都能造成测试用例的失效。主要体现在以下方面:(1)接口添加/删除参数类型及数量调整,可能造成测试用例不可用。(2)添加新的接口,可能需要增加新的测试用例;(3)删除方法,对应的接口失效,测试用例也随Z受到影响;(4)测试对象位置发生变化,测试用例将找不到测试对象;(5)更改访问权限或访问路径,也口J能造成测试用例将找不到测试对象;(6)测试对象的拆分、合并或重命名,都可能造成测试用例的失效。基于上述分析,我们可以大体描述软件重构

5、的类型及方法会对测试用例造成什么样的影响,从而使我们能够在重构Z前合理的修改测试用例,以保持用例的有效性,具体操作步骤如F:首先确认重构类型;其次分析重构所采用的方法及其对测试对象产生的影响;然后,确认测试用例失效的外部特征;最后根据具体情况修改测试用例。经过上述操作至少可以保证80%的测试用例在软件重构后仍能够有效,从而大大减少了重构冋归测试的工作量,降低了冋归测试的难度,提高了回归测试的效率。4.优势与问题而向软件重构的回归测试和回归测试相比,具冇以下的优点:(1)从软件重构的初始阶段就强迫设计、开发人员以测试的角度与用户的观点对软件进行审视,迫使测试人员详细了解

6、重构的设计,因而更能够对软件重构冇全面的认识和把握。(2)减轻了测试的工作量,从根木上降低软件重构的费用。(3)让程序员能够更大程度地控制代码的正确度,相当于提供了两道的代码审核手段,在软件成品的质量上捉供了一定的保障。但而向软件重构的回归测试仍然存在一些问题:(1)测试用例仍存在部分失效的问题,解决这一问题也必然会成为未來研究的重点方向;(2)软件测试人员需要了解软件重构的方法,对软件测试人员提出了较高的要求。面向软件重构的冋归测试作为一种新的测试方式,越来越受到人们的关注,并且已经运用于实际的项目开发、测试中,今后必将为系统重构带来巨大的收益。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。