软件测试与软件可靠性

软件测试与软件可靠性

武增喜[1]2008年在《软件测试中的软件可靠性改进》文中进行了进一步梳理软件测试是保证软件质量的重要手段,软件可靠性是软件质量的重要度量。两者之间有着密切的内在联系。软件测试提高软件的可靠性;软件可靠性的评估可以为软件测试提供合理的终止信号。相对于硬件可靠性稳步上升的趋势,软件的质量保证显得很困难。软件的可靠性研究也很不成熟,远远落后于硬件的可靠性研究。关于软件可靠性的研究还有很多的工作。本文首先介绍了软件测试的理论与方法,介绍了软件错误在软件测试工作中的重要地位与软件测试的模型。接着对可靠性与软件可靠性研究的理论做了介绍,详细介绍了几种重要的软件可靠性模型。最后对传统工程可靠性研究分析了其取得成功的原因。在此基础上分析了软件可靠性研究的特点,阐述了导致软件可靠性研究困难的四个原因。并针对其中的两个提出了改进的方法,并将其应用到软件可靠性模型的改进之上。在对煤炭物流管理系统的可靠性评估工作中,验证了可靠性模型改进的有效性。本文主要的工作有以下几点:(1)分析了软件可靠性研究特有的四个难点:软件开发面临的问题领域的不确定性;软件开发中实现机制的人为性与多样性;软件开发缺乏标准化的设计;可靠性研究中对软件错误的独立关系认识不清。(2)提出了关于软件错误的随机性软件错误与非随机性软件错误的分类方法;在软件失效模式的PIE模型的基础上,对随机性软件错误之间的相互独立性给出了一个有意义的判别方法。(3)应用软件错误独立性的判别方法,对软件可靠性模型进行了改进。以J-M模型为例,对煤炭物流管理系统进行了可靠性评估,实验的数据结果验证了可靠性模型改进的有效性。

朱虹虹[2]2004年在《软件可靠性测试与评价技术的研究与实现》文中研究指明进入后PC 时代,IT 技术得到进一步的发展。计算机技术已经渗透到越来越多的领域,特别是航空、航天、国防、交通、通讯、金融、医疗等关系国计民生的关键部门。在这些领域中,软件系统规模庞大,逻辑复杂,其可靠性和安全性往往有很高的要求。因此,研究如何保证并提高软件产品的质量和可靠性已成为计算机科学的一个重要领域。 针对当前软件可靠性工程领域面临的主要问题,本文在以下几个方面进行了深入的研究: 1 软件可靠性测试方法的研究。主要研究了两种传统的软件可靠性测试方法,并比较和分析了其存在的不足和缺陷。本文在此基础上利用作为工业标准的UML建模语言,探讨并给出了一种基于UML模型的统计测试方法。2 软件可靠性评价技术的研究。讨论了基于软件可靠性模型的传统评价方法在应用中的局限性。本文通过研究基于假设检验的可靠性评价方法,并在其基础上做出改进,提出了一种基于贝叶斯理论的可靠性评价方法。3 实时软件的可靠性评价技术的研究。实时多任务系统中,任务具有不同的运行时间比例、故障率等,对整个系统的可靠性影响不一样。本文建立了一种基于任务模块的实时软件可靠性评价模型,试图模拟这一特点。最后本文研究了实现软件自动化测试的关键技术,提出了一种自动化软件可靠性测试与评价的框架(SATRETools),并将上述理论研究应用到该框架的设计中。论文中软件可靠性测试与评价技术的探讨与实验,对软件可靠性保障技术的进一步研究具有一定的参考价值。

