一种故障诊断方法及装置与流程

文档序号:21985675发布日期:2020-08-25 19:23阅读:151来源:国知局
一种故障诊断方法及装置与流程

本发明涉及测试的技术,尤指一种故障诊断方法及装置。



背景技术:

现代复杂装备往往是由机械、液压、机电和电子等多种系统组成,随着系统日益综合化和多功能化的发展趋势,其复杂性显著增加,导致系统的诊断功能日益依靠系统内部的机内测试(built-intest,简称bit)电路发出的故障报告信息进行。同时由于各个系统的交联性,各个系统的故障信息往往不是独立的,而是具有关联性,导致现代诊断方法需要考虑到如何综合判断各个故障信息的问题。

传统上为了解决复杂系统的诊断问题一般采用测试性模型得到相关性矩阵的方法进行,相关性矩阵表达了系统中各个测试与系统各个模块的检测关系,所有的测试分为“通过“和”失败“的二值输出状态,使用实时测试结果对相关性矩阵进行状态空间分割或诊断树遍历,即可得到对应的诊断结论。

但是使用相关性模型在应用于工程实践中会遇到以下问题:

1、不是所有测试结论都可以随时可获取的情况;

2、由于复杂系统的测试项目数量很多,使用相关性矩阵进行完整运算非常耗费运算资源,难以实时进行。

测试结论不可取得的原因包括以下情况:

(1)由于工作模式不同,系统中并不能够同时进行所有的测试,在特定的工作模式下,系统只能执行一部分测试,而另外一部分测试由于系统构型的原因处于不可执行状态。

(2)系统进行进入特定故障状态会妨碍和阻止某些测试状态的可获得性和可访问性,例如通讯链路的故障会导致链路之前的所有故障报告无法发出,bit共用的电源故障会导致相关的测试报告无法发出等。

在这些情况下,采用经典相关性矩阵分割算法进行诊断时会导致错误的结论,同时每次遍历整个诊断树或分割整个相关性矩阵的方法导致运算缓慢,无法在实时运算周期内完成。



技术实现要素:

第一方面,本申请提供了一种故障诊断方法,包括:

获取测试报告,所述测试报告包括预设测试模块的测试状态;

根据预设测试模块的测试状态确定所有测试模块的测试状态,将所有测试模块的测试状态分为至少三种类型;

所有测试模块的测试状态分为三类:通过状态、失败状态和未知状态;

或者,

所有测试模块的测试状态分为四类:通过状态、失败状态、通过锁定状态和失败锁定状态。

第二方面,本申请提供了一种故障诊断装置,包括:

获取模块,用于获取测试报告,所述测试报告包括预设测试模块的测试状态;

确定模块,用于根据预设测试模块的测试状态确定所有测试模块的测试状态,将所有测试模块的测试状态分为至少三种类型;

所有测试模块的测试状态分为三类:通过状态、失败状态和未知状态;

或者,

所有测试模块的测试状态分为四类:通过状态、失败状态、通过锁定状态和失败锁定状态。

本申请至少一实施例提供的故障诊断方法及装置,与现有技术相比,具有以下有益效果:一是可以根据当前测试报告中收到的部分测试模块的测试状态,确定出所有测试模块的测试状态,不用等到所有测试模块的测试结果出来,从而提高了在线诊断速度,可以满足实时诊断的需求。二是将所有测试模块的测试状态由传统的二值输出改为多值输出,例如“通过”|“失败”|“未知”三值输出,或者“通过”|“失败”|“通过锁定”|“失败锁定”四值输出,可以提高在线诊断精度。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。

附图说明

附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本发明一示例实施例提供的故障诊断方法的流程图;

图2为本发明一示例性实施例提供的故障诊断方法的流程图;

图3为本发明实施例提供的测试模块测试状态的切换示意图;

图4为本发明实施例提供的故障诊断装置的结构示意图。

具体实施方式

本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。

本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。

此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。

本申请提供一种故障诊断方法及装置,可以适用于飞机机载系统等复杂装备的在线诊断,将测试结论可以分为三值甚至四值输出,并且使用增量诊断的方法,每个实时短时周期内仅处理本周期内收到的少量测试报告,这样运算速度显著加快,可以满足实时诊断的需求。

图1为本发明一示例实施例提供的故障诊断方法的流程图,如图1所示,本发明实施例提供的故障诊断方法,可以包括:

