CN111382078B - 故障诊断模拟方法、装置、电子设备及存储介质 - Google Patents
故障诊断模拟方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111382078B CN111382078B CN202010179262.4A CN202010179262A CN111382078B CN 111382078 B CN111382078 B CN 111382078B CN 202010179262 A CN202010179262 A CN 202010179262A CN 111382078 B CN111382078 B CN 111382078B
- Authority
- CN
- China
- Prior art keywords
- test
- simulation system
- function
- test data
- test result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2268—Logging of test results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请提供一种故障模拟诊断方法、装置、电子设备及存储介质,包括:接收表征需要对待测对象进行测试的测试需求;根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***;根据所述测试需求,确定出测试数据;针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***;将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障,以在被测对象存在故障时,实现对被测对象故障类型的诊断。
Description
技术领域
本申请涉及测试技术领域,具体而言,涉及一种故障诊断模拟方法、装置、电子设备及存储介质。
背景技术
基于功能和基于结构的测试数据自动生成是当前国内外较公认的主流技术。其中,前者出现较早,根据被测对象的功能生成测试数据,在功能测试中,将被测对象整体视为“黑盒”,仅考虑其输入、输出,不关心内部原理,将基于功能生成的测试数据作用于被测对象,在输出端观察响应结果,根据设定的功能指标判断被测对象是否故障,然而该方式很难准确地确定出被测对象的故障类型。
为此,提出了基于结构的测试数据生成技术。基于结构的方法必须准确把握被测对象内部机理,根据被测对象的结构生成测试数据,这种数据生成方式被称为“白盒测试”。该方式可将复杂的被测对象按规则划分为若干功能模块,分别测试各模块来实现对整个被测对象的测试,其缺点是,由于各模块仅能反映响应功能模块,因此,该方式很难覆盖整个被测对象的所有故障状态,继而导致被测对象的某些故障类型无法被诊断出。
发明内容
鉴于此,本申请实施例的目的在于提供一种故障诊断模拟方法、装置、电子设备及存储介质,以实现对被测设备的较全面的故障类型的诊断。
第一方面,本申请实施例提供一种故障诊断方法,所述方法包括:接收表征需要对待测对象进行测试的测试需求;根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***;根据所述测试需求,确定出测试数据;针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***;将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
在上述实现过程中,根据需要对待测对象进行测试的测试需求,构建出能够实现所述测试需求中的功能的模拟***,并根据测试需求中的每个功能,对所述模拟***进行修改,以使修改后的模拟***无法实现该功能,继而将根据测试需求确定出的测试数据输入到修改后的模拟***中,得到表征该功能存在故障的第一测试结果,继而得到能够反映各种功能故障类型的测试数据和第一测试结果,继而能够利用故障类型、第一测试结果和对应的测试数据去测试所述待测对象是否存在故障,并在待测对象存在故障时,确定出待测对象的故障类型。
基于第一方面,在一种可能的设计中,所述将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,包括:将所述测试数据输入所述模拟***,得到表征所述模拟***的各个功能正常的测试结果;将所述测试数据输入至所述修改后的模拟***,得到所述第一测试结果;在所述第一测试结果与所述测试结果不同时,所述第一测试结果表征该功能存在故障。
在上述实现过程中,针对同一个测试数据,在该测试数据对应的第一测试结果和表征所述模拟***的各个功能正常的测试结果相同时,可以初步确定该修改后的模拟***的该功能不存在故障,反之,表征该功能存在故障,继而能够利用所述第一测试结果准确地反映该修改后的模拟***的该功能存在故障。
基于第一方面,在一种可能的设计中,在得到所述修改后的模拟***之后,所述方法还包括:将所述测试数据输入至所述修改后的模拟***,未得到所述第一测试结果;对所述修改后的模拟***进行再次修改,得到再次修改后的模拟***;将所述测试数据输入至所述再次修改后的模拟***,得到表征该功能存在故障的第二测试结果,以利用所述第二测试结果和与所述第二测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
在上述实现过程中,将测试数据输入至修改后的模拟***,未得到表征该功能存在故障的第一测试结果时,通过再次修改所述模拟***,直到将测试数据输入至再次修改后的模拟***得到表征该功能存在故障的第二测试结果,继而保证得到反映各种故障类型的测试数据和对应的测试结果。
基于第一方面,在一种可能的设计中,在未得到所述第一测试结果之后,所述方法还包括:根据所述测试需求,生成新的测试数据;将所述新的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第三测试结果,以利用所述第三测试结果和与所述第三测试结果对应的所述新的测试数据测试所述待测对象的该功能是否存在故障。
在上述实现过程中,在未得到所述第一测试结果之后,根据测试需求,不断生成新的测试数据,直到将新的测试数据输入至修改后的模拟***后得到表征该功能存在故障的第三测试结果,继而保证得到反映各种故障类型的测试数据和对应的测试结果。
基于第一方面,在一种可能的设计中,所述方法还包括:确定所述测试需求中的全部功能对应的第一测试结果所对应的测试数据的数量是否小于等于预设值;在确定所述测试需求中全部功能对应的第一测试结果所对应的测试数据的数量大于所述预设值时,根据所述测试需求,重新生成测试数据;将重新生成的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第四测试结果;在确定所述测试需求中全部功能对应的第四测试结果对应的测试数据的数量小于等于所述预设值时,表征所述第四测试结果对应的测试数据为测试所述待测试设备的最终的测试数据。
所述测试需求中的全部功能对应的第一测试结果所对应的测试数据的数量比较大时,若利用第一测试结果和其对应的测试数据测试被测对象的所有故障类型,则所需的工作量比较大,因此,在上述实现过程中,通过将所述全部功能对应的第一测试结果对应的测试数据的数量与预设值进行比较,在确定所述全部功能对应的第一测试结果对应的测试数据的数量大于所述预设值时,根据测试需求重新生成测试数据,并利用重新生成的测试数据得到能够反映各种故障类型的第四测试结果,在确定所述测试需求中全部功能对应的第四测试结果所对应的测试数据的数量小于等于所述预设值时,表征所述第四测试结果对应的测试数据为测试所述待测试设备的最终的测试数据,继而利用最终的测试数据和对应的第四测试结果能够降低测试被测对象的所有故障类型所需的工作量。
基于第一方面,在一种可能的设计中,若所述测试数据中存在对应至少两个功能故障的不同测试结果的第一测试数据,所述方法还包括:将所述第一测试数据作为测试所述待测对象的所述至少两个功能的最终测试数据。
在上述实现过程中,通过这种方式能够利用较少的测试数据反映较多的故障类型,降低测试被测对象的所有故障类型所需的工作量。
第二方面,本申请实施例提供一种故障诊断模拟装置,所述装置包括:接收单元,用于接收表征需要对待测对象进行测试的测试需求;***构建单元,用于根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***;测试数据确定单元,用于根据所述测试需求,确定出测试数据;***修改单元,用于针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***;第一测试结果获得单元,用于将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
基于第二方面,在一种可能的设计中,所述第一测试结果获得单元,具体用于将所述测试数据输入所述模拟***,得到表征所述模拟***的各个功能正常的测试结果;以及将所述测试数据输入至所述修改后的模拟***,得到所述第一测试结果;在所述第一测试结果与所述测试结果不同时,所述第一测试结果表征该功能存在故障。
基于第二方面,在一种可能的设计中,所述装置还包括:输入单元,用于将所测试数据输入至所述修改后的模拟***,未得到所述第一测试结果;再次修改单元,用于对所述修改后的模拟***进行再次修改,得到再次修改后的模拟***;第二测试结果获得单元,用于将所述测试数据输入至所述再次修改后的模拟***,得到表征该功能存在故障的第二测试结果,以利用所述第二测试结果和与所述第二测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
基于第二方面,在一种可能的设计中,所述装置还包括:测试数据生成单元,用于根据所述测试需求,生成新的测试数据;第三测试结果获得单元,用于将所述新的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第三测试结果,以利用所述第三测试结果和与所述第三测试结果对应的所述新的测试数据测试所述待测对象的该功能是否存在故障。
基于第二方面,在一种可能的设计中,所述装置还包括:数量确定单元,用于确定所述测试需求中的全部功能对应的第一测试结果所对应的测试数据的数量是否小于等于预设值;重新生成单元,用于在确定所述测试需求中全部功能对应的第一测试结果所对应的测试数据的数量大于所述预设值时,根据所述测试需求,重新生成测试数据;第四测试结果获得单元,用于将重新生成的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第四测试结果;第一确定单元,用于在确定所述测试需求中全部功能对应的第四测试结果对应的测试数据的数量小于等于所述预设值时,表征所述第四测试结果对应的测试数据为测试所述待测试设备的最终的测试数据。
基于第二方面,在一种可能的设计中,若所述测试数据中存在对应至少两个功能故障的不同测试结果的第一测试数据,所述装置还包括:第二确定单元,用于将所述第一测试数据作为测试所述待测对象的所述至少两个功能的最终测试数据。
第三方面,本申请实施例提供一种电子设备,包括处理器以及与所述处理器连接的存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行第一方面所述的方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面所述的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的故障诊断模拟方法的流程示意图。
图2为本申请实施例提供的粒子的输入输出结构示意图。
图3为本申请实施例提供的粒子层和连接层连接流程示意图。
图4为本申请实施例提供的故障诊断模拟装置的结构示意图。
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1为本申请实施例提供的一种故障诊断模拟方法的流程图,下面将对图1所示的流程进行详细阐述,所述方法包括步骤:S11、S12、S13、S14和S15。
S11:接收表征需要对待测对象进行测试的测试需求。
S12:根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***。
S13:根据所述测试需求,确定出测试数据。
S14:针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***。
S15:将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
下面对上述方法进行详细介绍。
S11:接收表征需要对待测对象进行测试的测试需求。
其中,所述待测对象可以为硬件和/或软件。
其中,所述测试需求可以为用户通过交互界面上输入的测试需求语句,例如:实现发短信功能、打电话功能、乘法运算功能等。
在接收到测试需求之后,执行步骤S12。
S12:根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***。
***多粒度建模拟采用聚合解聚法。聚合解聚法的基本思想包括对粗粒度的模型进行解聚,对细粒度的模型进行聚合,使不同粒层的粒子实现信息交互。被测***的多粒度模型包括三个粒层:***层、功能模块层和电子器件层。测试数据生成算法执行时,先在粗粒度的模型层运行,需要细节时,再进行解聚。反馈机制执行时,可以根据测试需要在细粒度的模型层进行聚合。
作为一种实施方式,根据所述测试需求中的***功能,综合先验知识、实验推演和连接机理,进行***层建模,得到***层模型;在***层建模过程中,将***层模型视为一个整体,只考虑***输入和***输出,将根据测试需求中的***功能生成的测试数据输入到所述***层模型中,若所述***层模型输出的结果和所述***层模型能够实现所述***功能的情况下输出的结果之间的误差小于等于预设误差时,确定所述***层模型能够实现所述***功能,并将所述***模型作为最终的***层模型;反之,若所述误差大于所述预设误差时,调整所述***层模型的参数,直到调整后的***层模型能够实现所述***功能,并将所述调整后的***模型作为最终的***层模型。
功能模块层建模拟采取功能建模与结构建模相结合的方式。其中,功能建模是根据测试需求将***层模型划分为若干个基本粒子,这些基本粒子用以描述***层模型的各功能模块。每个基本粒子都作为一个独立的单元完成***功能的一部分。基本粒子还可以进一步粒化,实现功能模块的子功能模块的描述。
功能模块层建模过程可分为两个层次:粒子层和连接层。粒子层用于描述该层粒子的功能属性。根据测试需求确定粒子层的各个粒子之间的相互依赖关系,即通过结构建模的方式实现连接层的建模,其中,连接层用于描述各个粒子之间的相互依赖关系。
连接层和粒子层这两个层次的建模共同完成功能模块层的完整描述。
功能模块层的描述中,每个基本粒子都可视为一个多输入多输出的模块,如图2所示。图2中示意了粒子M1和M2的描述方式,M1具有p1个输入端和q1个输出端,输入端信号构成了p1×1维的输入矩阵,输出端信号构成了q1×1维的输出矩阵。M2具有p2个输入端和q2个输出端,同样它具有p2×1维的输入矩阵和q2×1维的输出矩阵。其它基本粒子也以此方式描述。
因此,功能模块层建模过程可用图3来描述,图3中示意了粒子层和连接层的关系,即粒子层和连接层相关,粒子层依靠连接层建立粒子间的依赖关系。输入矩阵(输出矩阵)由基本粒子的输入端(输出端)信号构成,输入端(输出端)信号可以是电压信号,也可以是电流信号。
在功能模块层构建完成之后,将根据测试需求确定出的测试数据用于测试功能模块层是否实现了所述测试需求中的全部功能,在功能模块层输出的测试结果和功能模块层能够正常实现所述测试中的全部功能输出的结果的误差小于预设误差时,确定所述功能模块层能够实现所述测试需求中的全部功能,确定所述功能模块层为最终的功能模块层;反之修改功能模块层中的参数,直到修改后的功能模块层能够实现所述测试需求中的全部功能。
在功能模块层构建完之后,得到所述模拟***,可以理解的是,所述模拟***包括***层和功能模块层。
作为一种实施方式,还可以只包括功能模块层。
作为一种实施方式,所述模拟***还包括能够电子器件层。
S13:根据所述测试需求,确定出测试数据。
其中,所述测试数据的数量为多个。
根据测试需求中的各个待测功能,利用测试数据生成算法生成测试数据,以用于测试所述待测对象的各个待测功能是否发生故障以及确定其故障类型。
例如,待测功能为加法功能或者乘法功能时,利用测试数据生成算法生成的测试数据可以为-999-999之间的随机数。其中,根据测试需求,利用测试数据生成算法生成所述测试数据的具体实施方式为本领域熟知技术,因此,在此不再赘述。
在确定出所述测试数据之后,执行步骤S14。
S14:针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***。
其中,该功能可以为测试需求中的***功能中的任意一个功能、两个功能的组合和/或多个功能的组合等。
例如,在***功能包括:a功能、b功能和c功能时;
针对a功能,修改所述模拟***,以使修改后的模拟***无法实现a功能,得到所述修改后的模拟***。
针对b功能,修改所述模拟***,以使修改后的模拟***无法实现b功能,得到所述修改后的模拟***。
针对c功能,修改所述模拟***,以使修改后的模拟***无法实现c功能,得到所述修改后的模拟***。
针对a功能和b功能,修改所述模拟***,以使修改后的模拟***无法实现a功能和b功能,得到所述修改后的模拟***。
针对b功能和c功能,修改所述模拟***,以使修改后的模拟***无法实现b功能和c功能,得到所述修改后的模拟***。
针对a功能和c功能,修改所述模拟***,以使修改后的模拟***无法实现a功能和c功能,得到所述修改后的模拟***。
针对a功能、b功能和c功能,修改所述模拟***,以使修改后的模拟***无法实现a功能、b功能和c功能,得到所述修改后的模拟***。
S15:将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
作为一种实施方式,S15可以按照如下方式实施,将所述测试数据输入所述模拟***,得到表征所述模拟***的各个功能正常的测试结果,将所述测试数据输入至所述修改后的模拟***,得到所述第一测试结果,在所述第一测试结果与所述测试结果不同时,所述第一测试结果表征该功能存在故障。
将所述测试数据分别输入至所述模拟***,得到表征所述模拟***的各个功能正常的测试结果,其中,一个测试数据对应一个正常的测试结果,一个正常的测试结果可能对应不同的测试数据,可以理解的是,可能存在两个或者多个不同的测试数据分别输入所述模拟***之后,其得到的测试结果相同;将所述测试数据分别输入至所述修改后的模拟***,得到与测试数据对应的第一测试结果,其中,一个测试数据对应一个第一测试结果,针对每个测试数据,通过将该测试数据对应的第一测试结果和正常的测试结果进行比较,在所述第一测试结果与所述正常的测试结果不同时,所述第一测试结果表征该功能存在故障,继而能够利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障,可以理解的是,在利用所述对应的测试数据测试所述被测对象时,若得到的测试结果和所述第一测试结果相同,则确定所述待测对象的该功能存在故障,若得到的测试结果和所述正常的测试结果相同,则确定所述待测对象的该功能正常。
作为一种实施方式,得到表征所述模拟***的各个功能正常的测试结果的步骤可以为,根据测试数据和测试需求中的各个功能以及各个功能之间的依赖关系,确定出表征该模拟***的各个功能正常的测试结果,其中,所述测试数据和所述正常的测试结果对应。
作为一种实施方式,在S14之后,所述方法还包括步骤:A1、A2和A3。
A1:将所测试数据输入至所述修改后的模拟***,未得到所述第一测试结果。
可以理解的是,将所测试数据输入至所述修改后的模拟***,得到的测试结果和所述正常的测试结果相同,不存在表征该功能故障的第一测试结果。
A2:对所述修改后的模拟***进行再次修改,得到再次修改后的模拟***。
对所述修改后的模拟***进行再次修改,以使再次修改后的***模型无法实现该功能,得到所述再次修改后的模拟***。
A3:将所述测试数据输入至所述再次修改后的模拟***,得到表征该功能存在故障的第二测试结果,以利用所述第二测试结果和与所述第二测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
其中,A3的具体实施实施方式请参照步骤S15,在此不再赘述。
为了保证得到反映各种故障类型的测试数据和对应的测试结果,因此,作为一种实施方式,在A1之后,所述方法还包括:A11和A12。
A11:根据所述测试需求,生成新的测试数据。
根据所述测试需求中的待测功能,调整测试数据生成算法中的参数,生成新的测试数据。
在得到所述新的测试数据之后,执行步骤A12。
A12:将所述新的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第三测试结果,以利用所述第三测试结果和与所述第三测试结果对应的所述新的测试数据测试所述待测对象的该功能是否存在故障。
其中,A12的具体实施方式可以参照S15,因此,在此不再赘述。
在上述实现过程中,在未得到所述第一测试结果之后,根据测试需求,不断生成新的测试数据,直到将新的测试数据输入至修改后的模拟***后得到表征该功能存在故障的第三测试结果,继而保证得到反映各种故障类型的测试数据和对应的测试结果。所述测试需求中的全部功能对应的第一测试结果对应的测试数据的数量比较大时,若利用第一测试结果和其对应的测试数据测试被测对象的所有故障类型,则所需的工作量比较大,因此,作为一种实施方式,所述方法还包括:B1、B2、B3和B4。
B1:确定所述测试需求中的全部功能对应的第一测试结果所对应的测试数据的数量是否小于等于预设值。
针对所述全部功能中的每个功能,得到能够表征该功能存在故障的第一测试结果之后,根据测试数据和测试结果的关系,确定与所述第一测试结果所对应的测试数据,继而通过将所述全部功能对应的第一测试结果所对应的测试数据中不同的测试数据的数量与所述预设值进行大小比较,得到表征所述数量是否小于等于所述预设值比较结果。
作为一种实施方式,针对每种功能,从该功能对应的全部第一测试结果中确定出一个第一测试结果,继而根据测试数据和测试结果的对应关系,确定出全部功能对应的第一测试结果对应的测试数据,通过将所述对应的测试数据中不同的测试数据的数量与所述预设值进行大小比较,得到表征所述数量是否小于等于所述预设值比较结果。
作为一种实施方式,若所述测试数据中存在对应至少两个功能故障的不同第一测试结果的第一测试数据,将所述第一测试数据作为测试所述待测对象的所述至少两个功能的测试数据,继而得到测试全部功能所需的测试数据,将所述所需的测试数据的数量与所述预设值进行大小比较,得到表征所述数量是否小于等于所述预设值比较结果。
在得到所述比较结果之后,执行步骤B2。
B2:在确定所述测试需求中全部功能对应的第一测试结果所对应的测试数据的数量大于所述预设值时,根据所述测试需求,重新生成测试数据。
在所述比较结果表征所述数量大于所述预设值时,根据所述测试需求,调整所述测试数据生成算法的参数,重新生成测试数据。
B3:将重新生成的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第四测试结果。
其中,B3的具体实施方式可以参照步骤S15,因此,在此不再赘述。
B4:在确定所述测试需求中全部功能对应的第四测试结果对应的测试数据的数量小于等于所述预设值时,表征所述第四测试结果对应的测试数据为测试所述待测试设备的最终的测试数据。
通过将所述第四测试结果对应的测试数据的数量与所述预设值进行大小比较,在比较结果表征所述数量小于等于所述预设值时,将所述第四测试结果对应的测试数据作为测试所述待测试设备的最终的测试数据。
作为一种实施方式,若所述测试数据中存在对应至少两个功能故障的不同测试结果的第一测试数据,所述方法还包括:将所述第一测试数据作为测试所述待测对象的所述至少两个功能的最终测试数据。
通过这种方式能够利用较少的测试数据反映较多的故障类型,降低测试被测对象的所有故障类型所需的工作量。
总之,在测试数据生成算法得到的测试数据集很大时,其中,冗余的测试数据会造成测试资源的浪费。此时需要通过压缩测试数据集消除冗余数据。压缩方式可分为特征选择和特征提取两种。特征选择是指从初始特征集合中选择一部分性能优异的特征构成特征子集。特征提取是通过一定的转换,将初始特征映射为一个新的特征。二者的目的都是以提高故障覆盖率和测试数据有效度为目标。
请参照图4,图4是本申请实施例提供的一种故障诊断模拟装置400的结构框图。下面将对图4所示的结构框图进行阐述,所示装置包括:
接收单元410,用于接收表征需要对待测对象进行测试的测试需求。
***构建单元420,用于根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***。
测试数据确定单元430,用于根据所述测试需求,确定出测试数据。
***修改单元440,用于针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***。
第一测试结果获得单元450,用于将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
作为一种实施方式,所述第一测试结果获得单元450,具体用于将所述测试数据输入所述模拟***,得到表征所述模拟***的各个功能正常的测试结果;以及将所述测试数据输入至所述修改后的模拟***,得到所述第一测试结果;在所述第一测试结果与所述测试结果不同时,所述第一测试结果表征该功能存在故障。
作为一种实施方式,所述装置还包括:输入单元,用于将所测试数据输入至所述修改后的模拟***,未得到所述第一测试结果;再次修改单元,用于对所述修改后的模拟***进行再次修改,得到再次修改后的模拟***;第二测试结果获得单元,用于将所述测试数据输入至所述再次修改后的模拟***,得到表征该功能存在故障的第二测试结果,以利用所述第二测试结果和与所述第二测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
作为一种实施方式,所述装置还包括:测试数据生成单元,用于根据所述测试需求,生成新的测试数据;第三测试结果获得单元,用于将所述新的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第三测试结果,以利用所述第三测试结果和与所述第三测试结果对应的所述新的测试数据测试所述待测对象的该功能是否存在故障。
作为一种实施方式,所述装置还包括:数量确定单元,用于确定所述测试需求中的全部功能对应的第一测试结果所对应的测试数据的数量是否小于等于预设值;重新生成单元,用于在确定所述测试需求中全部功能对应的第一测试结果所对应的测试数据的数量大于所述预设值时,根据所述测试需求,重新生成测试数据;第四测试结果获得单元,用于将重新生成的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第四测试结果;第一确定单元,用于在确定所述测试需求中全部功能对应的第四测试结果对应的测试数据的数量小于等于所述预设值时,表征所述第四测试结果对应的测试数据为测试所述待测试设备的最终的测试数据。
作为一种实施方式,若所述测试数据中存在对应至少两个功能故障的不同测试结果的第一测试数据,所述装置还包括:第二确定单元,用于将所述第一测试数据作为测试所述待测对象的所述至少两个功能的最终测试数据。
本实施例对的各功能单元实现各自功能的过程,请参见上述图1-3所示实施例中描述的内容,此处不再赘述。
请参照图5,本申请第五实施例提供一种电子设备100的结构示意图,电子设备100可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personaldigital assistant,PDA)等。
电子设备100可以包括:存储器102、处理101、通信接口103和通信总线,通信总线用于实现这些组件的连接通信。
所述存储器102用于存储本申请实施例提供的故障诊断模拟测试方法和装置对应的计算程序指令等各种数据,其中,存储器102可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)等。
处理器101用于读取并运行存储于存储器中的故障诊断模拟方法和装置对应的计算机程序指令,以实现对被测设备的故障类型的诊断。
其中,处理器101可能是一种集成电路芯片,具有信号的处理能力。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信接口103,用于接收测试需求。
此外,本申请实施例还提供了一种存储介质,在该存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行本申请任一项实施方式所提供的方法。
综上所述,本申请各实施例提出的故障诊断模拟方法、装置、电子设备及存储介质,根据需要对待测对象进行测试的测试需求,构建出能够实现所述测试需求中的功能的模拟***,并根据测试需求中的每个功能,对所述模拟***进行修改,以使修改后的模拟***无法实现该功能,继而将根据测试需求确定出的测试数据输入到修改后的模拟***中,得到表征该功能存在故障的第一测试结果,继而得到能够反映各种功能故障类型的测试数据和第一测试结果,继而能够利用故障类型、第一测试结果和对应的测试数据去测试所述待测对象是否存在故障,并在待测对象存在故障时,确定出待测对象的故障类型。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
Claims (8)
1.一种故障模拟诊断方法,其特征在于,所述方法包括:
接收表征需要对待测对象进行测试的测试需求;
根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***;
根据所述测试需求,确定出测试数据;
针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***;
将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障;
所述将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,包括:
将所述测试数据输入所述模拟***,得到表征所述模拟***的各个功能正常的测试结果;
将所述测试数据输入至所述修改后的模拟***,得到所述第一测试结果;
在所述第一测试结果与所述测试结果不同时,所述第一测试结果表征该功能存在故障。
2.根据权利要求1所述的方法,其特征在于,在得到所述修改后的模拟***之后,所述方法还包括:
将所测试数据输入至所述修改后的模拟***,未得到所述第一测试结果;
对所述修改后的模拟***进行再次修改,得到再次修改后的模拟***;
将所述测试数据输入至所述再次修改后的模拟***,得到表征该功能存在故障的第二测试结果,以利用所述第二测试结果和与所述第二测试结果对应的测试数据测试所述待测对象的该功能是否存在故障。
3.根据权利要求2所述的方法,其特征在于,在未得到所述第一测试结果之后,所述方法还包括:
根据所述测试需求,生成新的测试数据;
将所述新的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第三测试结果,以利用所述第三测试结果和与所述第三测试结果对应的所述新的测试数据测试所述待测对象的该功能是否存在故障。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述测试需求中的全部功能对应的第一测试结果所对应的测试数据的数量是否小于等于预设值;
在确定所述测试需求中全部功能对应的第一测试结果所对应的测试数据的数量大于所述预设值时,根据所述测试需求,重新生成测试数据;
将重新生成的测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第四测试结果;
在确定所述测试需求中全部功能对应的第四测试结果对应的测试数据的数量小于等于所述预设值时,表征所述第四测试结果对应的测试数据为测试待测试设备的最终的测试数据。
5.根据权利要求1所述的方法,其特征在于,若所述测试数据中存在对应至少两个功能故障的不同测试结果的第一测试数据,所述方法还包括:
将所述第一测试数据作为测试所述待测对象的所述至少两个功能的最终测试数据。
6.一种故障诊断模拟装置,其特征在于,所述装置包括:
接收单元,用于接收表征需要对待测对象进行测试的测试需求;
***构建单元,用于根据所述测试需求进行***建模,构建出能够实现所述测试需求中的功能的模拟***;
确定单元,用于根据所述测试需求,确定出测试数据;
***修改单元,用于针对所述测试需求中的每个功能,修改所述模拟***,以使修改后的模拟***无法实现该功能,得到所述修改后的模拟***;
测试结果获得单元,用于将所述测试数据输入至所述修改后的模拟***,得到表征该功能存在故障的第一测试结果,以利用所述第一测试结果和与所述第一测试结果对应的测试数据测试所述待测对象的该功能是否存在故障;
所述测试结果获得单元,具体用于将所述测试数据输入所述模拟***,得到表征所述模拟***的各个功能正常的测试结果;以及将所述测试数据输入至所述修改后的模拟***,得到所述第一测试结果;在所述第一测试结果与所述测试结果不同时,所述第一测试结果表征该功能存在故障。
7.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1-5中任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010179262.4A CN111382078B (zh) | 2020-03-13 | 2020-03-13 | 故障诊断模拟方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010179262.4A CN111382078B (zh) | 2020-03-13 | 2020-03-13 | 故障诊断模拟方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382078A CN111382078A (zh) | 2020-07-07 |
CN111382078B true CN111382078B (zh) | 2023-04-28 |
Family
ID=71215373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010179262.4A Active CN111382078B (zh) | 2020-03-13 | 2020-03-13 | 故障诊断模拟方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382078B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571802A (zh) * | 2009-06-19 | 2009-11-04 | 北京航空航天大学 | 一种嵌入式软件测试数据可视化自动生成方法及*** |
DE102009019442A1 (de) * | 2009-02-25 | 2010-09-23 | Siemens Aktiengesellschaft | Testdatengenerator |
CN102063374A (zh) * | 2011-01-07 | 2011-05-18 | 南京大学 | 一种使用半监督信息进行聚类的回归测试用例选择方法 |
CN103279415A (zh) * | 2013-05-27 | 2013-09-04 | 哈尔滨工业大学 | 基于组合测试的嵌入式软件测试方法 |
CN103530228A (zh) * | 2013-09-27 | 2014-01-22 | 西安电子科技大学 | 一种基于模型的软件测试方法 |
CN105893256A (zh) * | 2016-03-30 | 2016-08-24 | 西北工业大学 | 基于机器学习算法的软件故障定位方法 |
CN110580566A (zh) * | 2019-06-24 | 2019-12-17 | 上海核工程研究设计院有限公司 | 一种仪控***黑盒测试*** |
-
2020
- 2020-03-13 CN CN202010179262.4A patent/CN111382078B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009019442A1 (de) * | 2009-02-25 | 2010-09-23 | Siemens Aktiengesellschaft | Testdatengenerator |
CN101571802A (zh) * | 2009-06-19 | 2009-11-04 | 北京航空航天大学 | 一种嵌入式软件测试数据可视化自动生成方法及*** |
CN102063374A (zh) * | 2011-01-07 | 2011-05-18 | 南京大学 | 一种使用半监督信息进行聚类的回归测试用例选择方法 |
CN103279415A (zh) * | 2013-05-27 | 2013-09-04 | 哈尔滨工业大学 | 基于组合测试的嵌入式软件测试方法 |
CN103530228A (zh) * | 2013-09-27 | 2014-01-22 | 西安电子科技大学 | 一种基于模型的软件测试方法 |
CN105893256A (zh) * | 2016-03-30 | 2016-08-24 | 西北工业大学 | 基于机器学习算法的软件故障定位方法 |
CN110580566A (zh) * | 2019-06-24 | 2019-12-17 | 上海核工程研究设计院有限公司 | 一种仪控***黑盒测试*** |
Also Published As
Publication number | Publication date |
---|---|
CN111382078A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zeng et al. | Finite state machine synthesis with concurrent error detection | |
KR102374380B1 (ko) | 인공지능 칩 테스트 방법, 장치, 기기 및 저장매체 | |
CN111881022A (zh) | 基于测试场景生成测试用例的方法、装置和设备 | |
CN112149380B (zh) | 一种标准单元库的指标分析方法及装置 | |
CN111897724A (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN112232006A (zh) | 一种标准单元库验证方法、装置、电子设备及存储介质 | |
US20230153499A1 (en) | Register-transfer level signal mapping construction method, device, apparatus and storage medium | |
CN111931172A (zh) | 一种金融***业务流程异常预警方法及装置 | |
CN111240876A (zh) | 微服务的故障定位方法、装置、存储介质及终端 | |
US11675009B2 (en) | Converting formal verification testbench drivers with nondeterministic inputs to simulation monitors | |
US8453082B2 (en) | Soft error verification in hardware designs | |
CN111382078B (zh) | 故障诊断模拟方法、装置、电子设备及存储介质 | |
CN114356683A (zh) | 覆盖率融合方法、装置、计算机设备及存储介质 | |
CN113408804A (zh) | 窃电行为检测方法、***、终端设备及存储介质 | |
Yang et al. | Hybrid fault diagnosability with unreliable communication links | |
CN115687108A (zh) | 基于uvm与fpv相结合的验证方法、平台、终端及存储介质 | |
Taher et al. | A machine learning based hard fault recuperation model for approximate hardware accelerators | |
Hadjicostis | Nonconcurrent error detection and correction in fault-tolerant linear finite-state machines | |
RU2699056C1 (ru) | Способ обеспечения надежности вычислительных систем при различных архитектурах избыточности | |
Saifan et al. | Using formal methods for test case generation according to transition-based coverage criteria | |
Voas et al. | COTS software failures: can anything be done? | |
CN115563930A (zh) | 基于存储模型的自动验证方法、装置、终端及存储介质 | |
CN115373712A (zh) | 一种车辆的升级方法、升级***、设备和介质 | |
CN116680178A (zh) | 用于车载软件开发的模型测试方法及*** | |
CN115774678A (zh) | 自动测试方法、终端设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |