APP下载

基于电子系统工程软件可靠性评估方法初探

2014-04-16李建平新青区人民政府办公室信息中心

经济技术协作信息 2014年31期
关键词:软件可靠性测试用例软件测试

李建平/新青区人民政府办公室信息中心

基于电子系统工程软件可靠性评估方法初探

李建平/新青区人民政府办公室信息中心

我们有必要深入研究软件的可靠性评估和测试方式,以保证软件系统的质量,本文结合工程软件自身的特点,对软件可靠性的基本概念以及测试软件可靠性的过程进行了简要叙述,提出了一种适用于大型电子系统工程软件的可靠性定量评估方法

评估方法;软件可靠性;电子系统

对于软件可靠性的研究至今已经有几十年的历史,也取得了一定程度的进展,研究软件的可靠性是当前时代的一个前沿科技课题,软件的可靠性研究就目前的情况来看还不够成熟,与实际的工程应用之间还存在着一定的差距,还处于理论研究的探索阶段。传统的软件可靠性模型由于多种因素,导致在实际工程中软件可靠性模型无法直接应用,当前一种用于工程软件可行的可靠性定量评估方法是我们所缺少的。

一、软件可靠性评估的基本要素

1.规定的环境条件。软件的运行环境指的就是环境条件。其涉及到如操作系统、输入数据格式域范围、支持硬件、操作规程、其他支持软件等软件系统运行时所需要的各种支持要素。软件的可靠性在不同的环境条件下是有所差异的。规定的条件具体来说主要是描述在软件系统运行的过程中对输入数据的要求以及计算机的配置情况,其他因素并假定都是理想因素。对环境条件进行了明确的规定,可以判断出软件失效的责任是在研制方还是使用方。

2.规定的时间运行时间可以作为规定时间的定量,因为软件可靠性所体现的只是其运行阶段。软件系统在运行后挂起与工作的累计时间是运行时间的主要内容。此外,选取程序路径和软件的运行环境由于具有随机性,因此软件的失效为随机性事件,运行时间也就相应的属于随机变量。

3.规定的功能。规定的工程和任务与软件的可靠性也有着重要的关系。软件的运行剖面会由于所要完成的不同任务而有所区别,其调用的子模块因此也有所不同,可靠性也因此有可能不相同。因此,必须要先明确其功能和任务,这样才能准确对软件的可靠性进行度量。说到软件可靠性评估就少不了软件可靠性模型。建立的数学模型和可靠性框图用以估算或预计软件的可靠性,可靠性模型的建立是为了便于定量分配、估算、预计以及评价复杂的系统可靠性,为了将较为复杂的系统可靠性逐层分解为较为简单的系统可靠性。

二、测试软件可靠性的过程

1.测试前检查。在工程软件可靠性正式测试之前,研制任务书与软件需要要检查是否一致,检查程序与文档的一致性,数据、相应的软件支持环境、所交付的程度要检查是否符合要求,软件研制过程中所形成的文档要检查其是否齐全,文档的完整性与准确性要检查是否已经通过了相关的评审。软件研制过程中形成的文档,根据软件行业的相关标准共有16种:《软件开发计划》、《计算机资源综合保障手册》、《接口需求规格说明》、《软件程序员手册》、《软件设计文档》、《计算机系统操作员手册》、《版本明文档》、《软件测试说明》、《系统和段设计文件》、《固件保障手册》、《软件需求规格说明》、《软件用户手册》、《接口设计文档》、《软件测试报告》、《软件产品规格说明》、《软件测试计划》。其中《软件测试说明》、《软件测试报告》以及《软件测试计划》,在这里需要注意,是在研制过程中研制方进行测试所形成的测试文档。如果软件的规模不是特别大,原则上来说,是可以将某些文档合并的。虽然进行测试前检查增加了一定的工作量,但是为了提高软件的质量以及及早发现一些错误,进行检查是非常必不可少的一个环节。

