专利名称:一种故障选择的方法及装置的制作方法
技术领域:
本发明涉及电子或通信产品测试技术,具体涉及在对产品进行故障注入测试前的一种故障选择方法及装置。
背景技术:
故障注入测试(Fault Injection Test)是向被测系统的软硬件或仿真模型中注入实际可能发生的故障,观察系统对故障的处理以及其他各方面的反应,评估系统可靠性的测试。所述故障测试最早用于软件缺陷数量的估算,后来在容错计算机和分布式系统的可靠性测试中广泛应用。目前对可靠性要求较高的电子设备和控制系统中大多通过故障注入测试对系统的可靠性指标进行评估通过故障注入测试,观察产品在特定故障下的表现以及恢复情况,然后对测试过的所有故障的结果进行统计,得出产品的可靠性指标。
为了评估系统可靠性,理论上要求对系统注入故障的覆盖率为百分之百,即注入所有可能发生的故障,但是对于目前规模较大的系统来说,由于可能发生的故障数量极大,因此无法注入所有故障进行测试。在实际进行故障注入时,通常采用故障选择(Fault Selection)的方式选择部分故障进行故障注入,得出近似的结果。所谓故障选择是指从可能发生的故障中选择重要部分,用于故障注入测试,故障选择直接影响到故障注入测试结果的准确性,是故障注入测试是否成功的关键。
现有技术中故障选择的方法是假设故障均匀分布,首先确定典型的或认为有价值的故障模式,然后随机选取故障,进行故障注入测试,并用故障测试的结果来评估被测系统的可靠性。现以CPU系统测试为例,说明现有技术中故障选择的方法。
CPU的故障类型分为地址总线故障、数据总线故障、控制总线故障等,根据CPU的工作过程可知,地址总线的使用率最高,控制总线的使用率最低。由于假设故障在时间上均匀分布,因此地址总线的故障数量最多,控制总线的故障数量最少。由此可知,按照现有技术随机选择故障的方法确定的典型故障集合中地址、数据、控制总线的故障选择比例分别为高、中、低。在系统运行过程中,随机的从该故障集合中选择故障,进行故障注入测试,最后用注入故障的测试结果评估该CPU系统的可靠性。
由上所述,现有技术所述的故障选择方法的前提是假设故障均匀分布,但是,由于故障发生概率与部件自身的工艺、工作速度以及使用条件密切相关,例如,晶体管振荡器的故障率远高于电阻的故障率,因此,如果按照现有技术所述方法,在被测系统中注入同等数量的电阻和晶体管故障,必然导致测试结果的可信度降低;另一方面,同一部件在系统中的不同功能、不同地位将导致其故障对系统的影响程度不同,因此,现有技术不能综合考虑故障发生率和故障影响,假定故障均匀分布,采取随机方式选择故障的方法缺乏合理性。
进一步,由于现有技术选择典型故障集合的工作严重依赖于测试者的经验,不同水平测试者对故障影响的评价不同,因此,现有技术存在的另一个缺陷是测试结果缺乏通用性。
发明内容
本发明要解决的技术问题在于提供一种故障选择的方法及装置,在选择注入故障时,能够综合考虑故障概率和故障影响,提高故障注入测试的准确度。
为解决上述技术问题,本发明提供一种故障选择的方法,用于对进行故障注入测试的被测产品进行故障选择,包括步骤1)获取各个部件的故障模式和故障概率;2)根据各个部件的故障模式和预定的故障影响等级分别确定每个部件的故障影响等级;3)根据所述故障影响等级和所述故障概率进行故障选择。
其中,所述根据所述故障影响等级和所述故障概率进行故障选择的过程具体包括以下步骤31)将所述故障影响等级量化成故障影响系数;32)根据所述故障影响系数和所述故障概率获得综合故障影响指数;33)根据所述综合故障影响指数和预定的综合故障影响指数标准的比较结果进行故障选择。
其中,按照以下两种方法确定所述综合故障影响指数A)将所述故障影响系数与所述故障发生概率的乘积作为所述综合故障影响指数。
B)将所述故障影响系数的N次幂与所述故障发生概率的M次幂的乘积作为所述综合影响指数,所述N和M均为正整数。
其中,所述预定的故障影响等级按照故障对被测产品的影响度制定。
另外,所述预定的故障影响等级还可以按照故障恢复方式制定。
其中,可以按照以下两种方法获得所述故障影响系数A1)按照故障对被测产品的破坏程度对所述故障影响等级进行量化。
A2)按照故障造成的经济损失对所述故障影响等级进行量化。
其中,根据被测产品的质量要求确定单一或多个综合故障影响指数标准。
其中,所述获取各个部件的故障模式和故障概率的过程具体包括步骤11)将所述被测产品分解为部件集合;12)从故障模式库中获取所述部件集合中各个部件的故障模式和故障概率。
本发明还提供了一种故障选择装置,用于对进行故障注入测试的被测产品进行故障选择,所述装置包括故障模式单元,用于将被测产品分解为部件结合并从故障模式库中获取各个部件的故障模式和故障概率;
故障分析单元,用于从所述故障模式单元中获取所述故障模式,并结合预定的故障影响等级确定每个部件的故障影响等级;故障选择单元,用于获取来自所述故障分析单元的故障影响等级和来自所述故障模式单元的故障概率,并根据所述故障影响等级和所述故障概率进行故障选择。
其中,还包括量化单元,用于从所述故障分析单元中获取故障影响等级,并量化为故障影响系数;乘法单元,用于将所述故障影响系数和故障概率转化为综合故障影响指数;所述故障选择单元根据所述综合故障影响指数进行故障选择。
与现有技术相比,本发明的有益效果是由于本发明所述的故障选择的方法及装置在进行故障选择时综合考虑了故障影响和故障概率,因此使故障选择更加合理,从而提高了故障注入测试的准确度;同时,由于在选择过程中预先制定了故障影响等级,因此使得故障选择的结果更加标准化,增强了故障选择的通用性。
进一步,本发明从长期的实际故障积累和统计形成的故障模式库中获取故障模式和故障发生概率,避免测试者主观的制造故障形式,使得测试分析更加切合实际。
图1是本发明所述的故障选择的装置结构示意图;图2是本发明所述的故障选择的方法流程图;图3是综合故障影响指数标准采取单一性标准时的故障选择示意图;图4是综合故障影响指数标准采取多种标准时的故障选择示意图。
具体实施例方式
本发明针对现有技术的故障选择方法严重依赖测试者经验,并且不能综合考虑故障影响和故障概率的缺点,提出了一套完整的故障选择方法。在使用所述方法时首先获取被测产品各个部件的故障模式和故障概率;然后根据各个部件的故障模式和预定的故障影响等级确定相应的故障影响等级;最后根据所述故障影响等级和所述故障概率进行故障选择,对应于所述方法,本发明还提出了利用该方法进行故障选择的装置。
图1为本发明所述的故障选择装置的示意图,如图所示,所述装置包括故障模式单元100、故障分析单元200和故障选择单元500;当使用所述工具进行故障选择时,首先将被测产品分解为各部件的列表,然后从所述故障选择单元100中获取各个部件的故障模式和故障概率;接下来使用故障分析单元200根据各个部件的故障模式和预定的故障影响等级确定相应的故障影响等级;最后在故障选择单元500,根据所述故障影响等级和所述故障概率进行故障选择。
另外,如图所示,本发明所述的装置还包括量化单元300和乘法单元400,在进行故障选择时,经过故障分析单元200分析获得的故障影响等级在量化单元量化为故障影响系数;然后乘法单元将所述故障影响系数和故障概率转化为综合故障影响指数。故障选择单元进行故障选择时根据所述综合故障影响指数进行故障选择。其涉及的具体原理将在下文中介绍的本发明的故障选择方法中介绍。
以下结合图2对本发明的故障选择过程进行详细介绍如图2所示,本发明大体可分为故障分析1、综合故障影响指数计算2和故障选择3三个过程。
首先对被测产品进行故障分析。将被测产品分解成部件的集合(步骤一),可以采用列表或图表或数组或文件等形式输出被测产品的部件集合。所述部件集合包括所有部件的名称和部件间的结构层次关系;然后获取各个部件的故障模式和故障概率,本发明从故障模式库中获取列表中各个部件的故障模式和故障发生概率,并采用列表形式输出产品的故障列表(步骤二)。所谓故障模式库(也叫失效模式库)是指在产品各部件的采购以及产品的开发、运行过程中,通过对产品产生的失效问题进行处理,分析出失效分类数据,从而建立的一个失效分类标准,具体包括产品的硬件中各器件的故障模式、结构件故障模式,软件各模块的故障模式、产品应用环境异常情况、使用过程中的操作错误等故障模式以及各模式的故障发生的概率;利用所述失效分类标准,可以对问题进行系统级别的分类分析;并且分析结果能够对后续产品研发进行指导。本发明对进行故障注入测试的产品,使用长期的实际故障积累和统计形成的的故障模式库中的故障模式和故障发生概率作为分析基础,避免测试者主观的制造故障形式,使得测试分析更加切合实际。
在所有故障模式明确的前提下,可以根据产品中部件的结构组成、部件的功能全面的分析故障对系统的影响,这部分工作和FMECA类似(FMECA分析可参见标准IEC 60812)。
接着,根据故障模式和部件在产品中的功能以及故障可能造成的后果,并根据预先制定的故障影响等级划分故障等级(步骤三),划分等级的依据可以根据用户不同的需要划分,通常可以按照故障对被测产品的破坏程度来划分等级,另外还可以按照故障恢复方式划分,具体的划分方法将在下文中结合第一实施例和第二实施例详细介绍。
以上是故障分析的过程,为了进行故障选择,需要对各等级的故障影响进行量化,可行的方法是将故障分析得到的故障影响等级映射成故障影响系数(步骤四)。量化的方法可以根据故障对被测产品的破坏程度,还可以按照故障造成的经济损失,具体的量化方法将在下文中结合第一实施例和第二实施例详细介绍。
从故障影响来说,故障影响系数越大越需要测试;另一方面,故障概率越大越应该测试。有些故障虽然影响严重,但发生概率小;有些故障影响小,但发生频繁,故障影响系数和故障发生概率是独立的、不相关的。本发明综合考虑故障影响和故障发生概率,采用综合故障影响指数来选择故障,进行故障注入测试。综合故障影响指数的计算方法可以按照下述公式计算(步骤五)综合故障影响指数=故障影响系数×故障发生概率其中,故障概率通常用单位FIT表示,1FIT=10E-9(1/小时)。
根据综合故障影响指数,确定在某个产品中是否需要对某个部件的某种故障模式进行模拟测试,由于故障选择的目的就是选择有价值的故障进行模拟测试,因此综合故障影响指数的确定是故障选择的关键步骤。综合故障影响指数对故障影响和发生概率进行了平衡,其值越大,说明故障影响越严重或故障发生概率越大;反之,则故障影响越小或故障发生概率越小。将综合故障影响指数作为选择故障的依据,避免现有技术单纯的考虑故障影响或故障概率造成的故障选择片面性。
最后,根据综合故障指数以及故障影响指数标准进行故障选择(步骤六)。在任何产品的开发过程中,用户都会尽可能的获得最大投入产出比。测试作为产品开发的一个必不可少的环节,也必须保证这一点,否则将导致整个开发过程效率降低、成本增加。因此必须选择有用的测试用例进行测试,并且优先对产品影响最大的问题进行测试。对于故障注入测试来说,就是要选择综合故障影响指数大的进行故障注入测试,影响指数很小的可以不考虑;另外在测试顺序的安排上,优先选择综合故障影响指数大的进行测试,保证每个步骤都获得最大的投入产出比。对于同一类产品来说,可以根据产品的应用环境和要求,确定一个统一的综合故障影响指数标准(即单一故障影响指数标准),所述标准用来判断每个故障是否需要进行故障注入测试;由于产品的可靠性要求和资源情况不尽相同,也可以确定不同等级,根据进度、投入灵活安排测试工作。根据综合故障影响指数确定的综合故障影响指数标准,优先对高级别的部件进行测试。同样,对于故障影响指数标准的制定将结合第一实施例和第二实施例详细介绍。
以下介绍两个具体的实施例。
第一实施例故障分析中将被测产品进行部件列表和对所述部件进行部件列表的过程如前所述,在此不再赘述,对于故障分析过程中故障影响级别的划分可以按照故障对被测产品的破坏程度划分,通常可以将故障影响划分为致命、严重、一般、提示四个等级,四个等级的具体含义如下所述致命——导致整机瘫痪。
严重——主要功能丧失或性能严重下降,需要较长时间恢复。
一般——次要功能丧失或性能稍有下降,能快速恢复。
提示——基本不影响功能、性能,事后维护即可。
故障等级划分标准明确,可以保证不同的测试人员对故障影响的分析结果基本一致,以此来指导故障选择,保证测试设计的一致性。
故障影响的划分也可采用其他方式和标准,如根据故障恢复方式来划分故障级别致命——需要更换硬件设备;严重——需要重新配置业务数据并下电重新启动;一般——只需要下电重新启动;提示——重新启动软件即可。
接下来,将上述四个故障等级映射成故障影响系数致命——500严重——100一般——20提示——1按上面等级-数字进行替换,就将每个故障等级对系统的影响量化成相应的数字。故障影响量化方法包括但不限于以上方法,量化系数根据定义的故障影响来定的,只要符合定义产品的故障影响程度就可以,例如,还可以用不同故障影响级别造成的经济损失数字来量化具体量化数字在第二实施例介绍。然后按照上文中所述的综合故障影响指数的计算方法计算相应的综合故障影响指数。现有技术中,由于测试者只考虑故障影响或故障概率一方面的因素,即使得出的故障影响等级相同,由于不同测试者侧重点不同,也将造成故障选择的结果不同,例如,开发人员可能偏重于功能正常即可,而忽视操作可能带来的错误,但维护人员对可维护性的要求更高,两者在分析人为操作对产品影响的结果会大相径庭,而利用本发明制定的综合故障影响指数,分析出来的故障影响就会趋于统一,大大增强故障选择的通用性。
为了更加直观,图3为按照单一综合故障影响指数标准进行故障选择的示意图。所谓单一故障,即某一时刻被测设备中只有一个故障存在,实际上同时存在多个故障的情况极少,在产品测试中一般不考虑。其中,横轴表示故障概率,纵轴表示故障影响等级。图中双曲线表示故障选择标准,表示综合故障影响指数等于500。双曲线是所有综合故障影响指数等于500的点的集合,综合故障影响指数大于500的,用图中横纵坐标描述的点必然在此曲线之上,反之在曲线之下。综合故障影响指数在此曲线下的故障无需测试,在此曲线上的故障必须做故障注入测试。
由此可知,对应上文的映射方式,根据图3,可以确定致命故障,由于故障影响系数为500,则故障概率大于1FIT的故障集合,其综合故障影响指数就是必然大于500,因此需要测试,根据图3的综合故障影响指数标准,大于1FIT的故障需要做故障注入测试;故障影响级别为严重的故障概率大于5FIT需要测试;故障影响级别为一般的故障概率大于25FIT需要测试;故障影响级别为提示的故障概率大于500FIT需要测试。
至此,故障选择过程完成。
第二实施例故障分析中将被测产品进行部件列表和对所述部件进行部件列表的过程如前所述,在此不再赘述,对于故障分析过程中故障影响级别的划分还可以根据故障对被测产品造成的经济损失量化,以下以交换机内部故障导致的系统功能丧失、性能下降造成的经济损失为例,说明所述量化方法。
交换机部件的一些故障(如信号传输质量下降、时钟抖动)将导致通话质量下降,用户通话中偶尔会有杂音,用户投诉将导致电信运营商启动维修工程。假定一般维修费用都为1000元,则此类故障的影响就可量化为1000。
另一类故障(如话音处理中断、信令中断)将导致部分用户无法进行通话,此时则需要更换相应的模块,可在短时间内完成,维修费用是一般维修的10至20倍,如果取平均值15倍,那么这类故障就可量化为15000。
最严重的故障(电源短路等)不但导致通话中断,而且造成硬件的大面积损坏,需要更换大量硬件,维修时间也较长,假定此类问题的维修和通话中断的损失一般为200000,则此类故障的影响就可量化为100000。
综上所述,造成通话质量下降、部分通话短时中断、大面积硬件损坏及长时间通话中断的故障,其影响分别可量化为1000,15000,200000。
将各故障等级量化为相应的故障影响系数后就可以根据上文所述的综合故障指数的计算方法进行计算。
综合故障影响指数标准是用来判断某个故障是否需要做测试或者测试等级划分的标准。它是根据产品质量要求、测试投入的多少来确定的。如果对产品的质量要求高,需要测试的故障数量就相应较多,需要覆盖尽可能多的故障,如果测试允许投入更多的资源和时间,则可以进行更多的测试,因此,可以将综合故障影响指数标准制定的相对较低;反之,如果质量要求低或无法投入更多的资源和时间做测试,则应制定较高的综合故障影响指数标准。但这个标准不是根据某个产品的情况制定的,而是根据一类产品在一段时期内的测试投入情况确定的,目的是保证这类产品一段时期内的测试能够得到同样的质量保证。
图4示出了制定多个综合故障影响指数标准的示例,如图所示,横轴表示故障概率,纵轴表示故障影响。故障选择标准1(综合故障影响指数对应等于200000)和故障标准2(综合故障影响指数等于15000)是测试级别划分标准。综合故障影响指数高于故障选择标准1的必须做故障注入测试,低于故障选择标准2的无需测试,介于两个标准之间的故障在条件允许的情况下建议最好进行故障注入测试。以此类推,采用这种方法还可以划分出更多的测试级别,在条件允许的情况下,根据测试级别从高到低,选择尽量多的故障进行故障注入测试,保证整个测试过程获得最高的投入产出比。
根据以上故障选择方法,在同一标准下,不同测试人员选择的故障差异很小,能够保证测试设计的一致性。
需要指出,本发明的关键是制定一定的故障影响等级,并将其量化,再结合故障概率进行综合评估,通过一定的标准判断是否需要对各部件故障进行测试或给出测试级别的过程,对于量化的具体数值、标准的确定方法均可以根据不同的产品质量要求不同和用户需要依具体情况制定不同数值。
另外,综合故障影响指数不限于上述的计算方法。其他方法如将故障影响的N次幂与故障概率的M次幂相乘得到综合故障影响指数,N和M都是整整数,可以选择不同的值。当N大于M时,故障影响对综合故障影响指数的影响更大;当N小于M时,故障概率对综合故障影响指数的影响更大,可以通过选择不同的N、M值满足测试更关注故障影响还是故障概率。
为了能够更加系统完整的理解本发明,以下结合具体实例进行说明。
上表以某产品为例,描述了采用本发明的方法进行故障选择的步骤。假定某产品有4.7K电阻上拉电阻、33欧信号匹配电阻和50M晶振组成。具体采用以下步骤进行故障选择首先,将被测产品进行分解,得到部件集合,如表中第1列所示;描述各部件在该产品中的功能,如表格第2列所示;然后,从故障模式库或其他来源获取部件的故障模式(第4列)和故障概率(第8列);接着,根据故障模式(第4列)和部件在产品中的功能(第2列)划分故障可能的后果(第5列)并根据预先制定的故障影响等级划分所示部件的故障影响等级(第6列)。
下一步,将故障影响等级(第6列)根据预先制定的量化方法量化成数值(第7列)。
根据故障影响的量化数值(第7列)和故障概率(第8列)计算(这里采用两者直接相乘的方法)综合故障影响指数(第9列)。
根据综合故障影响指数(第9列)和预先制定的综合故障影响指数标准(大于等于500需要测试),判断各故障模式是否需要测试(第10列)。
本发明采用长期积累的故障模式库作为分析基础,对故障影响进行量化,避免了对测试人员经验的过分依赖,按照该方法的过程,可以保证故障选择的一致性。该方法综合考虑了故障影响和故障概率,对故障的选择符合实际情况。采用本发明划分故障的测试级别,优先选择高级别的故障进行故障注入测试,可以保证测试的整个过程获得最高的投入产出比。
本发明除了故障影响分析外,其它工作很容易地可以实现自动化,例如故障影响系数的映射、综合故障影响指数计算、最终测试级别划分都可以用电子表格中的公式自动完成,因而减少了测试人员地工作量。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种故障选择的方法,用于对进行故障注入测试的被测产品进行故障选择,其特征在于,包括步骤1)获取各个部件的故障模式和故障概率;2)根据各个部件的故障模式和预定的故障影响等级分别确定每个部件的故障影响等级;3)根据所述故障影响等级和所述故障概率进行故障选择。
2.根据权利要求1所述的故障选择的方法,其特征在于,所述根据所述故障影响等级和所述故障概率进行故障选择的过程具体包括以下步骤31)将所述故障影响等级量化成故障影响系数;32)根据所述故障影响系数和所述故障概率获得综合故障影响指数;33)根据所述综合故障影响指数和预定的综合故障影响指数标准的比较结果进行故障选择。
3.根据权利要求2所述的故障选择的方法,其特征在于将所述故障影响系数与所述故障发生概率的乘积作为所述综合故障影响指数。
4.根据权利要求2所述的故障选择的方法,其特征在于将所述故障影响系数的N次幂与所述故障发生概率的M次幂的乘积作为所述综合影响指数,所述N和M均为正整数。
5.根据权利要求1所述的故障选择的方法,其特征在于所述预定的故障影响等级按照故障对被测产品的影响度制定。
6.根据权利要求1所述的故障选择的方法,其特征在于所述预定的故障影响等级按照故障恢复方式制定。
7.根据权利要求2至6中任意一个所述的故障选择的方法,其特征在于按照故障对被测产品的破坏程度对所述故障影响等级进行量化。
8.根据权利要求2至6中任意一个所述的故障选择的方法,其特征在于按照故障造成的经济损失对所述故障影响等级进行量化。
9.根据权利要求2至6中任意一个所述的故障选择的方法,其特征在于根据被测产品的质量要求确定单一或多个综合故障影响指数标准。
10.根据权利要求1所述的故障选择的方法,其特征在于所述获取各个部件的故障模式和故障概率的过程具体包括步骤11)将所述被测产品分解为部件集合;12)从故障模式库中获取所述部件集合中各个部件的故障模式和故障概率。
11.一种故障选择装置,用于对进行故障注入测试的被测产品进行故障选择,其特征在于,包括故障模式单元,用于将被测产品分解为部件结合并从故障模式库中获取各个部件的故障模式和故障概率;故障分析单元,用于从所述故障模式单元中获取所述故障模式,并结合预定的故障影响等级确定每个部件的故障影响等级;故障选择单元,用于获取来自所述故障分析单元的故障影响等级和来自所述故障模式单元的故障概率,并根据所述故障影响等级和所述故障概率进行故障选择。
12.根据权利要求11所述的故障选择装置,其特征在于,还包括量化单元,用于从所述故障分析单元中获取故障影响等级,并量化为故障影响系数;乘法单元,用于将所述故障影响系数和故障概率转化为综合故障影响指数;所述故障选择单元根据所述综合故障影响指数进行故障选择。
全文摘要
本发明公开了一种故障选择的方法,用于对进行故障注入测试的被测产品进行故障选择,在使用所述方法时,首先获取各个部件的故障模式和故障概率;然后根据各个部件的故障模式和预定的故障影响等级分别确定每个部件的故障影响等级;最后根据所述故障影响等级和所述故障概率进行故障选择。另外,本发明还同时公开了一种用于对进行故障注入测试的被测产品进行故障选择的故障选择装置。由于本发明所述的故障选择的方法及装置在进行故障选择时综合考虑了故障影响和故障概率,因此使故障选择更加合理,从而提高了故障注入测试的准确度;同时,由于在选择过程中预先制定了故障影响等级,因此使得故障选择的结果更加标准化,增强了故障选择的通用性。
文档编号G06F11/26GK1770117SQ200410086868
公开日2006年5月10日 申请日期2004年11月2日 优先权日2004年11月2日
发明者姚益民 申请人:华为技术有限公司