基于活动图的回归测试方法研究硕士毕业论文(DOC 74页).doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《基于活动图的回归测试方法研究硕士毕业论文(DOC 74页).doc》由用户(2023DOC)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于活动图的回归测试方法研究硕士毕业论文DOC 74页 基于 活动 回归 测试 方法 研究 硕士 毕业论文 DOC 74
- 资源描述:
-
1、. . . . 基于活动图的回归测试研究摘要随着信息技术的深入发展,社会的各个领域的信息电子化进程进行的非常迅速。许多系统都是非常复杂和庞大的,而且更新换代的速度非常惊人。那么怎么保证这些系统是高效、安全、可靠的,软件的回归测试是非常必要的。但是回归测试是一个成本昂贵的过程。而在回归测试中回归测试用例的选择是最重要的一个步骤,如何选择一个尽可能小并且又能覆盖所有改变和影响的测试用例集来进行回归测试用例选择是一个重要的课题。本文对回归测试选择方法进行了研究,提出了基于UML活动图的回归测试用例选择技术和基于风险的回归测试选择技术。这两个技术是相辅相成的,能很好地完成回归测试用例的选择。主要研究容
2、与成果包括以下几个方面:1)分析了需求的可跟踪性对于进行和管理回归分析和测试的重要性。2)提出了一个基于活动图的回归测试选择策略,用来选择回归测试用例。将需求里的功能特征一一对应到活动图上,再通过活动图很直观地进行测试用例的选择。3)分析和描述了在回归测试中的风险分析,同时提供了风险敞口(Risk Exposure)作为度量回归测试用例集的质量的指标。提出了基于风险的回归测试选择技术,是基于活动图的回归选择技术的有益补充。4)用一个股票交易系统作为实验对象,验证了我们提出的方法的有效性,高效性。关键词:回归测试,风险敞口,活动图67 / 74AbstractAlong with the dee
3、ply development of information technology, lots of industrial and financial entities involve information technology into their daily business. Regression testing is essential to ensure software quality. A test team applies a regression test suite to ensure that new or modified features do not regres
4、s (make worse) existing features. Although existing research has addressed many related problems and put forward some solutions, most regression test techniques are code-based. Code-based regression test selection is good for unit testing, but it has a scalability problem. When the size of the objec
5、t under test grows, it becomes hard to manage all relevant Risk Exposure information and to create corresponding traceability matrices for validation and coverage assessment.We propose a method for regression test selection based on activity diagram and risk. There are two major parts of our work:1)
6、 We propose and justify a new regression test strategy based on activity diagram.2) We provide systematic methods for selecting regression test cases. We apply regression analysis to requirement to check throughout consistency of “requirement followed by a blank”, and design models. The basic model
7、we use for describing requirements based on customer features or behaviors is the activity diagram, which is a notation of the UML. A process is presented for identifying the test cases affected by changes. At the same time, we use risk analysis and present a method of choosing risk-based test cases
8、. Our risk analysis is based on a practical risk model, and is similar to that used by some organizations.Keywords:Regression test, Activity diagram, Risk exposure目录摘要iAbstractii第1章 绪论11.1 课题背景11.2 国外研究现状与进展21.2.1 以前相关研究21.2.2 现存理论存在的问题41.3 研究容和研究目标41.4 本文结构组织5第2章 回归测试62.1 引言62.2 回归分析和测试概念62.3 回归测试技
9、术62.4 回归分析的讨论72.5 回归测试模式92.6 软件维护的分类和回归测试的类型102.7 本章小结11第3章 方法1:基于活动图的回归测试133.1 引言133.2 需求的可追溯性133.3 UML的活动图143.3.1 活动图的元素163.3.2 活动图和测试用例关系213.3.3 简化复杂的活动图223.3.4 基于活动图设计测试用例233.4 建立基于活动图的需求可追溯性233.4.1 需求测试,设计测试和活动图263.4.2 跟踪测试用例到活动图元素273.5 基于活动图进行测试用例的选择303.5.1 纠正性维护中测试用例的选择303.5.2 基础:基于CFG的回归测试选择
10、技术313.5.3 基于活动图的回归测试选择343.5.4 纠正性和改进性维护同时发生时测试用例选择353.6 本章小结36第4章 风险和风险分析374.1 引言374.2 风险性测试374.3 风险分析374.4 风险分析活动384.5 一个实用的风险模型394.6 本章小结40第5章 方法2:基于风险的回归测试415.1 引言415.2 基于风险的回归测试方法415.3 基于风险的回归测试用例选择技术425.3.1 评估测试用例相对应的潜在的错误的成本(第1步)435.3.2 评估每个测试用例严重度(第2步)485.3.3 计算每个测试用例的风险敞口(第3步)495.3.4 选择测试用例作
11、为基于风险的测试用例505.4 本章总结51第6章 实验分析和比较526.1 引言526.2 实验设计526.3 实验结果和分析54第7章 结束语55参考文献56作者简历59致60图目录图 2.1回归测试技术7图 2.2 回归测试用例选择9图 3.1活动图例子20图 3.2 同步行为23图 3.3 一个取得汇率报价的模块的活动图24图 3.4 简化后的活动图25图 3.5 建立需求特征和测试用例之间的可跟踪的联系26图 3.6 需求特征和测试用例间的可跟踪性的联系链30图 3.7 取得报价的功能模块实施中发生错误和变化32图 3.8 控制流图C和改变后的C33图 3.9 图4-5中的活动图的改
12、变35图 4.1 风险分析活动39表目录表 3.1活动图的标识18表 3.2从图4-5得来的满足节点和边界覆盖标准的测试集25表 3.3测试用例和活动图元素28表 3.4对应测试用例的活动图的可跟踪性模型29表 3.5 CFG C的测试集T的edge覆盖模型34表 5.1一些测试用例的CC45表 5.2测试用例的CV值47表 5.3一些测试用例的成本48表 5.4测试用例的可能性严重度49表 5.5测试用例的风险敞口50表 5.6测试用例选择51表 6.1原始测试用例规模53表 6.2原始和补充测试用例的规模53表 6.3完全测试时测试用例和错误规模53表 6.4几种回归测试的实验数据54表
13、6.5几种回归测试的比较54第1章 绪论1.1 课题背景随着计算机技术、网络技术的不断发展,计算机应用的领域越来越广,软件系统功能越来越强大,其系统的规模也越来越大,越来越复杂。计算机已经普遍地应用在航空、航天、工业控制、金融、医疗、交通和电子商务等各个领域,这些软件系统的运行是否正确,已经影响到社会生活得各个方面。一旦这些软件失效,就会造成巨大的损失。尤其是这几年,电子商务与金融产品的网上交易平台等这些基于Web应用的系统的快速发展,软件产品的一点瑕疵就可能导致客户的巨额财产损失。软件测试就是减少这种损失,保证软件质量的重要手段。随着人们对软件测试的重要性的认识的不断加深,软件测试阶段在整个
14、软件开发周期中所占得比重会日益增大。根据Boehm的统计,目前软件测试在软件开发中的总成本中,其开销占到了30%50%1,在某些重大软件项目占得比重更大。回归测试是软件测试中一个很重要的环节。其目的是保证程序在修改后不会引入新的错误2。而随着软件规模的日益庞大,回归测试的成本也相应增大,甚至达到整个测试成本的一半以上3。所以回归测试成为整个软件测试的关键,是软件质量的重要保证。回归测试可以重用以前的测试过程,是一种比较有效地测试方法。但是,回归测试需要前期投入,如何减少回归测试的代价,是整个软件回归测试研究的难点和重点。在所有的难点和重点中,回归测试用例选择(Regression Test S
15、election)是重点中的重点。回归测试选择是复用已有用例基进行测试的方法。其目的是选择一个尽可能小并且又能覆盖所有改变和影响的代码的测试用例集。目前回归测试选择的研究,主要包括:1)基于代码信息的回归测试选择。该方法主要研究在已知代码的情况下,对代码相关的用例进行选择。2)基于历史记录的回归测试选择。该方法主要是根据测试的历史记录进行回归测试选择。统模语言(UML)在软件工程发展进程中具有里程碑的意义,统模语言(UML)的正式发展是从1994 年开始的,它汇集了近20 多年来各种建模技术。自提出以来,后成为研究热点,并且迅速在工业界得到广泛的应用。UML对开发高质量软件起了很大的促进作用,
16、同时也给软件测试以与回归测试带来新的研究领域。目前大多数回归用例选择技术多是基于代码的,有些是基于历史记录的。基于代码的回归测试选择对测试人员要求很高,需要测试人员阅读并理解代码,这需要很多的时间花费,并且是依赖于编程语言的。而基于历史记录的回归测试选择要求测试的所有记录非常完善,很多时候我们达不到要求。而基于UML设计的回归测试选择不依赖于编程语言,比代码级的回归测试选择更加容易且效率高。所以本文吸收前人的研究成果,结合UML活动图的特点,提出了基于UML活动图的回归测试选择技术,为了对软件质量更有信心,又提出了基于风险的回归测试选择技术,作为基于活动图的回归测试的有益补充。1.2 国外研究
17、现状与进展1.2.1 以前相关研究回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。许多研究人员研究了回归测试技术。他们的研究包含很广泛的课题。例如,Brown 和Hoffman8 研究了测试环境和自动化回归测试过程。Harrold,Gupta和Soffa9研究了测试用例管理技术。Rothermel和Harrold10 研究了回归测试选择技术。最近几年,大家的注意力被集中到回归测试测试用例选择领域。大部分
18、的技术是针对白盒测试的,他们选择测试用例是基于代码的相关信息11-12。只有少数的技术是针对黑盒测试,测试用例选择基于系统本身特征13-16。目前,回归测试选择的研究主要包括以下两个方面:1) 基于代码的回归测试选择。该方法主要研究在已知代码的情况下,对代码相关的测试用例进行选择。这个方法是通过比较修改前后对应代码对基线测试用例进行选择,从而得到回归测试用例集的一种技术28。先采用一些分解术将复杂的程序分解成一个个相对较小的片段来进行分析和维护。这些片段就叫做程序切片。任何一个程序都可以等价于一组程序切片的并集,而这些切片都是根据某个切片变量和切片准则计算出来的。根据切片的定义:所有能够影响到
19、的语句、谓词等都被包含到该切片变量的切片中了。所以对某个切片变量的修改一定不会影响到其他切片变量的切片。那么基于代码方法的回归测试思想可以描述如下: 针对修改后的程序,首先找出被修改的变量信息,然后运用切片方法找到由于这些变量的变化所引起的直接定义一使用关系和间接定义一使用关系(通常是一些语句或者控制流和数据流信息),将这些信息提取出来,组成一个程序片段,设计测试用例对这些程序片段进行测试,最后把这些测试用例加人到原程序测试用例中,构成新的回归测试用例集。2) 基于历史记录的回归测试选择。就是以测试用例执行的历史记录数据为依据进行回归测试选择29。每一轮测试都有一个测试状态与之相对应,该测试状
20、态,该测试状态涵盖了当前测试中影响策略选择的因素,包括测试用例错误检测率要求、测试成本、测试频次。这些就是测试的历史信息。基于这些测试历史信息,并根据当前测试情况来选择较为合适的回归测试用例,再将生成的回归测试用例进行用例优先排序,最后利用排序后的用例来进行测试,以进一步提高回归测试效率。1.2.2 现存理论存在的问题对于基于代码的回归测试选择技术来说存在一些问题。基于代码的回归测试技术可以有效的应用到回归测试中的单元级别。但是当我们试图测试一个大的或更加复杂的组件,比如一个子系统,我们要用基于代码的回归测试技术从代码中取得所有所需信息就很困难,因此,基于代码的回归测试技术就很难适应较大的组件
21、的测试,例如子系统的测试。而且,基于代码的回归测试技术需要测试人员在一定程度上进入和理解代码17。这个需要就会产生一些实际的问题。测试人员不得不去花很多时间去读懂代码,而且对测试人员的要求会很高。这是很费时,高成本的方法。最后,基于代码的回归测试技术是有编程语言的限制。在一些软件系统里面,会使用超过一种的编程语言,比如,在Web系统里,我们可能会用到Java,JSP,HTML等语言。这会导致分析代码的过程非常复杂。同样的对于基于历史信息的回归测试选择技术也存在着一些问题。因为在这个选择过程中完全是根据测试的历史记录来进行的,那么就必定要求这个历史记录是完整,正确的。但是,实际情况是,很多项目的
22、测试历史记录是不完整的。1.3 研究容和研究目标在我们的研究中,我们提出采用基于活动图的回归测试选择技术和基于风险的回归测试选择技术,作为有效和高效的解决以上所列问题的途径。下面是本论文的主要工作:1) 我们说明了需求可追溯性对于进行和管理回归分析和测试的重要性。我们分析了在需求和测试用例之间的联系。2) 我们提供了一种新的选择回归测试用例的策略。我们的策略是基于活动图的。将需求里的功能特征一一对应到活动图上,再通过活动图很直观地进行测试用例的选择。3) 我们分析和描述了风险分析的用处,怎么使用风险敞口(RE)可以用来衡量回归测试集的质量。提供了基于风险的回归测试选择技术,作为基于活动图的回归
23、测试技术的有效补充。1.4 本文结构组织文章剩下部分组织结构如下:第二章:主要描述回归测试的背景知识,相关技术。第三章:讨论了建立基于活动图的需求可跟踪性的方法,在次基础上建立了对回归分析和选择技术。第四章:讨论了风险分析,给出一个实用的风险模式,可以在回归分析中使用。第五章:讨论了基于风险的回归测试策略,并使用例子说明。第六章:用一个实验来验证我们提出的回归测试方法。第七章:总结全文。第2章 回归测试2.1 引言Myers发现对已经存在的程序进行修改比整个系统重新进行编码更容易产生bug18。回归测试是被用来确认被修复的bug已经真正的被修复了,同时在这个过程中没有产生新的bug,系统的功能
展开阅读全文