2.测试用例设计。针对组合功能或者是特定的功能设计测试方案,并且将其编写成文档,这就是我们所说的设计测试用例。选择测试用例时要注意,要包括一小与最大边界情况以及极限情况。在选择数据和测试用例时,要尽量考虑那些比较容易发现缺陷的数据和测试用例,因为进行测试的目的就是找出隐藏在软件中的缺陷,要结合复杂的运行环境,确定所有可能的输出条件与输入环境中的测试数据,对软件是够能够产生正确的输出进行检查。一个标准的测试用例应该包括以下信息:待测试的功能;测试日期;评价输出结果的准则;测试步骤;测试目标;预期的输出;测试输入。此外,测试用例要在经过专家评审后方可投入使用。对测试用例进行描述是选择和设计测试用例集的这种描述是否完整、规范化、可理解、权威,决定了试验鉴定人员、软件研制人员、操作人员在多大程度上或者是能否理解和接受该测试用例。因此,在软件的评估与测试中规范化的测试用例描述具有非常重要的意义。

3.实施测试。上述准备就绪后,便可以进行具体测试。用户稳定、数据、说明书、程序等于可靠性质量特性有关的部分交付的所有软件文档部分,都应该按照质量需求和需求说明进行测试。数据和程序,在需求说明书、用户文档、项目合同中规定的所有配置情况进行测试。可以在测试的过程中考虑进行强化输入。在强化输入下如果软件可靠,那么就说明在正规输入下要更加可靠。我们应该采用多台计算机同时运行软件,进一步增加累计运行时间,以获得更多的可靠性数据。

4.收集可靠性数据。可靠性评估的基础就是软件可靠性数据,应该建立软件错误分析、错误报告、错误纠正系统。可靠性数据和软件错误报告的保存、收集、处理、分析规程,按照相关的标准要求进行制定与实施,对测试阶段软件的可靠性数据和错误报告进行准确完整的收集与记录。软件可靠性数据如果用时间定义,那么可以分为四类:记录发生一次失效所累计的时间为第一失效时间数据;记录上一次与本次失效之间的间隔时间,为第二失效间隔时间数据;记录某个时间区内发生了多少次失效,为第三分组数据;记录某个时间区内的累积失效数,为第四分组时间内累积失效数。这四类数据分组数据;记录某个区间内的累积失效数,为数据是可以进行相互转化的。每个测试记录都必须要包含充分的信息,主要包括:便有测试用例的测试说明或测试计划;参与测试的个人身份;测试时间;包括所有测试时发生的故障在内的,与测试有关的所有测试结果。

5.测试报告的编写。软件可靠性测试报告,在完成测试活动后是必须要编写的,要对在测试报告中对测试结果以及测试项目进行归纳和总结。可以参考相关的规范格式进行编写,同时要根据具体情况进行剪裁。测试报告应该具有以下主要内容:软件和硬件的使用配置;用户文档、数据和程序的测试结果、产品说明;测试的最终日期;产品标识;与需求不相符合的项目列表;使用的文档。这种规范化的过程控制管理,可以为最终得到客观的评估结果奠定基础,有利于获得真实有效的数据。

总结:本文对软件可靠性的基本概念以及测试软件可靠性的过程进行了简要叙述。完全用现场试验的方法可以说是最好的评估软件可靠性的方法。对软件的可靠性进行评估受到很多条件限制,其中可靠性信息的不足是最大的限制。这就需要:明确软件与各模块的可靠性关系;软件研制部门的配合;收集足够的各模块和软件历史可靠性试验信息;以及已知的各模块寿命类型。

[1]石柱.基于模糊技术的软件质量评价及可靠性评估[D]北京:北京航空航天大学,2000(3).

[2]王强,陆阳,方欢,朱晓玲基于结构分析的复杂软件可靠性评估方法[J].2013(4). [3]陈敏,汤晓安.航天器计算机系统中软件的可靠性评估方法研究[J].2004(8).

猜你喜欢

软件可靠性测试用例软件测试
基于SmartUnit的安全通信系统单元测试用例自动生成
基于OBE的软件测试课程教学改革探索
软件可靠性工程综合应用建模技术研究
EXCEL和VBA实现软件测试记录管理
基于混合遗传算法的回归测试用例集最小化研究
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究
数控系统软件可靠性设计与故障分析技术
基于依赖结构的测试用例优先级技术
简谈使用BoundsChecker进行计算机联锁系统人机界面软件可靠性测试