s101:获取测试报告,测试报告包括预设测试模块的测试状态。

本实施例中,为了诊断系统是否出现故障,可以对待诊断系统中各测试模块进行测试,通过获取的测试报告中测试模块的状态以确定某个测试模块是否故障。

本实施例中,在对待诊断系统中的各测试模块进行测试前,先进行初始化,初始化待诊断系统中所有测试模块状态为未知。其中,每个测试模块的状态为以下枚举中的一种:“正常”/“故障”/“疑似故障”/“未知”。

其中,测试模块的测试状态是指测试模块的测试结果,即是否测试通过、测试失败还是测试未知,测试模块的状态是指测试模块的诊断结果,即测试模块是否正常、故障/疑似故障还是未知。

s102:根据预设测试模块的测试状态确定所有测试模块的测试状态,将所有测试模块的测试状态分为至少三种类型。

其中,所有测试模块的测试状态分为三类:通过状态、失败状态和未知状态;或者,所有测试模块的测试状态分为四类:通过状态、失败状态、通过锁定状态和失败锁定状态。

本实施例中,根据当前测试报告中收到的部分测试模块的测试状态,可以确定出所有测试模块的测试状态,不用等到所有测试模块的测试结果出来,从而提高了在线诊断速度,可以满足实时诊断的需求。避免现有测试需要等到所有测试模块的测试结果出来,尤其对于不是所有测试结论都可以随时可获取的情况时,诊断非常耗时的缺陷。

其中,预设测试模块是待诊断系统中所有测试模块中的部分测试模块,预设测试模块可以是测试报告中已收到测试结果的测试模块。假设系统中有m个模块,即s={s1,s2,...,sm},以m=30为例,即系统中总共有30个测试模块,若测试报告中只收到20个测试模块的测试状态,即这20个测试模块即为预设测试模块,本实施例可以根据收到的20个测试模块的测试状态,确定出剩余10个测试模块的测试状态,从而得到所有测试模块的测试状态。

本实施例中,可以在待诊断系统的内部暂存所有测试模块的实时测试状态,同时将所有测试模块的测试状态由传统的二值输出改为多值输出,例如传统上单个测试模式的测试状态为“通过”或“失败”,二者必居其一。而在本实施例中测试模块的测试状态可以为多个数值,例如“通过”|“失败”|“未知”三值输出,或者“通过”|“失败”|“通过锁定”|“失败锁定”四值输出,可以提高在线诊断精度,避免现有测试中并不是所有的测试模块都能立刻得到测试结果,而只有通过和失败两种输出容易导致诊断错误的缺陷。

其中,本实施例对于测试模块的测试状态的诊断可以使用二值矩阵的相关关系进行诊断,比如用于反映测试与已知故障之间依存关系的依存矩阵(也称为d矩阵),其与常规二值矩阵的不同的是诊断输出使用了多值输出。本实施例诊断出的测试模块的故障可以为二值矩阵中预先存储的已有故障。

本发明实施例提供的故障诊断方法,一是可以根据当前测试报告中收到的部分测试模块的测试状态,确定出所有测试模块的测试状态,不用等到所有测试模块的测试结果出来,从而提高了在线诊断速度,可以满足实时诊断的需求。二是将所有测试模块的测试状态由传统的二值输出改为多值输出,例如“通过”|“失败”|“未知”三值输出,或者“通过”|“失败”|“通过锁定”|“失败锁定”四值输出,可以提高在线诊断精度。

在本发明一示例性实施例中,获取测试报告,可以包括:以预设周期间隔获取测试报告,并确定当前周期相对上一周期发生变化的测试状态,发生变化的测试状态包括:同一个测试模块的测试状态当前周期和上一周期不同、当前周期新增的测试模块的测试状态。

本实施例中,可以采用增量诊断的方法进行故障诊断,增量诊断是指使用上一周期测试数据和当前周期测试数据之间的差异和不同进行运算。其中,增量诊断其机制是建立在复杂系统测试输出样本量远大于实时周期之间的变化量的基础上,每个实时短时周期内仅处理本周期内收到的少量测试报告,这样运算速度显著加快,可以满足实时诊断的需求,从而可以避免从头进行矩阵运算和诊断树运算耗费运算资源和时间的情况。

具体的,可以通过总线获取本次处理周期中的测试报告,由于处理周期和通讯周期的可能不同,本次处理周期中的测试报告可能只是全部测试结论中的部分测试报告。将本次获得的测试状态集合tn与上一周期测试状态集合tn-1中的对应项进行比较,得到本次处理状态发生变化的测试集合δtn,n表示周期数。

其中,每个周期都有各自对应的预设测试模块,当前周期对应的预设测试模块即当前周期获取的的测试模块。

在本发明一示例性实施例中,根据预设测试模块的测试状态确定所有测试模块的测试状态,可以包括:

根据当前周期发生变化的测试状态,将发生变化的测试状态进行分类;根据当前周期获取的测试模块的测试状态和/或发生变化的测试状态,将剩余测试模块的测试状态进行分类;

其中,剩余测试模块的集合为当前周期获取的测试模块集合在包含所有测试模块的集合中的补集。

本实施例中,可以根据当前周期发生变化的测试状态和/或当前周期获取的测试模块的测试状态,将所有测试模块分为三集合或四集合。可选的,可以根据测试报告的格式和测试包括逻辑确定划分为三集合还是四集合。

在一示例性实施例中,在所有测试模块的测试状态包括:通过状态、失败状态和未知状态时,根据当前周期发生变化的测试状态,将发生变化的测试状态进行分类,可以包括:

确定当前周期新成为通过状态的测试模块,以及确定当前周期新成为失败状态的测试模块;将当前周期获取的测试模块中除新成为通过状态和新成为失败状态之外的测试模块的测试状态确定为未知状态。

本实施例中,将本次获得的测试状态集合tn与系统内缓存的上一周期测试状态集合tn-1中的对应项进行比较,得到本次处理状态发生变化的测试集合δtn,然后将其分为三集合:本次新增的“通过”状态测试集合、本次新增的“失败”状态测试集合和本次新增的“未知”状态测试集合。

其中,本次新增的“通过”状态测试集合包括当前周期新成为通过状态的测试模块,本次新增的“失败”状态测试集合包括当前周期新成为失败状态的测试模块,本次新增的“未知”状态测试集合包括当前周期新成为未知状态的测试模块。

本实施例中,对于当前周期获取的测试模块,其通过状态和失败状态识别与现有技术相同,比如,可以将有通过签名的测试状态识别为通过状态,有失败签名的测试状态识别为失败状态。

本实施例中,对于当前周期获取的测试模块,可以将当前周期获取的测试模块中除新成为通过状态和新成为失败状态之外的测试模块的测试状态确定为未知状态,即可以将测试结果未出来或测试中断等测试结果作为未知状态。

本实施例中,可以根据当前周期发生变化的测试状态,将发生变化的测试状态分为通过状态、失败状态和未知状态,提高系统诊断精度。

在一示例性实施例中,在所有测试模块的测试状态包括:通过状态、失败状态和未知状态时,根据当前周期获取的测试模块的测试状态和/或发生变化的测试状态,将剩余测试模块的测试状态进行分类,可以包括以下两种实现方式:

第一种实现方式:根据当前周期获取到测试状态的测试模块,确定剩余测试模块,根据剩余测试模块各自的超时值将剩余测试模块的测试状态进行分类,其中,一个测试模块的超时值用于表示该测试模块未被获取到测试状态的周期数。

本实施例中,对于当前周期未获取到测试状态的测试模块,可以根据未获取到测试状态的测试模块的超时值确定测试状态,将当前周期未获取到测试状态的测试模块分为通过状态、失败状态和未知状态,提高系统诊断精度。

可选的,根据剩余的测试模块各自的超时值将剩余的测试模块的测试状态进行分类,可以包括:

将剩余测试模块的超时值加1后,判断超时值是否超过预设上限值,如果超过预设上限值,则将该剩余测试模块的测试状态确定为未知状态,如果未超过预设上限值,则将该剩余测试模块的测试状态保持不变。

本实施例中,对于当前周期未获取到测试状态的测试模块,即当前周期接收到测试状态集合tn的补集,将补集中所有测试模块的超时值同时加1,判断是否超过各自测试模块超时值的上限值,如果超过上限,则将超时值超过上限值的测试模块的测试状态更改为未知状态;如果未超过上限,则将超时值未超过上限值的测试模块的测试状态保持原状态不变,原状态是指系统中缓存的该测试模块的测试状态。比如,对于超时值未超过上限值的测试模块,若系统中缓存的该测试模块的测试状态为通过状态,则保持通过状态不变;若系统中缓存的该测试模块的测试状态为失败状态,则保持失败状态不变。

