测试特点
---- 软件可靠性测试不同于一般的软件功能测试。
---- 首先,软件失效是由设计缺陷造成的,其输入数据决定了是否会遇到软件内部存在的故障,所以,软件可靠性测试强调按实际使用的概率分布随机选择输入数据,并强调测试需求的覆盖度。因此,软件可靠性测试实例的采样策略与一 般的功能测试不同,它必须按照使用的概率分布,随机地选择测试实例,这样才能得到比较准确的可靠性估,也有利于找出对软件可靠性影响较大的故障。
---- 第二,在软件可靠性测试过程中,要比较准确地记录软件的运行时间,其输入覆盖一般也要大于普通软件功能测试的要求。
---- 第三,软件可靠性测试对使用环境的覆盖比一般软件测试的要求高,测试时应覆盖所有可能影响程序运行方式的物理环境。尤其是一些特殊的软件,如容错软件、实时嵌入式软件等,其中对意外情况的处理,在一般的使用环境 下很难进行有针对性的测试,这时常常需要有多种测试环境。
测试步骤
---- 软件可靠性测试分为以下4个阶段:
---- 1、制定测试计划
---- 本阶段的目标是识别软件功能需求,触发该功能的输入和对应的数据域;确定相关的概率分布及需强化测试的功能,编写测试平台需求、可靠性测试计划和测试用例。建议采取下述步骤:
---- (1)分析功能需求
---- 分析各种功能需求,识别触发该功能的输入及相关的数据域(包括合法与不合法两部分)。
----(2)定义失效等级
---- 一般的等级定义如下表所示。首先判断是否存在出现危害度较大的1级和2级失效的可能性,如果存在,那么,就应该进行故障树分析,标识出所有可能造成严重失效的功能需求和其相关的输入域,以及外部条件和发生的可能性。对引起1级和2级失效的功能需求及其相关的输入域必须进行严格的强化测试;对引起3级失效的功能可按其发生概率选择测试实例。
----(3)确定概率分布
---- 确定各种不同运行方式的发生概率,给出各种运行方式下各数据域的概率分布,判断是否需要强化测试某些功能。
----(4)整理概率分布的信息。
----(5)编写测试平台需求、测试计划和测试用例,确定测试内容和测试顺序,分配测试资源。
----2、测试准备
---- 本阶段进行以下两项工作:
----(1)根据前阶段的测试计划和测试用例,生成相对应的测试实例输入文件,并计算出每一测试实例所预期的输出结果。
----(2)研制软件测试平台,建立软件测试环境。具体实施方法与被测应用软件的实际功能类型、测试投入及运行环境有关,这里不再细述。
31/3123>