张策, 崔刚, 刘宏伟, 孟凡超[3]2014年在《构件软件可靠性过程技术》文中研究指明针对构件软件可靠性研究现状以及如何提高其可靠性过程,对其可靠性过程的相关研究进行综述.构件软件可靠性过程的关键问题是在整个生命周期内,以可靠性为核心,不断提高可靠性增长过程,实现可靠性预期要求.文中介绍了构件软件可靠性过程的主要研究问题,对以可靠性过程为核心的基本内容体系结构与技术分类框架进行了描述,并对基本研究支撑元素进行了概括与分析.重点介绍了依据可靠性过程研究内容与技术分类下从可靠性建模、可靠性增长模型、评估、测试资源分配与最优发布、可靠性过程仿真、基于PCM(Palladio Component Model)的可靠性技术等六个方面进行了技术分类评述,在分类评述中,对技术成果进行了深入讨论并选取典型模型进行剖析和归一化分类.最后还指出,未来还需要在复杂不完美环境下结合非参量求解方法、容错体系结构与硬件系统构件化研究、集成化的可靠性建模表示与分析等方面,深入开展一些研究工作.

覃志东[4]2005年在《高可信软件可靠性和防危性测试与评价理论研究》文中认为随着计算机技术的日益成熟,硬件成本的迅速降低,各种结构复杂、功能强大的计算机系统被广泛应用到航空航天、交通运输、核电能源和医疗卫生等安全关键领域。一旦这些系统失效,将造成人类生命财产的重大损失或者环境的严重破坏,系统可信性日益成为被关注的焦点。鉴于这类系统应用的特殊性,其配置的软件必须具备很高的可信性,因而被称之为高可信软件。但事实上,与硬件可靠性快速提升相比,软件发展相对滞后,已成为制约系统可信性水平进一步提高的瓶颈。软件测试在系统可信性工程中扮演着重要的角色:一方面,软件测试可以定位并排除错误,切实地提高软件的可信性水平;另一方面,通过软件测试,可以获得对软件当前可信性水平的评估与验证。如何通过软件测试的方式有效地增强软件的可信性水平并对软件当前可信性水平作出客观的评估,是相关学术界和工业界研究的热点问题。 本文详细地剖析了可信性概念的起源与内涵,对可信性基本属性之间的区别与联系作了细致的研究,并对导致系统可信性降低的因素——缺陷、错误及失效之间的关系以及高可信保障技术作了梳理和归纳。 由于不同应用领域对软件可信性关注的侧重不同,本文主要基于安全关键领域针对可靠性和防危性的测试与评价方法作了系统而深入的研究,所作出的主要贡献如下: 1.由于所需测试用例量大、测试持续期长,导致软件的一些高可靠性指标的验证成为不可能。为了在不降低可靠性验证测试结果可信性的前提下减少测试用例量、缩短验证测试持续期,本文提出了一种先验知识动态整合的贝叶斯统计推断验证测试方法;并分离散执行软件和连续执行软件两种情况予以详细阐述。数值仿真证明,该方法在不降低验证测试结果可信性水平的前提下,能有效地减少测试用例量、缩短验证测试持续期。 2.为切实确保高可信软件获得规定的可靠性指标,本文提出了一种基于软件体系结构的高可信软件可靠性测评框架。该测评框架的基本思想是建立软件可靠性模型,把系统可靠性设计指标优化分配到各个软件模块,从模块级对软件的可靠性进行跟踪和控制,然后再在系统级进一步对软件的可靠性指标进行确认和验证。同时,基于最大熵原则,本文着重解决了如何在缺少失效数据的