第二种实现方式:根据当前周期获取到测试状态的测试模块,确定剩余测试模块;根据当前周期新成为失败状态的测试模块,将剩余测试模块的测试状态进行分类。

本实施例中,对于当前周期未获取到测试状态的测试模块,可以根据当前周期新成为失败状态的测试模块,将当前周期未获取到测试状态的测试模块分为通过状态、失败状态和未知状态,提高系统诊断精度。

可选的,根据当前周期新成为失败状态的测试模块,将剩余测试模块的测试状态进行分类,包括:

将当前周期新成为失败状态的测试模块作为基准模块,在剩余测试模块中查找与基准模块具有预设关系的测试模块,将查找到的测试模块的测试状态确定为未知状态。

本实施例中,对于当前周期未获取到测试状态的测试模块,即当前周期接收到测试状态集合tn的补集,根据当前周期新成为失败状态的测试模块(基准模块)依次查映射表,该映射表包括任意两个或多个测试模块的预设关系,在剩余测试模块中查找与基准模块具有预设关系的测试模块,依次将查找到的测试模块的测试状态设置为未知状态,将未查找到的测试模块的测试状态包括原状态不变。

在一示例性实施例中,预设关系可以包括:依赖关系,依赖关系是指当前周期内两个测试模块中一个测试模块测试后,另一个测试模块才进行测试。本实施例中,将在测试时具有先后测试顺序的两个测试模块的关系可以称为依赖关系,比如测试时,在测试模块a测试通过后,测试模块b才进行测试,在测试模块a测试失败或未知时,测试模块b就不进行测试,此时,可以将测试模块a和测试模块b称为具有依赖关系的两个测试模块。

在一示例性实施例中,预设关系可以包括:遮挡关系,遮挡关系是指当前周期内两个测试模块同时测试,且只出一个测试结果。本实施例中,将在测试时,需要同时测试,但某一测试模块的测试结果掩盖或屏蔽了另一个测试模块的测试结果,导致只出一个测试结果的两个测试模块的关系可以称为遮挡关系。比如在测试模块a和测试模块b同时测试时,测试模块a的测试结果掩盖或屏蔽了测试模块b的测试结果,测试报告中只有测试模块a的测试结果,此时,可以将测试模块a和测试模块b称为具有遮挡关系的两个测试模块。

在一示例性实施例中,预设关系可以包括:阻断关系,阻断关系是指当前周期内两个测试模块中一个测试模块测试后,另一个测试模块停止测试。本实施例中,将在测试时具有互斥关系的两个测试模块的关系可以称为阻断关系,比如测试时,在测试模块a测试通过后,测试模块b停止测试,此时,可以将测试模块a和测试模块b称为具有阻断关系的两个测试模块。

其中,本实施例可以将与基准模块具有预设关系的测试模块(以下可称为关联测试模块)称为基准模块的上游测试模块或下游测试模块,比如,预设关系为依赖关系,且基准模块测试后,关联测试模块才进行测试,此时,可以将基准模块称为关联测试模块的上游测试模块,将关联模块称为基准模块的下游测试模块。

在本发明一示例性实施例中,将所有测试模块的测试状态分为至少三种类型之后,还可以包括:

将测试状态为通过状态的测试模块标记为正常;将测试状态为失败状态的测试模块标记为故障或疑似故障;将测试状态为未知状态的测试模块标记为未知。

本实施例中,可以将测试状态为通过状态的所有测试模块放到通过测试集合,通过测试集合中的测试模块的状态均标记为正常;将测试状态为未知状态的所有测试模块放到未知测试集合,未知测试集合中的测试模块的状态均标记为未知;将测试状态为失败状态的所有测试模块放到失败测试集合(也可称为故障集),失败测试集合中的测试模块的状态均先标记为疑似故障,进一步判断失败测试签名与通过测试集合中的测试模块相减后的集合是否单一,集合是否单一是指集合中只有一个测试模块,如果单一则将该单一的测试模块的状态标记为故障。

在本发明一示例性实施例中,图2为本发明一示例性实施例提供的故障诊断方法的流程图,如图2所示,其具体可以包括:

s201:初始化所有测试模块和测试状态。

