软件可靠性测试[2] 软件测试
3.可靠性测试覆盖
可靠性测试必须保证输入覆盖和环境覆盖,这是准确估计软件可靠性的基础。
输入覆盖包括下面几个内容:
·输入域覆盖,即所有被测输入值域的发生概率之和必须大于软件可靠度的要求。
·重要输入变量值的覆盖。
·相关输入变量可能组合的覆盖,以确保相关输入变量的相互影响不会导致软件失效。
·设计输入空间与实际输入空间之间区域的覆盖,即不合法输入域的覆盖。
·各种使用功能的覆盖。
环境覆盖是指测试时必须覆盖所有可能影响程序运行方式的条件。
三、软件可靠性测试的步骤
软件可靠性测试分为四个阶段:
1.制订测试方案
本阶段的目标是识别软件功能需求,触发该功能的输入和对应的数据域,确定相关的概率分布及需强化测试的功能。
以下是我们推荐的步骤。在一些特定的应用中,有的步骤并不是必须的。
(1)分析功能需求 分析各种功能需求,识别触发该功能的输入及相关的数据域(包括合法与不合法的两部分)。分析时要注意下述问题:
·该软件是否存在不同的运行模式?如果存在,那么应列出所有的系统运行模式。
·是否存在影响程序运行方式的外部条件?如果存在,那么有多少?它们的影响程度如何
·各种功能需求之间是相互独立的还是相关的?如果相关,是密切相关还是部分相关?如果两种功能密切相关,那么可将两种功能合并为一种功能。如果功能之间为部分相关,则需列出相应输入变量的合法组合。
(2)定义失效等级 判断是否存在出现危害度较大的1级和2级失效的可能性。如果这种可能性存在,则应进行故障树分析,标识出所有可能造成严重失效的功能需求和其相关的输入域。
(3)确定概率分布
·确定各种不同运行方式的发生概率,判断是否需要对不同的运行方式进行分别测试。
如果需要,则应给出各种运行方式下各数据域的概率分布;否则,给出各数据域的概率分布。
·判断是否需要强化测试某些功能。
(4)整理概率分布的信息 将这些信息编码送入数据库。