一种基于概率风险评价的软件测试方法与流程

文档序号:11590204阅读:322来源:国知局

本发明属于可靠性测试技术领域,具体是一种基于概率风险评价的软件测试方法。



背景技术:

概率风险评价是用基于事故场景的方法思路分析研究实际系统,它能够明确地描述系统的危险状态及潜在事故的发生和发展过程,通过结合运用多种安全性分析技术,鉴别出其后果,并计算出各种危险因素导致事故的发生概率,能有力地支持安全风险的管理决策,为风险的定量评估提供了可行而有效的途径,被实际应用于核能、化工、航天等领域。

软件测试是软件质量保证的关键步骤,其目标是以最少的人力、物力和时间投入,尽可能多地发掘软件中存在的各种错误和缺陷,测试结果可为软件可靠性分析提供依据。

在对软件进行测试的基本过程中,测试设计是根据测试计划设计测试方案,编写详细测试脚本的过程。测试设计过程的输出是各测试阶段使用的测试用例。随着软件系统日趋庞大,软件的测试正变得与软件开发一样复杂。传统的测试方法有多种分类,如:白盒测试与黑盒测试、功能测试与结构测试、静态测试与动态测试。但测试用例的生成过程大多是随机产生的,测试过程耗时耗力,且无法全面模拟软件的实际操作场景,并构造完整准确的运行剖面。



技术实现要素:

本发明为解决上述问题而提供一种基于概率风险评价的软件测试方法。

本发明一种基于概率风险评价的软件测试方法,包括以下步骤:

s1、概率风险评价场景识别:由传统概率风险评价分析方法得到系统相应的引起顶事件的各事件割集,并根据各事件割集建立系统故障树,再分析各割集事件发生后软件所起的控制作用,识别包含软件调节功能的高层级的概率风险评价场景;

s2、运行剖面特征化描述:结合系统的初始状况和高层级的概率风险评价场景的概率失效模型,即系统物理状况相关的各事件割集及其概率,和各事件割集引起的系统变化,构成运行剖面,再对运行剖面进行特征化描述,真实地描绘系统状态和变化性;

s3、运行剖面生成样本:从运行剖面中随机采样生成样本,样本数量由测试需求决定;

s4、搭建系统的物理仿真模型:结合仿真软件构建系统的物理仿真模型;

s5、物理仿真模型产生测试用例:将样本输入系统的物理仿真模型,物理仿真模型运行仿真得到包含概率特性的仿真结果,并作为测试用例;

s6、执行测试:将测试用例输入被测系统进行测试。

进一步的,s2中,系统变化性用不同类型参数的概率分布表征。

更进一步的,s2中,不同类型参数的概率分布能在运行剖面特征化描述过程中得到。

进一步的,s3中,样本内容包括:系统初始状况、系统初始状况的概率分布、高层级的概率风险评价场景中的一个事件割集和事件割集中每个失效事件的概率失效模型。

进一步的,s5中,作为测试用例的仿真结果包括物理参数数值。

更进一步的,s5中,物理参数数值包括但不限于传感器信号数值。

进一步的,s6中,还包括结合软件测试的实际响应和软件需求,分析软件运行是否合理,验证测试结果是否正确。

本发明的有益效果是:

本发明通过采用概率风险评价(pra)方法对系统进行分析,在此基础上获得系统运行剖面的特征描述,并随机采样生成样本,产生包含风险信息的测试用例,最大程度地测试风险事件发生后系统软件功能是否能达到预期要求。可完整准确的构造软件运行剖面,并可进一步用于基于风险告知的软件可靠性评价。

附图说明

图1为本发明的软件测试过程流程图;

图2为本实施例的液位控制系统模型;

图3为本实施例的液位控制系统控制程序软件流程图;

图4为本实施例的液位控制系统模型pra场景识别;

图5为本实施例的仿真模型方框图;

图6为本实施例的部分样本文件。

具体实施方式

为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

本发明的软件测试方法,通过采用概率风险评价(pra)方法对系统进行分析,在此基础上获得系统运行剖面的特征描述,并随机采样生成样本,产生包含概率特性的测试用例,最大程度地测试风险事件发生后系统软件功能是否达到预期要求。

现结合附图和具体实施方式对本发明进一步说明。

实施例:

如图1至图6所示,作为一个具体的实施例,本发明通过构建一个单容水箱液位控制系统模型,按照图1所示流程,说明本发明基于概率风险评价的软件测试方法的具体实施过程。