本实施例中,初始化待诊断系统中所有测试模块的状态为未知状态,每个测试模块的可能状态为以下枚举中的一种:“正常”/“故障”/“疑似故障”/“未知”。初始化上一次(比如上一周期)所有的测试状态为未知状态,每个测试的可能状态为以下枚举中的一种:“通过”/“失败”/“未知”/“…”,以及初始化每个测试模块的超时值为0。

s202:获取新增测试报告,处理后分为三个集合。

本实施例中,可以通过总线获取上次处理周期开始之后本次处理周期中的增量测试报告状态,将本次获得测试状态集合tn与上一次测试状态集合tn-1中的对应项进行比较,得到本次处理状态发生变化的测试集合δtn,将其分为三个集合:本次新增通过状态的测试集合、本次新增失败状态的测试集合和本次新增未知状态的测试集合。

其中,新增通过状态的测试集合和新增失败状态的测试集合可直接通过和上一次测试状态比较得到,而新增未知状态测试集合则有两个来源:来源一是计算δtn的补集,将补集中的所有超时值同时加1,判断是否查过各自测试模块的超时值的上限值,如果超过上限值,则将其状态更改为未知状态;来源二是根据新增的失败测试依次查映射表,依次将失败测试对应的可掩盖可屏蔽等测试模块的状态设置为未知状态。

s203:处理增量通过状态测试集合。

本实施例中,处理增量通过状态的测试集合可以包括:更新对应的测试模块状态为“正常“状态。具体的,可以通过d矩阵查询新增通过测试所检测的测试模块集合的并集,根据新增通过测试所检测测试模块集合的并集,更新系统中对应测试模块的状态为“正常”状态。

s204:处理增量失败状态测试集合。

本实施例中,处理增量失败状态的测试集合可以包括:更新对应的测试模块为“故障”/“疑似故障”状态,具体的,可以通过d矩阵查询新增失败测试对应的测试模块集合,根据新增失败测试所检测测试模块集合的并集,更新系统中对应测试模块的状态为“疑似故障”。进一步地,判断失败测试签名与通过测试集合中的测试模块相减后的集合是否单一,集合是否单一是指集合中只有一个测试模块,如果单一则将该单一的测试模块的状态标记为故障。

s205:处理增量未知状态测试集合。

本实施例中,处理增量未知状态的测试集合可以包括:更新对应的测试模块为“未知”状态,具体的,可以通过d矩阵查询新增未知测试对应的测试模块集合,根据新增未知测试所检测测试模块集合的并集,更新系统中对应测试模块的状态为“未知”。

s206:判断缓存状态。对于上一次为通过的测试集合,执行s207;对于上一次为失败的测试集合,执行s208。

本实施例,可对增量未知状态的测试集合可以进一步判定,以将未知状态划分为通过锁定或失败锁定,实现测试模块测试状态的“通过”|“失败”|“通过锁定”|“失败锁定”四值输出,提高诊断精度。

具体的,待诊断系统内缓存有各个周期的测试模块的测试状态,可以根据缓存中上一周期的通过状态和失败状态,将处于未知状态的测试模块划分为通过锁定或失败锁定。对于当前周期为未知状态的测试模块,若该测试模块在上一周期为通过状态,则在当前周期将该测试模块的测试状态变更为通过锁定;若该测试模块在上一周期为失败状态,则在当前周期将该测试模块的测试状态变更为失败锁定。

s207:搜索公共的上游或下游故障源。

本实施例中,在测试模块的测试状态由上一周期的通过状态变更为当前周期的未知状态(或通过锁定状态)时,搜索当前周期测试模块公共的上游或下游故障源,将当前周期测试模块的公共上游或公共下游的测试状态更新为未知状态(或通过锁定状态)。

s208:保留锁定故障。

本实施例中,在测试模块的测试状态由上一周期的失败状态变更为当前周期的未知状态(或失败锁定状态)时,搜索当前周期测试模块公共的上游或下游故障源,将当前周期测试模块的公共上游或公共下游的测试状态更新为未知状态(或失败锁定状态)。

s209:显示/暂存测试模块状态集合,执行s202。

本实施例中,显示或暂存当前周期测试模块状态作为当前诊断结果,跳转到s202进行下一周期运算。

在本发明一示例性实施例中,图3为本发明实施例提供的测试模块测试状态的切换示意图,如图3所示,初始化上一周期所有的测试状态为未知状态之后,各个测试模块的测试状态可在通过状态、失败状态和未知状态之间变化。

