您当前的位置:检测资讯 > 法规标准
嘉峪检测网 2021-09-01 00:15
为了改进现有智能装备系统可靠性试验技术,提高试验评价的准确性,对现行可靠性试验和软件测试的特点进行了分析,研究提出一种考虑软件工作载荷的可靠性综合试验剖面设计技术,通过融合MUSA操作剖面构造技术和Markov链的状态迁移技术,设计软件使用操作剖面,基于任务剖面实现软操作剖面和硬件可靠性试验剖面的有效匹配。
信息化技术的迅猛发展,在轨道交通、电力、智能制造等广泛应用,出现大量以为软件为核心的软件密集型智能装备系统,软件密集型指在设备系统的功能特性、研制费用、研制风险及研制时间等一个或多个方面,软件占主导地位的装备系统,即以软件为核心的装备系统。目前对该类设备的试验评价,采用了传统的可靠性试验加软件测试的方式进行,按照规定要求完成试验和故障归零后,在实际装备使用中仍出现不少的质量与可靠性问题,通过对多型装备定型后出现的故障数据分析发现,装备使用条件下的环境应力、外部输入数据、用户的使用操作等多个因素共因造成的设备故障与失效情况,说明对软件密集型信息化装备分别开展可靠性试验及软件测试的方法,不能充分的暴露其可靠性薄弱环节,迫切需要对试验技术方法进行研究和改进。
本文对依据GJB 899A-2009实施的可靠性试验和依据GJB/Z141-2004的软件测试,进行了比较和分析,针对其对软件密集型装备可靠性试验的薄弱环节,研究提出一种考虑软件工作载荷的可靠性综合试验剖面设计技术,并通过某型装备进行了应用试验验证。
现行可靠性试验和软件测试的特点
在装备研制过程中,可靠性试验和软件测试是装备研制中必须做的两项重要试验,在型号工程中已经开展多年,并取得了良好效果,大大地促进了装备质量的提高。可靠性试验方面,主要参考和依据MIL-STD-781D《可靠性试验的发展, 试验条件及程序》及相关标准,针对不同装备装备应用于不同气候环境和机械环境的特点,选取实际使用中最典型、最有代表性的使用条件,通过设计温度、湿度、振动以及电应力四种环境应力的同步施加,模拟实际使用中所经历的综合环境效应,对设备进行试验考核和可靠性评价,其可靠性试验剖面的典型结构如图1所示。在可靠试验期间,会根据试验大纲,进行部分软件(系统)功能检查以及若干性能检测,但在选定检查的功能、性能指标时,未充分考虑软件、硬件之间的影响,因此也没有规定软件运行方式、频度、时间以及预置条件等,试验方案之间对软件功能逻辑的覆盖率有较大的差异,因而对软件和系统可靠性指标的考核和结果评价均存在一定的偏差。
图1 机载设备可靠性试验剖面的典型结构
现行的软件测试,将测试按级别分为单元测试、集成测试等,测试类型分为功能性测试、性能测试、强度测试等,测试阶段分为测试策划、测试设计、测试执行等,测试目的是“考核软件是否符合系统研制总要求或软件研制总要求规定的技术指标”的要求,测试通过查找缺陷以及对缺陷进行归零处理来提升软件的质量,是面向需求的符合性测试,偏重质量符合性。软件测试时,多数情况下将软件运行的硬件平台置于有空调进行温控的机房中,没有其置于装备实际应用场景的温湿度、电应力以及振动综合环境下,软件测试时无法模拟硬件性能变化等对软件的功能、性能等影响,难以发现软件硬件共因故障,更难以重现。
相关文献指出由嵌有软件的硬件组成的大型软硬件系统会出现硬件失效、软件失效和软硬关联作用失效,并规定对该类系统的可靠性试验,需要施加的应力除了包括温度、湿度、振动、电应力等传统的环境应力外,还应该包括工作载荷(Operating Load)。可见,单独的硬件可靠性试验和软件测试在暴露软硬件关联的故障方面存在欠缺,因此对系统可靠性指标评价存在一定的偏差。
考虑软件载荷的综合可靠性试验剖面设计技术
考虑软件载荷的试验剖面设计技术,在现行可靠性试验、软件测试的管理和技术模式框架下,以现行可靠性试验为基础,细化和完善试验方案设计,充分考虑软件的运行剖面,以典型的工作载荷构建完善的软件测试剖面替代原有的测试点,使综合可靠性试验剖面尽可能贴近用户的使用环境和条件,剖面设计方法和设计过程见下图2所示。
图2 考虑工作载荷的可靠性综合试验剖面设计技术
01综合可靠性试验剖面中硬件可靠性试验剖面设计
硬件可靠性试验剖面设计主要参考和依据MIL-STD-781D《可靠性试验的发展, 试验条件及程序》及相关标准,分别完成单任务可靠性试验剖面设计和多任务可靠性试验剖面设计。
1)单一任务可靠性试验剖面
首先根据设备及装载平台的设计要求以及任务剖面,绘制任务特征参数图(见图3(a));其次,从设备设计性能规范和任务剖面获取各任务阶段、高度、马赫数、动压等数据,并计算或获取必要的数据(温度、温度变化率、振动应力、电应力、湿度等),结合任务特征参数图提供的数据,得到绘制环境剖面所需的数据:任务阶段、持续时间、高度、马赫数、机舱温度、温度变化率、动压q、概率谱密度W0、W1、露点温度、设备状态等,并绘制环境剖面(见图3(b)所示);最后,依据规定的原则,对环境剖面中的湿度、温度变化率和振动数据进行处理,依据处理得到试验剖面图数据(任务阶段、持续时间、温度变化率、W0、设备状态等),绘制试验剖面图(见图3(c)所示),试验剖面应包括温度试验剖面和振动试验剖面,分冷天执行任务和热天执行任务两种情况。电应力循环和湿度应力由于变化比较简单,可以不在剖面上表示出来。
图3 单一任务装备的可靠性试验剖面合成过程(示例)
2)多任务装备的可靠性试验剖面合成
多任务装备的可靠性试验合成,主要是以温度的时序为基准,同步电应力剖面、振动剖面,两者的合成方法原理基本一致。多任务装备可靠性试验温度剖面合成过程和方法如下:
步骤1:逐一列出各个任务出现的相对频率估计值(即各任务在总任务中所占的比例,用加权因子ƒ表示),各任务的加权因子的总和为1;
步骤2:按每一任务剖面列出每一稳态温度台阶等级T及其持续时间t,用任务加权因子ƒ与持续时间t的乘积作为加权持续时间ƒt,见表1所示;
步骤3:对表1的相同温度值进行合并,被合并温度所对应加权持续时间进行累加,得到一个只有温度值和总加权持续时间的两列温度值汇总表格。
表1 各任务剖面温度值表
最后,确定冷天和热天的最大温度值TMAX、最小温度值TMIN、加权温度值TINT3个温度台阶值和持续时间。TMAX(TMIN)为最高(最低)温度值5℃范围内的温度值的加权综合,其持续时间为参加加权的各温度对应的总加权持续时间之和;TINT处为参加计算TMAX和TMIN加权温度值之外的所有剩余温度值的加权平均值(将所有剩余温度值分别乘以对应的总加权持续时间,相加后再除以各对应的总加权持续时间之和),其持续时间为各参加加权温度值对应的总加权持续时间之和。
使用类似方法,确定冷天和热天的起飞振动量值WOTO、飞行连续振动量值WOC、最大振动量值WOMAX、最小振动量值WOMIN、加权振动量值WOINT共5个振动量值和持续时间。
最后以温度试验剖面为主线,绘制多任务合成试验剖面,见图3(d)所示。
考虑软件载荷的综合可靠性试验剖面设计技术
02考虑工作载荷的软件测试剖面设计
考虑工作载荷的软件剖面设计的重点,首先获取应用户的实际使用情况,由其执行的任务剖面来确定操作执行时机、频度,对任务剖面进行使用信息扩充,获取和确定系统状态及工作模式,对由Markov链得到的用户使用模型进行层次结构分解,构建层次结构状态迁移矩阵,最终设计形成带有执行概率分配参数的工作模式执行路径序列集,按照软件测试的等价类分析、边界值分析、判定表法等测试用例设计方法对输入参数进行设计,设计形成测试用例集,完成构造软件测试剖面。
1)任务剖面再设计
一般来说,通过任务想定建模得到的任务剖面包含的信息包括:任务阶段、运行方式、运行功能、任务时间、环境应力与处于该环境应力下的时间等。而软件测试剖面的制定需要在任务剖面的基础上添加软件使用操作等工作载荷相关信息,依据用户文档、操作手册等相关文档,与用户代表等进行面对面的沟通,逐一获取每个任务剖面各阶段中的软件系统状态、工作模式等信息,从图4的任务剖面扩充设计获取到表2的信息。
图4 任务剖面Ai-“高-低-低-高”剖面(示例)
表2 任务剖面扩充信息表
2)基于MUSA的软件状态层次分解
对表2中获取装备全任务剖面可能出现的软件工作模式集进行分类汇总,得到典型工作模式。然后,依据《操作员手册》等文档,使用文献中的方法,对每个典型工作模式进行逐层分解,分解得到该装备所支持的下级工作模式。
以某型设备为例,其任务剖面全集中出现的软件工作模式集包含K-K、K-H、K-D和D-H四种典型工作模式,对四种工作模式进行下一级分解,如K-K工作模式进一步分解为VS,RWS,TWS,STT、SAM等(见表3)。
表3 K-K工作模式转换关系
3)基于Markov链的状态迁移矩阵构建
依据任务来确定工作模式的切换,模式之间的转换是有一定的约束的:同级模式之间可以直接转换,子模式之间的转换若是跨父模式的,是以父模式切换为前提条件的,有些模式的切换则必须经过其他模式的引导(见表4和图5所示),因此,可以使用分层结构Markov链使用模型,将同一层级工作模式看作一个整体,看作是 Markov 链中的一个结点,将同层级的转换关系封装起来形成子集,避免Markov链状态空间爆炸问题。使用Markov链使用模型构建同层工作模式的转移概率矩阵,同层级不同模式下子模式之间的转换关系,则通过两个子模式及父级的Markov链的串行关系来实现:
表4 某任务剖面Ai任务阶段与sd的映射表
图5 K-K工作模式转换图(示例)
假设状态转移矩阵Ak为n×n的矩阵,其中k∈{1,…,m},m为分解得到的工作模式集总数,n为第k层级工作模式的最大模式数),每一项pkij=p(Xkt=xkj|Xk(t-1)=xki)表示工作模式xki转移到工作模式xkj的概率,在转移矩阵中,如果某两个工作模式xki、xkj之间不能直接转换,则记状态转移概率pkij为0。
转移概率矩阵Ak满足以下两个条件:
4)执行路径序列集构造及单任务软件测试剖面用例集设计
根据1)-3)得到所有工作模式执行路径序列集S={s1,s2,…,sd}, 路径sd代表软件的一次完整使用操作过程,等同1个基础测试用例, 路径概率代表用户使用操作的频度,sd经历了若干个模式,结合Markov链状态迁移矩阵,可计算得到每条路径所对应的路径概率psd。
假设某条执行路径跨越了一个父级Ak及两个子级状态转移矩阵Ak-1、Ak-2:
则
其中:为该执行路径在状态转移矩阵Ak内的状态迁移概率的乘积。
对S中的工作模式执行路径序列,使用等价类划分法、边界值分析法、判定表法等测试用例设计方法,对sd进行用例设计形成测试剖面,并建立任务阶段与sd的映射表(如表4所示)。
03软件测试剖面与可靠性试验剖面匹配与合成
由于硬件可靠性是时间的函数,是器件随着使用时间的积累其物理特性的变化,有浴盆曲线现象,因此硬件可靠性主要通过环境应力的时间累积来激发产品故障;而软件可靠性的决定因素是与输入数据和程序内部状态有关的软件差错,其故障的激发取决于程序运行的路径,是程序路径运行状态空间域的函数,是程序代码运行空间的函数。
图6 软件测试剖面与可靠性试验剖面匹配
依据硬件可靠性和软件可靠性的这一特性,将多任务可靠性试验剖面合成剖面的时间占比,替换为来自任务该阶段(Aij)的软件执行路径序列的执行概率占比,实现可靠性试验剖面的“时间”与软件测试剖面的“空间”的匹配。如图6所示,从2.1中“2)多任务可靠性试验剖面合成”,得到合成试验剖面中温度台阶(-34.3℃)的任务来源及其持续时间占比(图6中虚线框内所示),通过上述“时空匹配”,可得到该温度台阶需执行的执行路径序列及其执行概率(见表5所示),单个Aij内的执行路径序列间的执行分配由式(5)的psd来确定。最后,对执行路径序列归一化处理,形成考虑软件工作载荷的可靠性综合试验剖面,如图7所示。
表5 温度台阶(-34.3℃)的任务来源及sd执行概率
图7 考虑软件工作载荷的可靠性综合试验剖面
应用验证
在某设备的可靠性验收试验中,采用本文提出的剖面构造技术进行可靠性综合试验剖面设计,验证试验共设计13.75个循环,合计试验时间110 h。验证试验的综合试验剖面中,涉及软件操作和测试的有6个温度台阶(见图7所示),与之前同型号装备的试验剖面相比,增加52个基本用例数,归一化后的用例执行总数量为502个。
验证试验发现了软硬件关联故障1个,该故障在此前的可靠性试验和软件测试均未发现。通过故障归零分析时发现:该故障曾经出现过多次,且是该装备的外场使用中出现,出现的条件组合都是“载机在大量级振动并装备在运行大角度俯仰扫描功能”,传统的可靠性试验和软件测试由于各自特点与局限性,均未能暴露该类型的故障。
结 论
由此可见,考虑软件工作载荷的可靠性综合试验剖面设计技术,以完善的软件测试剖面替代原有的测试点,其本质与尽可能贴近用户使用环境和条件的可靠性试验要求,是相一致的,可作为传统可靠性试验和单独的软件第三方测试/定型测试的有效补充,有效暴露软件密集型信息化装备的软硬件关联故障,符合目前装备发展的需求,具有良好的应用前景。
引用本文:
黄茂生.一种考虑软件工作载荷的可靠性综合试验剖面设计技术[J].环境技术,2021,230(02):72-78.
专家简介:黄茂生(1973-),男,硕士,高级工程师,主要研究方向:软件测试,软硬件及系统可靠性。
来源:环境技术核心期刊