软件可靠性测试与评估方法的改进

点赞:6324 浏览:21796 近期更新时间:2024-02-14 作者:网友分享原创网站原创

摘 要 将软件可靠性工程与传统可靠性工程进行比较,并对软件错误进行了分析,从而找到改进软件可靠性测试与评估的方法.

【关 键 词 】软件可靠性 错误 改进

1.前言

软件测试与可靠性分析的研究是基于认识软件产品及其开发过程的特点和性质的基础上进行的.只有充分了解软件产品开发测试及其可能出现的错误的性质和特点,才能清楚认识软件的可靠性分析.

2.软件可靠性工程的分析

传统工程可靠性分析是近几十年来才发展起来的学科研究,最早出现在武器和电子产品上,而软件可靠性的研究起步更晚,研究尚不成熟.与传统工程的可靠性相比,软件工程可靠性有更多的复杂性.

2.1 软件与硬件可靠性对比

软件与硬件可靠性相比,有以下不同:

(1)复杂性:从内部逻辑来看,软件是非常复杂的,硬件是相对简单的,所以这种复杂的内部逻辑关系导致了软件失效的可能性大大增高.

(2)物理退化:这是硬件主要失效的主要原因,而软件则不存在此种失效.也就是说,只要软件是正确的,就不会失效,虽然硬件是正确的,但是不一定可靠.

(3)唯一性:软件是唯一的,拷贝不会改变软件本身,然而不可能有两个完全相同的硬件.所以,概率方法在硬件可靠性检测中十分有效,而在软件中难有成效.

认识软件与硬件可靠性的区别,可以帮助理解软件可靠性性质,然而,也可能会引起片面性的理解.所以,在实际应用中,应当准确运用.

2.2 软件可靠性工程与传统的可靠性工程对比


传统工程研究的是特定的领域,而软件研究的范围非常广泛,涉及了各个领域.每个新的软件项目差不多都是一个新的问题,没有现成的程序可以利用.软件的复杂性主要是由其复杂的逻辑关系造成的.所以,这种不断变化、完全迥异的逻辑关系会给软件可靠性造成巨大的阻碍.

软件可靠性测试与评估方法的改进参考属性评定
有关论文范文主题研究: 关于可靠性的论文范文资料 大学生适用: 学位论文、自考论文
相关参考文献下载数量: 45 写作解决问题: 怎么撰写
毕业论文开题报告: 文献综述、论文题目 职称论文适用: 论文发表、职称评初级
所属大学生专业类别: 怎么撰写 论文题目推荐度: 优秀选题

传统的可靠性工程研究是确定的自然过程,而软件开发由各种不同的方式和方法实现同一种功能,这主要取决于开发者的兴趣爱好和开发习惯.这也是造成软件可靠性失效的重要原因.

新的软件项目都会与原有的项目有很大差异,每次的软件开发都会不同于以往,必需从头开始,少有参考.所以,这样很难制定软件可靠性标准来统一软件的开发,给软件可靠性检测带来了不便.

软件直接来源于人们的脑力劳动,所以开发者更愿意忽略破坏软件可靠性的随机因素.虽然在建立软件的可靠性模型时,需要对软件可能会出现的错误以及软件相互之间的错误概率做出检测设,但是人们还是没有足够认识影响软件可靠性的随机因素和非随机因素.

2.3 软件错误

对于软件的错误,根据不同的标准可以将其分为不同的类型,如从是否具有独立性来看,可以分为设计性错误和偶然性错误.设计性错误主要是由设计者在设计过程中设计不当造成的.偶然错误是相对的,主要是指发生偶然、与其它错误没有必然联系的错误.

软件可靠性模型中常常检测设“软件错误的发生是相互独立的”,所以对于设计性错误来说,这个检测设是毫无意义的,它是非随机性错误.对于随机性错误,要弄清楚软件错误之间相互独立的意义.然后,可以根据以下方法进行判断:检测设有软件错误A和B,如果存在一个数据C,当错误A和B同时出现时,数据C也出现问题,那么错误A和B是有关联的;反之,则它们没有关联.

3.软件可靠性测试与评估方法的改进

了解了软件错误的判断方法以后,可以使用此种方法对可靠性模型的评估方法加以改进,以便于软件错误之间独立这种检测设的运用.图1是改进后的方法流程图.

这种改进方法的主要思想是对输入数据过滤,以达到剔除不需要数据的目的,最终得到的输入数据都是相互独立的,不会相互关联.当出现一个新的软件错误时,首先要判断其与其它错误是否有关联,如果有关联,则不保存到可靠性模型输入数据之中;如果没有关联,则将其保存.

这种改进的主要优点是显而易见的.模型检测设了软件错误之间是没有关联的,然而当出现关联,如果软件错误b被软件错误a所屏蔽,只有在发现并更正a之后才能发现b.此时,错误b发生的概率就不是本身单独发生的概率,而是在错误a更正后所发生的条件概率.而且,错误a和b同时使同一数据失效,错误b有可能更容易被发现,所以,舍弃错误b来得到模型输入数据的独立性,可以得到更准确的预期结果.

4.结束

通过与传统的可靠性工程对比,软件可靠性检测与评估有着其固有的复杂性.通过对可靠性评估模型改进后,可以得到更好的结果.对于以后的软件可靠性分析有一定的借鉴意义.