如图2所示为一种液位控制系统模型,包括阀门管道、水箱及相应控制系统。其控制系统软件流程图,如图3所示,包含液位调节功能和水位异常保护功能。

步骤1:概率风险评价场景识别:由传统概率风险评价分析方法可得到系统引起相应顶事件的各事件割集,并建立系统故障树,再分析各割集事件发生后软件所起的控制作用,识别为包含软件调节功能的高层级的概率风险评价场景。具体地,由传统概率风险评价分析方法通过对构建的模型部件故障模式定义及影响分析,得到相应的事件割集,结合软件作用,所得高层级概率风险评价场景如图4所示。顶事件为液位系统水位异常,即水漫过水箱或干涸,是不期望发生的事件。导致顶事件发生有3个一级原因事件,并最终识别8个事件割集,由系统特性可知,8个基本事件均为最小割集,即任何一个基本事件的发生都会导致液位系统水位异常。在此概率风险评价场景中,已包含软件调节功能对系统的作用。例如,相对于给水阀门的两种故障模式:故障闭合和故障全开,排水阀门仅有一种故障模式,即排水阀门故障全开,原因在于当排水阀门故障闭合时,控制系统软件会对给水阀门进行相应控制,不会导致水位异常顶事件发生。这种考虑软件影响的故障树可识别为更高层级的概率风险评价场景,即包含软件调节功能的高层级的概率风险评价场景。

步骤2,运行剖面特征描述:结合系统的初始状况和高层级的概率风险评价场景的概率失效模型,即系统物理状况相关的各事件割集及其概率,和各事件割集引起的系统变化,构成运行剖面,再对运行剖面进行特征化描述,真实地描绘系统状态和变化性。

由液位系统初始状况概率分布情况,定义了3种初始状况:

l-液位处于低水位,系统处于调节状态

m-液位处于给定液位,系统处于稳定状态

h-液位处于高水位,系统处于调节状态

结合上述作为最小割集的8个基本事件构成的各事件割集,即:

x1-破口事件;

x2-控制器失效;

x3-给水阀门故障闭合;

x4-给水阀门故障全开;

x5-排水阀门故障全开;

x6-传感器无输出;

x7-传感器输出保持故障前的瞬时值;

x8-传感器输出最大值;

及其各自的概率,和各事件割集引起的系统变化,可描述液位系统运行剖面,再对运行剖面进行特征化描述,真实地描绘系统状态和变化性。系统变化性用不同类型参数的概率分布表征,不同类型参数的概率分布由系统运行剖面决定,且能在步骤5的物理仿真模型运行仿真过程中体现。

步骤3,运行剖面生成样本:从运行剖面中随机采样生成若干个样本。取样内容包括:系统初始状况的概率分布,选择的系统初始状况;从高层级的概率风险评价场景中选取的一个事件割集;事件割集中每个失效事件的概率失效模型(包括每个失效事件的故障模式和失效概率)。

根据高层级概率风险评价场景,按照事件发生概率进行随机采样事件割集,其中包含概率失效模型,获得的部分样本文件如图6所示。

步骤4,搭建系统物理仿真模型:通过仿真工具搭建液位系统仿真模型,其方框图如图5所示。模型采用闭环控制系统,液位控制系统部件均已包含在模型之中,即水箱、比例积分微分(pid)控制器、液位传感器、电动调节阀门等,并加入转换开关用于引入失效事件。所得模型可用于仿真系统稳态运行工况,并在失效事件引入之后,逼真模拟样本的事件割集的失效影响。

步骤5,物理仿真模型产生测试用例:将取样样本输入系统的物理仿真模型,得到每个样本对应的包含概率特性的仿真结果。仿真结果作为每个样本对应的测试用例。作为测试用例的仿真结果包含了代表传感器信号等的物理参数数值。

步骤6,执行测试及分析结果:仿真结果包含了代表传感器信号等的物理参数数值,此信号将作为测试用例输入系统软件。在本实施例中,将测试用例输入控制系统,结合软件实际响应和软件需求,分析软件运行是否合理,验证测试结果是否正确。

本发明一种基于概率风险评价的软件测试方法,通过采用概率风险评价(pra)方法对系统进行分析,在此基础上获得系统运行剖面的特征描述,并随机采样生成样本,产生包含风险信息的测试用例,最大程度地测试风险事件发生后系统软件功能是否达到预期要求。可完整准确的构造软件运行剖面,并可进一步用于基于风险告知的软件可靠性评价。

尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1