> 硕士毕业论文 > 39200字硕士毕业论文软件设备维护回归测试技术分析

39200字硕士毕业论文软件设备维护回归测试技术分析

论文类型:硕士毕业论文
论文字数:39200字
论点:软件,测试,修改
论文概述:

本文的主要工作就是围绕测试数据的生成与测试用例的选择展开的,同时设计实现了回归测试系统,使所有参加测试维护工作的人员及时了解项目进度,更为方便地协调工作提高软件维护的效率

论文正文:

第一章导言

1.1课题的研究背景
在信息技术飞速发展的背景下,随着军事领域使用大量软件或密集型软件系统,由这些软件组成的系统在武器系统中的地位、作用、责任和功能不断增加。例如,集中在区域综合电子信息系统、自动移动指挥系统等密集型软件中的武器装备,已经成为现代战争中有效控制和指挥参训部队和武器装备的重要途径,也是现代国防威慑力量的主要组成部分和重要体现。这些系统的主体是计算机、网络和软件。一旦这些系统中的软件出现问题,整个系统将崩溃并瘫痪,带来灾难性的后果。研究提高软件设备可靠性、安全性和可维护性的保障措施以及软件故障分析和测试方法,对于部队战斗力的形成和提高、新装备和武器效率的提高、装备维修现代化进程的加快,具有重要的军事应用价值和广阔的应用前景。然而,软件是一种具有高科技特征的逻辑产品,其保证成本不仅高,而且非常困难。目前,软件支持已经成为武器装备软件支持发展的难点和重点。早在20世纪80年代,一些西方发达国家就非常重视这个问题,尤其是美国军方,在这个问题上进行了大量系统、深入的理论和实践研究,并且一直处于领先地位,而军方对军事软件装备保障的研究相对薄弱。作为软件业乃至计算机世界的热门话题之一,软件业从业者、学者和专家们通过不懈的努力,经历了一个漫长的过程来解决这一危机。根据目前的情况,人们已经逐渐清楚地认识到它的本质。所谓的软件危机只是一种真实的、不可避免的软件情况,也就是说,这种情况是软件的缺陷。正是由于软件中的这些缺陷,软件开发的成本、进度和质量远远超出了预期,导致了失控的局面。软件缺陷是软件固有的属性之一,是不可避免和不可改变的事实。因为软件是由软件开发人员手工编写的,只要是由人来完成,就有人们的认知不能完全正确的因素,这件事也不可能完美。这就突出了如何尽可能减少程序中缺陷的密度、如何避免缺陷的发生以及如何消除现有缺陷的问题。军队使用的软件和设备的维护和支持需要更高的速度。在战场环境下,快速开展维修工作是军队面临的一个紧迫问题。本文的研究内容就是基于上述背景,并进行相关研究。
像其他领域的测试工作一样,软件测试工作不可能完美无缺,也不可能在所有软件中发现可能的缺陷。可以得出结论,在软件开发的整个生命周期中,测试软件不仅是开发人员的责任,而且维护人员的测试和维护工作也是软件质量保证的重要环节。软件用户在使用软件的过程中是基于真实环境的,因此获得的测试数据也是最真实可靠的,真实可靠的数据反馈对维护人员的工作有很大的帮助。根据正在使用的软件的症状,定位相应的故障位置可以准确地修改有错误的代码。然而,这种修改不是任意的,必须符合软件的规范。在纠正错误的同时,不会影响其他正常模块的功能实现。这属于软件测试中回归测试的范畴。本文主要研究军用软件纠错维护中的快速回归测试。本文设计并实现了一个软件装备战场维修回归测试系统。通过一系列优化设计,回归测试的时间成本显著降低,更好地满足了军用软件测试和维护的快速性、完整性和准确性要求。

1.2国内外研究现状
软件回归测试(Software Regression Testing)是一个测试过程,旨在防止软件的修改后的编码部分对软件的其他编码组件产生意想不到的负面影响,防止其原有正常功能的偏离,确保软件的修改达到预期的预期。软件更改可以是修改发现的错误,也可以是在软件集成和维护阶段添加新的性能组件。当软件缺陷被发现和修改时,如果没有完善的错误跟踪和管理系统,这些修改缺陷将被忽略。或者因为软件的特定开发者对缺陷没有透彻的理解,它也将导致表面缺陷而不是内部缺陷体的修改,从而导致缺陷修改的失败。对软件缺陷的修改也可能在其他未修改的软件的运行中引起新的问题,导致软件正常运行中的错误。同时,由于软件的修改,有必要向原始程序中添加新代码或删除最初编写的不必要的代码,但是这种活动很可能会与新编写和添加的代码中的新错误混合在一起,或者添加(删除)编写的代码会对原始程序中的代码造成意想不到的影响。因此,一旦软件发生变化,为了确认软件的变化是否正确并影响原有的正常功能,必须重新测试软件的所有修改后的功能。