张广梅[5]2006年在《软件测试与可靠性评估》文中提出软件测试是保证和提高软件质量的重要工作,软件可靠性是评价软件质量的重要指标。本文首先综述了软件测试方法、软件测试工具及软件可靠性评估模型。为提高软件测试的效果,减少软件测试的盲目性,本文对导致程序出错的部分原因进行了分析,在此基础上建立了软件故障模型,针对建立的故障模型的特点,讨论了故障检测方法及故障检测规则,并在开放源码的编译器orc上实现了部分软件故障的检测;软件可靠性的预测和估计是软件工程所关注的内容之一,要对软件可靠性进行评价,需要根据软件测试的结果,根据测试过程中所得到的测试数据对其进行评价,本文对利用贝叶斯方法进行软件可靠性估计的方法进行了讨论。 本文的创新点和主要贡献在于以下几个方面: 一、软件故障模型的创建。在大量工程软件测试数据的基础上,提出了有工程背景的多种故障模型,包括动态内存故障模型,变量的定值与引用故障模型等。其中动态内存故障模型对可能导致系统老化、系统死机的各种情况进行了分析,为故障的检测、故障的排除提供了依据。同时,用模型指导软件测试工作,可以有效的降低软件测试的盲目性,提高软件测试的可信性。 二、提出了面向故障检测的静态数据流分析方法。静态数据流分析的优点在于通过对程序进行静态分析,可以对程序中的多路径上的数据流状态进行模拟,克服了一次动态运行只能覆盖一条程序路径的缺点,有效的提高数据流分析的效率。通过对以基本块为最小划分单元的程序控制结构中到达各基本块的各种变量的定值信息的计算,可以获得到达程序中每个节点的数据流状态。由于程序结构的复杂性使得到达程序中某一点的路径是不唯一的,这种不唯一性造成了到达某一基本块的定值信息只在程序的某些路径上存在,由此我们提出了将到达某一节点的定值信息划分为MUST和MAY两个类别,从而提高了数据流分析的准确性。 叁、基于贝叶斯方法的软件可靠性评估方法。该方法以贝叶斯统计理论为依据,在对随机测试过程分析的基础上建立了基于输入域的测试过程的形式化描述,在此基础上确定了测试分布的总体信息;按照贝叶斯理论,要对软件可靠性进行估计,需要定义软件可靠性的先验分布,该先验分布可以利用贝叶斯假设或共轭原理进行定义。分析发现,在软件顺序测试过程中,采用这两种策略所得到的先验分布是一致的,这从另一种角度印证了先验分布选取的正确性。根据贝叶斯定理,利用先验分布和总体分布,可以得到待估计变量的后验分布,然后根据测试数据可以对可靠性进行估计。

赵朝俊[6]2007年在《基于XML技术的软件可靠性测试系统的研究与实现》文中认为随着计算机和信息处理的广泛应用,计算机系统的可靠性问题越来越得到人们的关注。软件可靠性是指在规定的条件下和规定的时间内,软件不引起系统故障的能力。软件可靠性不但与软件中存在的缺陷有关,而且与系统输入和系统使用有关。软件可靠性是软件质量特性中重要的固有特性和关键因素。软件可靠性反映了用户的质量观点。为了提高软件的可靠性和质量,人们采用了软件可靠性工程技术和CMM认证级别。通过对软件可靠性的测试发现软件中的故障,从而不断排除故障以提高软件可靠性。软件可靠性测试包括多个步骤:生成使用模型,生成测试用例,解析测试用例,可靠性评估等。因此,研究软件可靠性测试系统,对提高软件的可靠性测试效率和软件的质量都有重要意义。针对当前软件可靠性测试系统面临的主要问题,本文在以下几个方面进行了深入的研究:1.嵌入式软件可靠性测试系统实时通信的研究。传统的嵌入式软件测试系统,不论是单机结构还是分布式结构,在长时间运行的嵌入式软件可靠性测试时,在数据传输方面存在实时性差,网络延迟不确定的缺点。本文将交换式以太网技术,应用到星型拓扑嵌入式软件测试系统。通过对IEEE802.1p协议进行修改,引入实时域,来提高嵌入式软件测试系统的实时通信能力。2.软件可靠性测试测试用例生成与解析的研究。本文应用XML技术保存软件可靠性测试中生成的测试用例,提出了XML测试用例模型,实现了XML测试用例文件生成器,并结合National Instrument公司的LabVIEW集成开发环境,实现了测试用例解析模块。最后本文应用NI公司的LabVIEW设计、实现了一款软件可靠性测试系统,并将上述理论研究应用的系统的设计中。

