基于图形遍历算法的回归测试方法的研究以及应用.doc
《基于图形遍历算法的回归测试方法的研究以及应用.doc》由会员分享,可在线阅读,更多相关《基于图形遍历算法的回归测试方法的研究以及应用.doc(66页珍藏版)》请在咨信网上搜索。
1、浙江大学硕士学位论文 摘要 基于图形遍历算法的回归测试方法的研究及应用 摘要自从发明计算机以来,信息技术飞速发展,相应的软件开发与测试也在飞速成长。软件并没有人们想象当中的那么抽象与遥远,在日常生活中接触到的电脑软件、手机软件都涉及到了软件开发。当然,软件在开发出来之后就需要经过测试来检测一下软件开发的结果,这就是软件测试。在软件测试当中经常用到的验证测试方法当属回归测试。虽然回归测试成本比较贵,但是其测试结果较准确。当然,在现实中是非常激烈的。如果使用一种有效手段,通过这种机制既可以大大降低回归测试所带来的成本又可以提高监测的效率,那么就会在竞争中处于领先地位。因此,如何研发这种机制是当今软
2、件测试的重点和难点。Extend-Dejavu算法是目前使用广泛的回归测试用例选择算法,但是该算法需要利用元数据来构造控制流图和收集覆盖信息,因此在实际使用中难度很大。本文借鉴Extend-Dejavu算法精华,开发了基于修改点控制流图的回归测试用例选择算法,能够对C语言单元函数进行逻辑结构上的比较。从而减少测试用例,提高测试效率。算法主要包括以下内容:根据控制流图对比技术检测出有效修改点;根据语句节点的数据和控制之间的依赖关系构建基于修改点的软件切片;以切片得到的节点集合作为目标覆盖集合,从基准用例库中选取相关测试用例构造回归用例选择子集T0;运行T0中测试用例;基于覆盖情况分析是否存在未覆
3、盖的目标节点,若存在则构造回归用例新增子集T1;最后合并T0和T1得到回归测试用例集合。与Extend-Dejavu算法相比,本论文主要有以下改进和创新:基于控制流图对比技术检测有效修改点,能够精确定位代码修改点;在修改点的基础上进行语句级别切片,降低了回归测试的覆盖范围;补充新的用例以保证回归测试的充分性。所以,本文提出的回归测试方法具有用例选择精度高、回归测试更加充分的特点,显著提高了回归测试的效率,明确体现了其有效性。关键词:软件测试,回归测试,Extend-Dejavu,测试切片i浙江大学硕士学位论文 AbstractAbstractSince the computers have b
4、een invented, the information technology is developing rapidly, at the same time, the corresponding software development and testing is also developing rapidly. In the process of software development, the more important aspect is the regression test. Software development is not so far from us, in ou
5、r life, we are all exposed to computer software and cell phone software, and they are all related to the software development. Of course, software developers need to come out after the software has been tested to detect what the result of the development, and this is what we know software testing. R
6、egression test is often used to software development. Although the cost of regression testing is very expensive, its test results are very accurate. Of course, in todays society, competition is very fierce. If you master an effective mechanism, we can greatly reduce the cost of regression testing at
7、 the same time, we can improve the efficiency of monitoring through this mechanism .It will compete in a leading position. Therefore, how to develop such a mechanism is the focus and difficulty of todays software testing.The Extend-Dejavu algorithm is widely used the regression test cases selection
8、algorithm, but the algorithm needs to use metadata to control flow graph and collect information, so in the practical use is very difficult. Essence, this paper Extend - Dejavu algorithm is developed based on the modified point control flow graph of regression test case selection algorithm, can carr
9、y on the logical structure to the function C language unit in comparison. To reduce the test cases, improve the test efficiency. Algorithm mainly includes the following content: according to the control flow chart compares technology to detect the effective modification point; According to the state
10、ment data dependency and control dependency between nodes based on modified point build of the software section; To slice the node set as the target coverage set, from the baseline test cases selecting the related test case library T0 select subset regression cases; Run test cases in the T0; Based o
11、n the analysis whether the cover has not covered the target node, if there is the structure new subset regression case T1; Finally merge T0 and T1 regression test case set. Compared with the Extend-Dejavu algorithm, this thesis mainly has the following improvements and innovations: detection based o
12、n control flow chart compares technology modification, can accurate positioning point code change; At modify the statements on the basis of the level section, narrowed the range of regression testing; Add new test cases to ensure the adequacy of the regression test. Regression testing method is prop
13、osed in this paper, therefore, the use cases with higher precision, more fully the characteristics of regression testing, greatly improve the efficiency and effectiveness of the regression test.Key Words:Software Testing,Regression Testing, Extend - Dejavu,Test Sectioniii浙江大学硕士学位论文 目录目录摘要IAbstractII
14、图目录III表目录IV第1章 绪论11.1 课题背景11.2 国内外研究现状及进展21.3 本文主要研究工作51.4 论文组织形式51.5 本章小结6第2章 软件测试和回归测试的策略72.1 软件测试72.1.1 软件测试的目的72.1.2 软件测试方法72.1.3 软件测试策略82.2 回归测试92.2.1 回归测试分类92.2.2 回归测试策略92.3 软件测试与回归测试比较112.4 本章小结12第3章 基于字节码控制流图的回归测试用例选择算法综述133.1 Dejavu算法以及扩展算法的介绍133.2 UT2测试实例153.2.1 测试环境153.2.2 新旧版本字节码163.2.3
15、原始Dejavu算法控制流图163.2.4 Extend-Dejavu算法控制流图173.2.5 测试结果183.3 本章小结18第4章 基于修改点控制流图的回归测试用例选择算法194.1 算法概述194.2 无效修改点判定设计194.2.1 基本概念194.2.2 设计原理与算法234.3 确定测试切片294.3.1 基本概念304.3.2 设计原理与算法324.4 UT3测试实例344.4.1 无效修改点判定测试344.4.2 确定测试切片测试364.5 本章小结39第5章 优化算法对比分析及实际应用405.1 对比分析405.1.1 单测试用例算法精度对比415.1.2 多测试用例算法精
16、度对比425.2 TD-LTE项目中自动化测试平台应用435.2.1 用例库管理445.2.2 系统运行445.2.3 OMCR-CT及DEBUGTOOL475.2.4 测试结果及分析49(一)测试报告49(二)结果分析505.3 本章小结51第6章 总结与展望52参考文献54作者简历57致谢59II浙江大学硕士学位论文 图目录图目录图2.1 软件测试一般过程图11图3.1 TD-LTE项目中旧版本方法Dispenser.dispenseO的控制流图17图4.1 删减语句导致的控制流图的变化24图4.2 广度优先对比25图4.3 深度优先对比26图4.4 N1为终结符节点,N2为普通节点的示例
17、图28图4.5 N1为普通节点,N2为终结符节点的示例图28图4.6 计算修改点的流程图29图4.7静态切片(左)与动态切片(右)30图4.8 静态切片(上)与动态切片(下)31图4.9 TD-LTE项目中equation函数的原代码(左)和修改后代码(右)35图4.10 被测单元f1的控制流图36图4.11 被测单元f修改前后的代码37图4.12 被测单元f的控制流图38图4.13 被测单元f关于节点decl_stmt_1的依赖图39图5.1配置文件存放形式44图5.2用例库管理操作界面44图5.3 TR-PC启动45图5.4 TmView操作界面45图5.5 TmView操作界面46图5.
18、6 TR-PC执行操作界面46图5.7 TR-PC执行操作界面47图5.8 OMCR-CT工具操作显示界面48图5.9板件消息显示48图5.10 OMCR-CT启动48图5.11 OMCR-CT结束48图5.12 DEBUGTOOL启动49图5.13 DEBUGTOOL结束49III浙江大学硕士学位论文 表目录表目录表2.1渐增性回归测试和改错性回归测试主要区别8表4.1 修改点有效性分析23表4.2 函数f的控制流图和源程序的对应关系35表5.1两种回归测试用例选择算法的回归测试用例选择集42表5.2 2种不同算法针对3个实例运算的运算结果对比44IV浙江大学硕士学位论文 第1章 绪论第1章
19、 绪论1.1 课题背景其实计算机在安全上的问题已经存在很久了,特别在软件层面上,软件产生的故障问题越发的频繁,随之造成的危机也经常导致严重的后果,给人们带来了很多的教训。从这些教训中我们可以总结出:软件开发过程中软件测试对最后软件成功与否意义重大。当然,随着计算机的普及,各种软件进入了人们的视野。从普通的软件到一些专业的软件,软件的应用领域非常广泛,规模也是非常庞大。现在人们面临的技术层面的难题就是如何在琳琅满目的软件当中选择符合人们要求的软件,如何在符合要求的基础上确保这些软件的质量及可靠性。软件的一些很小的差错就有可能对国家、财产、军事、航天事业以及生命等方面造成巨大的损失,我们必须极力的
20、阻止这类事件的发生。有人对美国当今的软件的现状进行了相应的研究,这些研究表明:到上个世纪末为止,美国的软件领域的从业人员已经达到了接近130万人。作为关键领域的巨头,微软每年在软件方面的销售总额在整个美国也是相当可观的。但是,虽然销售总额很高,利润却没有人们想象当中的那么高。这些损失很大成份是由软件错误造成的。降低了软件产生的错误,就可以挽回很大的损失。如何改进软件系统的质量问题已然成为取得高回报的有效手段,在安全和财产保障中,软件质量影响深远,也是国家、人身安全、军事航天事业等方面的保障。软件工程概念的提出是针对高质量和高可靠性的软件设计提供了基础。而在软件工程中的软件测试的概念由Bill
21、Hctzel在1972年首次提出。在软件开发过程中,软件测试更是重中之重,它是软件开发过程的最后一道保障环节。软件测试经过最近几十年的发展已经越来越迅速,尤其是最近几年。软件测试最重要的也是最直接的目的就是发现系统软件中的漏洞以及错误,及时通知软件开人员,避免重大损失。据统计,在美国,那些对于安全性要求较高的软件来时,软件测试所要花费的费用可能会超过40%以上。因此,软件测试已经受到越来越多的专家的重视,很多专家也对如何降低测试费用进行了探讨。在软件的整个生命周期中,软件的代码这一因素也是相当重要的。如果软件设计过程中软件的代码发生了变化,那么软件开发会带来很多的问题,所以,在软件开发之前就应
22、该把相应的需求分析做好。软件测试的时候必须注意以前已经测试过得基本模块,以便确定相应的修改是否有影响到原来的功能实现,并要确认其修改是否产生了新的问题,这种测试就是著名的回归测试。软件在开发过程中所涉及的软件代码是相当复杂的,而且代码之间都具有关联性,如果软件部分代码被改正以后相关联的代码可能就会瘫痪掉。特别容易放生在修改后产生新的错误,有数据表明这种情况发生的概率高达20%以上。回归测试自从被提出来之后就获得了广泛的应用。在基本的回归测试用例确定以后,后面即使有更改,先前确定的测试用例还是可以重用的。随着项目的不断发展,后期加入的测试用例数目越来越多,在测试人员的流动性,测试用例的运行周期的
23、冗长性等因素的影响下,对后期测试用例的控制性回越加把握不住,这些相关问题都会使得前期测试投入很大,也导致在后期测试工作中,每当有改动都要从头到尾重新测试,这不仅浪费时间也是没有必要的。软件在开发过程中一定要有相关经验的软件人员,这样软件可以尽可能的减少代码的重写,从而降低由于代码重写所带来的回归测试的成本的增加。当然,软件开发的时候最好是有一定的人员对软件测试用例库进行相关的维护以及管理,这样就会有个合理的组织、统一的管理。计算机的发展带动了许多相关学科的发展,如今全球化的迅速发展也对移动通信提出了较高的要求。随着移动通信系统的发展,我们的“空间”变得越来越小。当今移动通信系统中的最新进展就是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 图形 遍历 算法 回归 测试 方法 研究 以及 应用
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。