计算机软件可靠性与质量管理的探究

2017-04-13 19:28李瑞
电子测试 2017年4期
关键词:软件可靠性计算机软件可靠性

李瑞

(陕西财经职业技术学院,陕西咸阳,712000)

计算机软件可靠性与质量管理的探究

李瑞

(陕西财经职业技术学院,陕西咸阳,712000)

在软件无处不在的现代化社会中,计算机软件可靠性问题是一个非常值得关注的点。若是处于重要位置的计算机软件出现了失误或瘫痪,就会阻碍正常的社会运行,造成巨大的社会经济损失。本文对计算机软件的可靠性定义、评估标准、可靠性测试等概念性问题进行了探究。并在此基础上,从应当加强软件质量管理的观点出发,对计算机软件可靠性的质量管理措施进行了探讨。旨在通过合理科学的计算机软件质量管理来改善计算机软件可靠性问题。

软件可靠性;质量管理;测试;计算机

0 引言

计算机技术被大量应用在商业、科技、生活等多领域中,而且还有变愈演愈烈的趋势是,近年来,人工智能频频成为新闻热点,就是一个很好的说明。在计算机硬件生产技术愈发成熟的今天,对计算机技术的改造更多的是注目于软件领域。多种多样的、不同类型,不同功能的软件被开发出来服务于人类,编程人员用看似虚拟的一串串代码创造出的软件不断使我们的生活变得简易,便捷。在感受到科技带来的幸福的同时,我们应当对计算机软件安全问题提高重视,计算机软件可靠性就是其中的一个方面。

1 软件的可靠性

计算机软件的可靠性主要是指:在给定范围的的时间和空间内,计算机软件不会引起系统故障的几率。这个概率也可以理解为软件的缺陷函数,是系统输入和系统使用函数的描述。这个函数可以用来概括计算机软件在一定条件下能够流畅的跑完程序所需要的能力。

通常使用可靠性测试来评估某个计算机软件的可靠性,它一般包括以下一系列的测试环节:明确测试目标、制定修改测试方案、标准化实测过程、收集测试数据、科学统计分析相关测试数据、完成数据分析结果报告。

实施这种测试的主要目的,一方面是发现计算机软件所存在的缺陷,另一方面为软件的正常维护提供较为可靠的工作数据,同时对软件的可靠性进行定量分析,从而判断其是否合格,是否具有推广应用价值。

要想准确测试计算机软件的可靠性,设计一个典型而科学的测试用例显得尤为关键,用例设计的科学性直接影响着软件可靠性测试的信度。一般来说,如果测试用例在软件测试中无法正常工作,计算机控制系统以及其他相类似的程序软件会做出比较详细的说明,也会通过 CPU 时间或者时钟时间来进行准确客观的定义。但针对一般的普通应用系统,测试用例无法正常运转和执行,就要进行综合考虑。一方面要考虑运行程序与用户需求的匹配性,另一方面要考虑运行程序的指定功能的效果与用户的实际期望指数。在测试用例的过程中,我们会得到关乎计算机软件的可靠性一系列的数据,而这些数据是对计算机软件进行可靠性分析和评价的基础,为了提高测试的信度,我们一般会通过多台计算机同时,同步对测试用例进行运行,并且适当增加运行的累计时间,从而获得更多的关于计算机软件可靠性的相关数据,其中我们较为采用的数据是用时间来定义的。这些数据在测试过程中要客观、真实的记录从而为软件可靠性的评价分析打下坚实的数据基础。

在完成用例测试之后,我们要针对所测试的计算机软件进行可靠性分析与评估。这一过程一般包含以下几个方面。首先要选择一个软件可靠性的模型。目前比较公认的是广义指数模型,它是《计算机软件测试规范》所主推的四种软件可靠性模型中的一种。它的特点是把比较流行的几种模型进行整理,统一为一种形式,并且用一组公式来表征软件中存在的危险指数,从而有效的简化了模型建立的过程,为软件可靠性测试节省了大量时间。它的主要理论是:程序无法正常运行的概率与软件中本身存在的缺陷呈正相关,这种概率在两次失效的间隔之间保持一定的数据稳定,当软件中存在的缺陷或漏洞被排除将会降低软件运行的失效率。这种失效率可以通过以下几点进行客观预测。统计在一定时间范围内软件无法正常运行的次数,以及其发生的最大次数,在软件故障排除以前所需要的故障排除时间。这种模型基于的基本假设是:软件运行的失效率与故障的个数有着直接的相关性。每一个故障发生应该是相互独立的,并且这种概率是相等的,每一个故障的严重性是一致的,软件的运行程序与预期的使用方法基本一致。在选择完科学的模型之后,我们要对数据进行合理的判断与分析,从而为软件可靠性的评估和预测奠定一定的基础。