本发明实施例还提供一种故障诊断装置,图4为本发明实施例提供的故障诊断装置的结构示意图,如图4所示,本发明实施例提供的故障诊断装置可以包括:获取模块41和确定模块42。

获取模块41,用于获取测试报告,所述测试报告包括预设测试模块的测试状态;

确定模块42,用于根据预设测试模块的测试状态确定所有测试模块的测试状态,将所有测试模块的测试状态分为至少三种类型;

所有测试模块的测试状态分为三类:通过状态、失败状态和未知状态;

或者,

所有测试模块的测试状态分为四类:通过状态、失败状态、通过锁定状态和失败锁定状态。

本发明实施例提供的故障诊断装置用于执行图1所示方法实施例的技术方案,其实现原理和实现效果类似,此处不再赘述。

在本发明一示例实施例中,获取模块41获取测试报告,可以包括:

以预设周期间隔获取测试报告,并确定当前周期相对上一周期发生变化的测试状态,发生变化的测试状态包括:同一个测试模块的测试状态当前周期和上一周期不同、当前周期新增的测试模块的测试状态;

确定模块42根据预设测试模块的测试状态确定所有测试模块的测试状态,可以包括:

根据当前周期发生变化的测试状态,将发生变化的测试状态进行分类;

根据当前周期获取的测试模块的测试状态和/或发生变化的测试状态,将剩余测试模块的测试状态进行分类;

其中,剩余测试模块的集合为当前周期获取的测试模块集合在包含所有测试模块的集合中的补集。

在本发明一示例实施例中,在所有测试模块的测试状态包括:通过状态、失败状态和未知状态时,确定模块42根据当前周期获取的测试模块的测试状态和/或发生变化的测试状态,将剩余测试模块的测试状态进行分类,包括:

根据当前周期获取到测试状态的测试模块,确定所述剩余测试模块,根据剩余测试模块各自的超时值将剩余测试模块的测试状态进行分类,其中,一个测试模块的超时值用于表示该测试模块未被获取到测试状态的周期数。

在本发明一示例实施例中,确定模块42根据剩余的测试模块各自的超时值将剩余的测试模块的测试状态进行分类,可以包括:

将剩余测试模块的超时值加1后,判断超时值是否超过预设上限值,如果超过预设上限值,则将该剩余测试模块的测试状态确定为未知状态,如果未超过预设上限值,则将该剩余测试模块的测试状态保持不变。

在本发明一示例实施例中,在所有测试模块的测试状态包括:通过状态、失败状态和未知状态时,确定模块42根据当前周期获取的测试模块的测试状态和/或发生变化的测试状态,将剩余测试模块的测试状态进行分类,可以包括:

根据当前周期获取到测试状态的测试模块,确定所述剩余测试模块;根据当前周期新成为失败状态的测试模块,将所述剩余测试模块的测试状态进行分类。

在本发明一示例实施例中,确定模块42根据当前周期新成为失败状态的测试模块,将所述剩余测试模块的测试状态进行分类,可以包括:

将当前周期新成为失败状态的测试模块作为基准模块,在剩余测试模块中查找与所述基准模块具有预设关系的测试模块,将查找到的测试模块的测试状态确定为未知状态。

在本发明一示例实施例中,所述预设关系可以包括:依赖关系,所述依赖关系是指当前周期内两个测试模块中一个测试模块测试后,另一个测试模块才进行测试;

或者,

所述预设关系可以包括:遮挡关系,所述遮挡关系是指当前周期内两个测试模块同时测试,且只出一个测试结果;

或者,

所述预设关系可以包括:阻断关系,所述阻断关系是指当前周期内两个测试模块中一个测试模块测试后,另一个测试模块停止测试。

在本发明一示例实施例中,在所有测试模块的测试状态包括:通过状态、失败状态和未知状态时,确定模块42根据当前周期发生变化的测试状态,将发生变化的测试状态进行分类,包括:

确定当前周期新成为通过状态的测试模块,以及确定当前周期新成为失败状态的测试模块;

将当前周期获取的测试模块中除新成为通过状态和新成为失败状态之外的测试模块的测试状态确定为未知状态。

在本发明一示例实施例中,确定模块42还用于:所有测试模块的测试状态分为至少三种类型之后,将测试状态为通过状态的测试模块标记为正常;将测试状态为失败状态的测试模块标记为故障或疑似故障;将测试状态为未知状态的测试模块标记为未知。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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