background image

软件可靠性与测试方法探析

   摘 要:介绍了软件可靠性的概念,从分析影响软件可靠性的因素开始,提出了提高软件
可靠性的方法,进而引出了软件可靠性测试的定义以及进行软件可靠性测试的目的,阐述
了进行软件可靠性测试的方法。

 

  关键词:可靠性;软件可靠性;软件测试;可靠性测试

 

 
  

1 软件可靠性工程概述 

  随着计算机技术的飞速发展,软件的规模越来越大,复杂性越来越高,软件可靠性的
有效控制变得越来越复杂,研究和分析软件可靠性要求的特点,建立和完善软件可靠性设
计技术和测试技术成为提高软件产品质量非常迫切而重要的课题。

 

  

1.1 可靠性的定义 

  长期以来,学术界对软件可靠性的确切含义一直存在争议。争论的焦点主要集中在硬件
可靠性的定义是否能够直接引申到软件领域,软件的正确性是否能等同于可靠性。经过长期
的争论和研究,

1983 年美国 IEEE 计算机学会对

“软件可靠性”做出了如下两点定义: 

  (

1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统

输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否遇到已存在
的错误。

 

  (

2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。 

  

1.2 影响软件可靠性的因素 

  软件可靠性表明了一个软件按照客户的需求和设计的目标,执行其功能的正确程度。这
要求一个可靠的软件应该具有正确性、健壮性、完备性以及一致性的特点。正是因为软件中的
缺陷引起了软件故障,使软件不能满足需求。软件缺陷的形成如表

1 所示。 

  通过对这些软件缺陷形成原因的分析可以看出,为了保证软件的可靠性,必须对软件
开发过程采取措施,消除各阶段活动中各有关因素存在的问题(即要实施软件工程化)才
能使软件可靠性得到提高。

 

  

1.3 提高软件可靠性的方法 

  在软件结构的可靠性设计中,软件可靠性的基础是软

 

  件工程化技术,它提出了一些软件开发的基本原则和要求。软件设计采用自顶而下和模
块化设计的方法,建立一套结构良好的程序系统,将软件设计成由相对独立、功能单一的模
块组成的系统,使软件的耦合度最弱、内聚度最高且能使软件便于测试与维护。软件规模与
复杂度是影响软件可靠性的一个主要因素。把一个大的系统划分成相对独立的模块,降低了
系统实现难度,从而降低了软件在实现过程中出错的可能性,有利于提高软件可靠性。

 

  上述方法都是在软件的设计阶段,为了进一步提高可靠性,必须进行有针对性的软件
测试,即软件可靠性测试。

 

  

2 软件可靠性测试 

  

2.1 软件可靠性测试的定义 

  测试是指为了发现软件中的错误而采用人工或自动的手段来运行某个程序的过程。但是
在不同的开发阶段、对于不同的人员,测试的任务是不同的。软件可靠性测试是指为了保证
和验证软件的可靠性要求而对软件进行的测试。其采用的是按照软件运行剖面对软件进行随
机测试的测试方法。

 

  

2.2 软件可靠性测试目的