李晓雪[7]2013年在《测试方法对软件可靠性计算的影响分析》文中提出随着科技的进步,软件已深入人类生活的各个层面。在人们享受着软件带来的快捷高效的好处时,软件质量引发的系统故障也越来越多。软件的可靠性在任何系统或者产品的质量因素中都占据着非常突出的地位。如何提高软件的可靠性就如同提高软件的生产率一样,是整个软件生存期必须始终关心和设法解决的问题。可靠性的计算依赖于计算模型和失效数据。模型的选取与软件运行环境有关,而失效数据和和软件测试有关。传统计算可靠性的方法中,当测试方法不同时,提取的软件失效数据是不相同的,导致不同方法计算的软件可靠性是不同的。这样得到的可靠性只是描述了在某项特定的环境下软件的可靠性,是静态的,并不能真正刻画软件的可靠性。本文提出一种新的用程序不变量来计算软件可靠性的方法。程序不变量是指程序在运行时保持不变的属性,刻画了程序的动态行为,体现了软件的整体行为,这样可使得计算的软件可靠性更准确。本文通过运行测试用例与软件系统,动态的提取程序不变量,然后获得失效数据,最后基于Nelson模型计算软件的可靠性。不同的测试方法得到的不变量可能不同,失效数据也可能不同,但对某个测试方法来说,由于不变量之间的相关性,由这些不变量可以合成程序的整体行为,从而由不同的测试方法合成的程序的行为是一样的。通过实验我们发现叁种不同的测试方法:随机测试、基于分支覆盖的测试、基于分块覆盖测试方法,计算软件的可靠性基本上是相同。本文的贡献点:(1)用程序不变量计算软件可靠性,能刻画软件运行时的可靠性,计算结果会更准确,更接近实际运行的情况。(2)测试方法对软件可靠性计算的影响不大,对选取测试方法的要求降低。(3)通过不变量提取的失效数据,有利于评估软件的质量,监测和预测软件的运行情况,为我们提高软件质量提供了一种新的思路。

闫雪丽[8]2011年在《嵌入式软件可靠性模型研究》文中指出嵌入式软件因其可靠性和安全性高、继承性和技术衔接性强、发展稳定的特点,被广泛应用于人们生活的各个领域。如何根据其特点建立其软件可靠性模型是当前研究工作的一个热点。导航技术的发展对国防安全、政治经济都有重要的意义。导航软件系统广泛的应用到航天、航海等领域,其可靠性对运载器的安全和正确工作至关重要。这些关键软件系统的绝大部分是嵌入式软件。如何利用所建立的嵌入式软件可靠性模型预测导航设备软件系统的可靠性是当前研究工作的一个重点。本文以嵌入式软件研究对象,围绕其特点对软件可靠性建模的影响展开研究,旨在建立具有其特点的软件可靠性模型,预测软件可靠性。主要工作有以下几方面:首先,总结当前研究工作的主要问题,分析提出嵌入式软件可靠性建模时不可忽视的两个特点:即测试环境与运行环境不同和可靠性预测精度要求高,这也是本文研究的两个出发点。其次,针对嵌入式软件第一个特点,定性和定量地研究测试与运行环境差别对软件可靠性建模的影响,并证明差异的影响是存在的且不可忽视的。针对该问题,提出一种考虑测试与运行环境差别的软件可靠性建模方法:在测试阶段失效数据上选择最优拟合模型,并提出一种新的环境因子函数,用环境因子函数联系测试阶段与运行阶段的故障检测率,建立运行阶段的软件可靠性模型。利用公开发表的数据,验证建模方法和新环境因子函数的可行性,证明该模型具有简单、预测精度高等优点;第叁,针对嵌入式软件第二个特点,提出利用神经网络技术解决其预测精度高、失效数据噪声大等问题。研究神经网络的泛化能力及其改善方法,改善神经网络的建模过程,并建立其软件可靠性模型,验证比较模型的训练性能、拟合能力和预测能力。第四,研究嵌入式电子海图软件的特点,应用所建立的两种嵌入式软件可靠性模型评估预测其可靠性,并比较总结两种模型的特点。最后,从嵌入式软件可靠性数据收集和嵌入式软件可靠性早期预测模型两个方面,对后续工作提出新的方向。