目前比较通用的计算机软件的可靠性的测试方法可谓百花齐放,但总体来说,可以分为静态与动态测试,白盒与黑盒测试。前者是根据测试中是否要执行被测软件的角度出发 , 后者是根据测试中是否需要针对计算机系统的内部结构和具体实现算法的角度出发。

评估软件可靠性其标准主要有三:一是FIPS 135是美国国家标准局发布的《软件文档管理指针》;二是NSAC--39是美国核子安全分析中心发布的《安全参数显示系统的验证与确认》;三是ISO 5807是国际标准化组织发布(现在已经成为中国国家标准)的《信息处理--数据流程图、程序流程图、程序网络图和系统资源图的文件编制符号及约定》。其标准层次有五个,从顶层到低层依次是国际标准、国家标准、行业标准、企业规范及项目(课题)规范。其标准级别也是五个,即国际标准、国家标准、行业标准、企业(机构)标准和项目(课题)标准。这是根据软件工程,其标准制定的机构和标准适用的范围有所不同分出的级别。软件工程包括软件开发技术和软件工程项目管理两大部分。第三代软件工程:基于构件的软件工程是以软件服用为目标、领域工程为基础,其开发过程一般包括四个阶段,依次是领域分析和测试计划定制、领域设计、建立可复用构件库、按“构件集成模型”查找与集成构件。提高开发软件的可靠性,确保软件质量必须执行军用软件开发规范的有关标准,对软件开发的全过程实行软件工程化管理。

2 提高软件质量管理

我国制定了软件开发的国家标准和军用标准,国家标准是参照国际ISO和IEC标准而制定的,国家军用标准是参照MILL标准而制定的。他们都是软件开发成功经验的总结,执行软件开发的标准、规范、条例和约定,是确保开发软件质量的首要措施,也便于与国际先进标准接轨。建立软件质量保证组织,由软件主任设计师、软件设计师、软件质量保证师组成,负责软件开发中的文档编制、软件设计、软件评审和审查、软件测试、软件质量管理、软件计划进行度。软件设计人员要实行“双岗制” ,软件需求分析,软件设计,软件编程,软件测试各阶段必须配备两个以上人员参与并负同等责任。软件设计人员、软件编程人员实行“三分离” ,即软件设计人员不负责编程,软件编程人员不负责测试。“双岗制”和“三分离”的组织形式是减少软件错误的重要措施。

3 总结

计算机软件逐渐成为人们生活中不可欠缺的一部分,甚至从某种方面来说,计算机技术的发达程度已经和国家现代化程度挂钩。如果计算机软件可靠性不能保证,一旦出现重大失误就会给人民生活带来困扰、影响企业的正常运行、甚至有可能危害国家安全。本文对计算机可靠性进行了探讨,并且从质量管理的角度出发,对改善计算机软件可靠性提出了一些建议。希望工作在一线的工程技术人员和相关部门能够对此问题加深重视,在加强软件质量管理上下功夫。若是本文能够对相关工作提供一点帮助,笔者感到万分荣幸。

[1]王雪梅,赵昕.浅议星载嵌入式计算机系统可靠性技术.河南科技.2013.

[2]刘磊.计算机软件可靠性测试的具体措施分析.《计算机光盘软件与应用》.2012.

[3]杨健,王震关于计算机软件可靠性设计的研究分析.《电子制作》.2013.

[4]袁豪.对目前计算机软件可靠性及其测试分析.《科学中国人》.2015.

[5]唐箫玲.计算机软件可靠性测试具体措施研究.《广东科技》.2013.

[6]李婉滢.浅谈计算机软件可靠性的机理与参数.《科技创业家》2012.

Research on reliability and quality management of computer software

LiRui
(Shaanxi Vocational College of Finance and Economics,Shaanxi Xianyang,712000)

in the modern society, the reliability of computer software is a very important issue. If the computer software is in an important position, there is a mistake or paralysis, it will hinder the normal social operation, resulting in huge social and economic losses. In this paper, the concept of computer software reliability, evaluation criteria, reliability testing and other conceptual issues were explored. On the basis of this, from the point of view of software quality management, the quality control measures of computer software reliability are discussed. The aim of this paper is to improve the reliability of computer software through scientific and reasonable software quality management.

software reliability; quality management; TESTING; computer

猜你喜欢
软件可靠性计算机软件可靠性
可靠性管理体系创建与实践
合理使用及正确测试以提升DC/DC变换器可靠性
软件可靠性工程综合应用建模技术研究
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
5G通信中数据传输的可靠性分析
浅谈基于C语言的计算机软件程序设计
数控系统软件可靠性设计与故障分析技术
基于可靠性跟踪的薄弱环节辨识方法在省级电网可靠性改善中的应用研究
简谈使用BoundsChecker进行计算机联锁系统人机界面软件可靠性测试