第二章软件设备维护回归测试系统的设计

软件纠错维护的建议主要针对软件生命周期中从交付给用户到软件生命周期结束的过程。在此过程中,软件用户的技术支持人员负责软件质量的维护,并在必要时与软件开发人员进行沟通和协调。此次纠正性维护的主要工作包括以下两个步骤:(1)根据用户提供的故障报告准确定位软件故障,找出故障原因并做出相应修改;(2)对软件的修改部分进行必要的回归测试,以确认软件的修改不会对具有正常功能的模块产生副作用。第二步是这个系统关注解决的问题。

2.1回归测试的定义
在软件测试和维护期间,必须随时纠正和消除系统中发现的问题和缺陷。因为软件语句中的变量、代码、函数、过程或类是相互关联且不可或缺的,所以有必要确保修改后的软件不会出现新的错误,并且必须对修改后的软件进行测试。这种测试是回归测试。软件回归测试最基本的目的是发现和发现程序中由于修改原始程序的代码而导致的新错误。Hetzel通过研究指出,在软件维护的具体例子中,新产生错误的概率是50%到80%,这是在原始程序修改源代码的过程中产生的。这个统计数据充分、清晰、有力地证明了软件全回归测试的必要性和重要性。

第三章测试信息管理模块的设计与实现....15
3.1测试信息管理模块的功能...16
3.2测试信息管理模块的设计思路........17
3.3测试信息管理模块的具体设计....22
3.4本章摘要....25[/br/第四章测试数据生成模块的设计与实现....26
4.1测试数据生成模块的设计思想....26
4.2测试数据生成技术的研究现状....26
4.3遗传算法的特点....28
4.4生成测试数据的遗传算法....32
4.5实验分析....41
4.6本章摘要....43
第五章回归测试用例选择模块的设计与实现........44
5.1回归测试用例选择模块的设计思想........44
5.2控制依赖图........45
5.3回归测试用例选择算法....47
5.4基于成本分析的回归案例选择....51
5.5实验分析....53
5.6本章摘要....54

结论

本文的主要工作是对软件纠错后的回归测试进行研究。目的是提高回归测试的效率,保证软件纠错维护的有效性、正确性和完整性,最终满足提高武器软件设备可靠性的要求。利用遗传算法的优化优势为修改后的程序生成测试数据,从而帮助维护人员更好地设计测试用例来指导回归测试;根据现有的测试用例集,采用安全回归测试用例选择算法结合基于成本的估计,筛选出需要重新测试的测试用例。本文主要研究了一个针对X设备指挥控制软件的纠错维护系统的设计与实现。本文的主要工作如下:
(1)根据软件设备战场维护的要求,研究快速测试数据生成技术,协助测试维护人员完成测试用例的设计并进行回归测试,从而保证软件修改的可靠性。
(2)结合基于案例成本分析的估计,采用安全测试案例选择算法,集中选择有用的案例集,得到战场环境中最需要优先测试的回归案例集。
(3)设计并构建了一个测试信息管理系统。选择重要信息进行集中管理,解决了恶劣战场环境下测试信息的可靠性和测试工作的快速发展问题。
该系统已在某型武器移动指挥控制软件上测试,其设计效果得到了有效发挥。为了更广泛地开展军用软件设备的维护和支持,它做了初步的研究工作,并在今后类似工作的发展中发挥了重要的领导作用。

参考
[1]布朗、大卫和霍夫曼。http://sblunwen.com/rjyl/模块回归测试属性的应用。物理研究中的核仪器和方法,第一部分,A293,1990,1(2):337-381
[2]多戈萨,罗兹曼.卡莫特.计算机辅助模块测试和设计环境[C]。软件维护会议记录。洛斯阿拉密托斯,加利福尼亚州,1998,404-408
[3]刘易斯,贝克,哈特曼.化验.支持回归测试的工具,ESEC\'89,[第二卷]。欧洲软件质量会议。斯普林格-弗拉格,1989,487-496[/比尔/] [4]吴周晓。软件测试评论[,软件指南,2009,8(5):5-6[/比尔/] [5]塔哈,鲍特。刘世世。基于增量数据流分析的软件故障定位和再验证方法。第十三届国际计算机软件与应用年会会议录。佛罗里达州奥兰多,1989,527-534
[6]顾海生。卢·盛宴。软件测试研究进展[。计算机科学,2008,35(9):266-277[/比尔/] [7]罗瑟梅尔,哈罗德,德迪亚. C++软件回归测试选择软件测试杂志[]。验证与可靠性,2000,10(6):77-109
[8]圣经,罗瑟梅尔,罗森布鲁姆.粗粒度和细粒度安全回归试验选择的比较研究[.《软件工程和方法学交易》,2001,10(2):149-183
[9]朱少民。软件测试方法和技术[。北京:清华大学出版社,2005,2
[10]罗恩·巴顿。软件测试(第二版)[。北京:机械工业出版社,2006,4-5