余兆安[9]2008年在《基于WinCE嵌入式工控系统的实时性及软件可靠性研究》文中提出随着微电子和嵌入式技术的蓬勃发展,基于高性能嵌入式处理器的嵌入式工控机平台,以其体积小、可靠性高、成本低等优点,克服了传统工控机体积庞大、故障率高以及难以较长时间适应于工业控制的恶劣环境等缺点,广泛应用于工业控制领域,成为人们研究的热点。嵌入式操作系统是嵌入式工控机系统的核心技术之一。嵌入式操作系统WinCE以其可靠性高、开放性好、开发周期短和良好的人机界面等显着优点在嵌入式工控机操作系统市场占据一席之地。实时性、可靠性是工控系统的研究重点之一。本论文在论述WinCE系统实时性相关模块及现有的优化方案的基础上,提出了将RM调度算法及其可调度性充要条件应用到WinCE的多线程调度中,可有效预防周期性任务不能调度情况的发生,从而在一定程度上提高了WinCE的实时性。同时,本论文综述了软件可靠性设计及可靠性测试的方法,并在论述现有可靠性模型的设计方法与使用特点的基础上,将软件测试过程融入到软件可靠性模型的建立之中,运用相关数学方法,提出了一种基于测试用例模型的构建,此模型不仅精度有所提高,而且易于工程化。本论文的研究工作,密切结合在研项目“基于WinCE的电子清纱器软件系统的设计与实现”,使得相关实时性、可靠性的研究在实际系统中进一步得到验证,证明了本论文研究的有效性,也具有一定的实际意义。

涂洪澄[10]2008年在《软件可靠性模型在可靠性测试中的研究》文中指出随着社会日益信息化,社会的日常运行越来越依赖于软件系统,使得软件质量,尤其是软件可靠性已经成为一个不容忽视的问题。为了提高软件质量,软件可靠性测试在整个软件生命周期中扮演着越来越重要的角色。软件可靠性测试能有效发现并纠正软件中的缺陷,提高其可靠性水平。软件可靠性增长模型是可靠性测试以及可靠性度量应用的核心和关键。目前已经建立了一些软件可靠性模型,这些模型在一定程度上描述了软件可靠性,但均存在局限性,至今尚无哪一个模型能够以较好的精度适合广泛的应用。同时模型种种理想化的假设也限制了模型在现实中的应用。研究者们现在仍在继续探索更符合实际应用情况的可靠性模型。本文首先介绍了软件可靠性模型的发展历史与国内外现状,阐述了软件可靠性与可靠性测试的相关概念,为本文的研究提供了理论基础。接下来介绍了软件可靠性模型研究中常用的一些基本概念,为本文的研究提供了数学基础。之后在上述数学基础之上,简要介绍了几种经典的软件可靠性模型。最后,考虑到现实情况中不可能用有限的测试过程覆盖软件所有的潜伏故障点,提出了一种考虑潜伏故障点不完美覆盖的软件可靠性增长模型。利用几组经典的失效数据对本文提出的模型进行了性能分析以及验证,实验结果表明本文提出的模型相对与其他通用模型,有更好的拟合效果以及预测精度。

参考文献:

[1]. 软件测试中的软件可靠性改进[D]. 武增喜. 太原理工大学. 2008

[2]. 软件可靠性测试与评价技术的研究与实现[D]. 朱虹虹. 电子科技大学. 2004

[3]. 构件软件可靠性过程技术[J]. 张策, 崔刚, 刘宏伟, 孟凡超. 计算机学报. 2014

[4]. 高可信软件可靠性和防危性测试与评价理论研究[D]. 覃志东. 电子科技大学. 2005

[5]. 软件测试与可靠性评估[D]. 张广梅. 中国科学院研究生院(计算技术研究所). 2006

[6]. 基于XML技术的软件可靠性测试系统的研究与实现[D]. 赵朝俊. 电子科技大学. 2007

[7]. 测试方法对软件可靠性计算的影响分析[D]. 李晓雪. 浙江理工大学. 2013

[8]. 嵌入式软件可靠性模型研究[D]. 闫雪丽. 哈尔滨工程大学. 2011

[9]. 基于WinCE嵌入式工控系统的实时性及软件可靠性研究[D]. 余兆安. 西北大学. 2008

[10]. 软件可靠性模型在可靠性测试中的研究[D]. 涂洪澄. 湖南师范大学. 2008

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

软件测试与软件可靠性
下载Doc文档

猜你喜欢