技术开发 频道

软件可靠性测试

三、软件可靠性测试的步骤

  软件可靠性测试分为四个阶段:

  1、制订测试方案

  本阶段的目标是识别软件功能需求,触发该功能的输入和对应的数据域,确定相关的概率分布及需强化测试的功能。

  以下是我们推荐的步骤。在一些特定的应用中,有的步骤并不是必须的。

  (1)分析功能需求 分析各种功能需求,识别触发该功能的输入及相关的数据域(包括合法与不合法的两部分)。分析时要注意下述问题:

  · 该软件是否存在不同的运行模式?如果存在,那么应列出所有的系统运行模式。

  · 是否存在影响程序运行方式的外部条件?如果存在,那么有多少?它们的影响程度如何

  · 各种功能需求之间是相互独立的还是相关的?如果相关,是密切相关还是部分相关?如果两种功能密切相关,那么可将两种功能合并为一种功能。如果功能之间为部分相关,则需列出相应输入变量的合法组合。

  (2)定义失效等级 判断是否存在出现危害度较大的1级和2级失效的可能性。如果这种可能性存在,则应进行故障树分析,标识出所有可能造成严重失效的功能需求和其相关的输入域。

  (3)确定概率分布

  · 确定各种不同运行方式的发生概率,判断是否需要对不同的运行方式进行分别测试。

  如果需要,则应给出各种运行方式下各数据域的概率分布;否则,给出各数据域的概率分布。

  · 判断是否需要强化测试某些功能。

  (4)整理概率分布的信息 将这些信息编码送入数据库。

  2、制订测试计划

  本阶段的目标是:

  (1)根据前一阶段整理的概率分布信息生成相对应的测试实例集,并计算出每一测试实例预期的软件输出结果。本阶段需要注意:在按概率分布随机选择生成测试实例的同时,要保证测试的覆盖面。

  (2)编写测试计划,确定测试顺序,分配测试资源。由于本阶段前一部分的工作需要考虑大量的信息和数据,因此需要一个软件支持工具,建立数据库,并产生测试实例。另外,有时预测软件输出结果也需要大量的计算,有些复杂的软件甚至要用到仿真器模拟输出结果。

  总之,具体实施与被测应用软件的实际功能类型有关。

  3、测试

  本阶段进行软件测试。需注意的是被测软件的测试环境(包括硬件配置和软件支撑环境)应和预期的实际使用环境尽可能一致,对某些环境要求比较严格的软件(如嵌入式软件)则应完全一致。测试时按测试计划和顺序对每一个测试实例进行测试,判断软件输出是否符合预期结果。测试时应记录测试结果、运行时间和判断结果。如果软件失效,那么还应记录失效现象和时间,以备以后核对。

  4、编写测试报告

  按软件可靠性估计的要求整理测试记录,并将结果写成报告。笔者认为,软件可靠性测试的关键在于:

  · 对需求、输入、数据域的识别及相关概率分布的确定。

  · 按照概率分布随机生成测试实例,并确定测试顺序。

  据国外有关文献报导,这种测试方法已成功应用于大量应用软件的可靠性测试,包括一些商用软件和航空、航天电子设备中嵌入式软件的测试,其效果很好。因此,我们有必要投入一定的人力、物力,针对我们的实际需要,有目的地对各类应用软件进行软件可靠性测试,从实践中逐步积累经验。同时需要软件开发方和使用方共同合作,进行软件可靠性测试方法的研究和有关支持工具的开发,促进我国软件可靠性水平的提高。
 

0
相关文章