首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

故障注入测试设备和方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:现代自动车株式会社;起亚自动车株式会社;硕索福特株式会社

摘要:本发明涉及一种故障注入测试设备和方法,其中故障注入测试设备包括:通信模块,其与电子控制装置进行通信;测试场景管理模块,其创建用于对电子控制装置执行故障注入测试的测试场景;测试执行模块,其根据测试场景执行故障注入测试,并将故障数据传输到电子控制装置;故障检测模块,其确定故障数据是否从测试执行模块正常传输到电子控制装置;以及恢复确定模块,其确定电子控制装置是否从故障中恢复,其中该故障通过从测试执行模块传输的故障数据被引入到电子控制装置。

主权项:1.一种故障注入测试设备,包括:通信模块,其与电子控制装置进行通信;测试场景管理模块,其创建用于对所述电子控制装置执行故障注入测试的测试场景;测试执行模块,其根据测试场景执行故障注入测试,并将故障数据传输到所述电子控制装置;故障检测模块,其确定故障数据是否从所述测试执行模块正常传输到所述电子控制装置;恢复确定模块,其确定所述电子控制装置是否从故障中恢复,其中该故障通过从所述测试执行模块传输的故障数据被引入到所述电子控制装置;和监测模块,在所述测试执行模块将故障数据发送到所述电子控制装置之前,确定所述电子控制装置是否处于正常状态,其中,当基于故障检测标准检测到故障时,所述故障检测模块确定出故障数据被正常传输到所述电子控制装置,所述故障检测标准包括以下中的至少一个:任务执行计数值未增加、警报循环值变为“0”、错误代码值不是正常值、数据值诱导出特定存储器区域的故障值、整体系统操作冻结以及任务执行时间超出任务的平均执行时间的误差范围。

全文数据:故障注入测试设备和方法技术领域本发明涉及一种故障注入测试设备和方法,更具体涉及以下这种故障注入测试设备和方法,其根据有效标准,在对装配在车辆中的电子控制装置执行故障注入测试时,确定是否正常注入故障,并确定是否从所注入的故障中恢复。背景技术近年来,在车辆中实施了越来越多的电子控制装置,例如用于处理各种功能的电子控制单元ECU。然而,嵌入在电子控制装置中的软件SW的可靠性,因电子控制装置发生故障导致的事故而受到质疑。因此,ISO26262标准规定应用于其他领域例如火车、航空或核电行业的功能安全要求应适用于汽车行业,并且应该利用故障注入测试对电子控制装置的软件元件进行测试。电子控制装置通常被设计成避免和防止故障,并且需要具有检测错误并在即使发生意外故障时也能在短时间内自动从错误中恢复的机制。因此,在电子控制装置实际安装在车辆中之前,需要向电子控制装置强制引入故障并验证是否正常执行故障检测和故障恢复。通常,通过在故障注入之前和之后监测电子控制装置的状态,检查电子控制装置,以确定它们是否在没有任何特殊问题的情况下工作。然而,不会根据有效过程和标准来检查装置以确定故障是否被正常注入,也不会根据有效过程和标准来检查是否从故障中恢复,从而降低故障注入测试的可靠性。此外,由于设计者需要将故障直接注入到电子控制装置例如,使用“调试器”指令,观察电子控制装置的状态,然后报告结果,因此其时间和成本方面的效率较低。发明内容本发明提供一种故障注入测试设备和方法,通过该设备和方法可以在对电子控制装置进行故障注入测试期间,根据预定过程和标准来确定故障是否被正常引入,并且确定是否从故障中恢复。本发明还提供这种一种故障注入测试设备和方法,通过该设备和方法可以通过自动执行故障注入测试,并自动制作测试结果报告来使对电子控制装置的故障注入测试自动化。根据本发明的实施例,一种故障注入测试设备,包括:通信模块,其与电子控制装置进行通信;测试场景管理模块,其创建用于对电子控制装置执行故障注入测试的测试场景;测试执行模块,其根据测试场景执行故障注入测试,并将故障数据传输到电子控制装置;故障检测模块,其确定故障数据是否从测试执行模块正常传输到电子控制装置;以及恢复确定模块,其确定电子控制装置是否从故障中恢复,其中该故障通过从测试执行模块传输的故障数据被引入到电子控制装置。故障注入测试设备,还包括:监测模块,一旦开始故障注入测试,就监测电子控制装置的状态。故障注入测试设备,还包括:报告制作模块,其在故障注入测试完成时制作测试结果报告,测试结果报告包含电子控制装置在故障数据传输之前和之后的状态信息以及关于电子控制装置的状态变化的分析信息。测试场景包括测试执行条件、要传输到电子控制装置的故障数据、故障检测标准以及恢复确定标准。测试执行条件包括要引入故障的目标任务、传输故障数据的时间点以及故障数据传输重复条件。故障数据对应于多种预定故障类型中的故障类型,该多种预定故障类型包括任务执行中断、调度器阻止任务重新执行、通过防碍发生警报来阻止任务重新执行、等待一事件后阻止任务重新执行、通过在等待资源时引起死锁来阻止任务重新执行、通过引起堆栈溢出来阻止任务重新执行、任务超限、变量值污染、代码更改、CPU寄存器值污染、软件组件污染以及位翻转。故障检测模块在基于故障检测标准检测到故障时确定故障数据被正常传输,该故障检测标准确定故障是否影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作以及任务执行时间中的至少一个。恢复确定模块可基于恢复确定标准来确定电子控制装置是否从故障中恢复,该恢复确定标准确定电子控制装置是否从影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作以及任务执行时间中的至少一个的故障中恢复。监测模块可输出表明由故障注入测试执行引起的任务状态变化的曲线图,以及表明由故障注入测试执行引起的电子控制装置的变量值变化的曲线图。测试场景管理模块基于通过通信模块接收的电子控制装置的设定信息来创建测试场景,以适应电子控制装置的特性。根据预定目标任务执行的次数或者故障注入测试开始后的等待时间,来确定传输故障数据的时间点。当在恢复允许时段内没有从故障中恢复时,恢复确定模块确定电子控制装置未能从故障中恢复。此外,一种故障注入测试方法,包括以下步骤:使用通信模块与电子控制装置建立通信会话;经由所建立的通信会话接收电子控制装置的设计信息;创建用于对所述电子控制装置执行故障注入测试的测试场景;根据测试场景执行故障注入测试;将故障数据传输到电子控制装置;确定故障数据是否被正常传输到电子控制装置;以及确定电子控制装置是否从通过所传输的故障数据引入到电子控制装置的故障中恢复。故障注入测试方法,还包括以下步骤:一旦开始故障注入测试,就监测电子控制装置的状态。故障注入测试方法,还包括以下步骤:当完成故障注入测试时,制作测试结果报告,该测试结果报告包含电子控制装置在故障数据传输之前和之后的状态信息以及关于电子控制装置的状态变化的分析信息。测试场景包括测试执行条件、要传输到电子控制装置的故障数据、故障检测标准以及恢复确定标准。测试执行条件包括要引入故障的目标任务、传输故障数据的时间点以及故障数据传输重复条件。故障数据可以对应于多种预定故障类型中的故障类型,该多种预定故障类型包括任务执行中断、调度器阻止任务重新执行、通过防碍发生警报来阻止任务重新执行、等待一事件后防止任务重新执行、通过在等待资源时引起死锁来防止任务重新执行、通过引起堆栈溢出来防止任务重新执行、任务超限、变量值污染、代码更改、CPU寄存器值污染、软件组件污染以及位翻转。确定故障数据是否被正常传输包括以下步骤:在基于故障检测标准检测到故障时确定故障数据被正常传输,该故障检测标准确定故障是否影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作和任务执行时间中的至少一个。确定电子控制装置是否从故障中恢复包括以下步骤:基于恢复确定标准来确定电子控制装置是否从故障中恢复,该恢复确定标准确定电子控制装置是否从影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作以及任务执行时间中的至少一个的故障中恢复。监测电子控制装置的状态可以包括:输出表明由故障注入测试执行引起的任务状态变化的曲线图以及表明由故障注入测试执行引起的电子控制装置的变量值变化的曲线图。创建测试场景可以包括:基于电子控制装置的设定信息来创建测试场景以适应电子控制装置的特性。传输故障数据的时间点可以根据预定目标任务执行的次数或故障注入测试开始后的等待时间来确定。确定是否从故障中恢复可以包括以下步骤:在恢复允许时段内没有从故障中恢复时,确定电子控制装置未能从故障中恢复。附图说明通过参考附图详细描述本发明的示例性实施例,本发明的上述和其他目的、特征和优点将对于本领域普通技术人员而言变得更加显而易见,其中:图1是根据本发明的实施例的故障注入测试系统的框图;图2示出根据本发明的实施例的故障注入测试设备和电子控制装置的内部配置;图3示出根据本发明的实施例的故障注入测试方法的整体流程的顺序;图4是用于说明根据本发明的实施例的故障注入测试设备如何创建测试场景的视图;图5示出根据本发明的实施例的故障注入测试设备监测并输出电子控制装置的状态的示例;图6示出根据本发明的实施例的故障注入测试设备制作测试结果报告的示例;以及图7至图12是示出根据本发明的实施例的故障注入测试方法的流程图。应当理解,附图不一定按比例绘制,而是呈现说明本发明的基本原理的优选特征的稍微简化的表示。本发明的具体设计特征包括例如特定尺寸、取向、位置和形状将部分由特定的预期应用和使用环境来确定。具体实施方式在整个说明书中,相同的附图标记指代相同的元件。将不描述本发明的实施例的所有元件,并且将省略对本领域中公知的内容或在实施例中彼此重复的内容的描述。整个说明书中使用的例如“部分”、“模块”、“构件”、“块”等的词语可以用软件和或硬件来实施,并且多个“部分”、“模块”、“构件”或“块”可以在单个元件中实施,或者单个“部分”、“模块”、“构件”或“块”可以包括多个元件。可进一步理解的是,词语“连接”或其衍生词既指直接连接又指间接连接,并且间接连接包括无线通信网络上的连接。除非另有说明,否则词语“包括或包含”或“具有或有”是包含性的或开放式的,并且不排除附加未列举的元件或方法步骤。应该理解,虽然本文可以使用词语第一、第二、第三等来描述各种元件、组件、区域、层和或部分,但是这些元件、组件、区域、层和或部分不应受这些词语的限制。这些词语仅用于区分一个元件、组件、区域、层或部分与另一区域、层或部分。应该理解,除非上下文中清楚地指示,否则单数形式“一”、“一个”和“所述”包括复数指示物。附加地,应该理解,以下方法或其方面中的一个或多个可以由至少一个控制单元执行。术语“控制单元”可以指代包括存储器和处理器的硬件装置。存储器配置为存储程序指令,并且处理器具体被编程为执行程序指令以进行下面进一步描述的一个或多个过程。如本文所述,控制单元可以控制单元、模块、部件等的操作。此外,可以理解的是,下面的方法可以由包括控制单元的设备结合一个或多个其他部件来执行,如本领域普通技术人员将理解的那样。此外,本发明的控制单元可以体现为包含由处理器、控制器等执行的可执行程序指令的非暂时性计算机可读介质。计算机可读介质的示例包括但不限于ROM、RAM、光盘CD-ROM、磁带、软盘、闪存驱动器、智能卡和光数据存储装置。计算机可读记录介质还可以分布在整个计算机网络中,使得程序指令例如通过远程信息处理服务器或控制器区域网络CAN以分布式方式存储和执行。方法步骤使用的附图标记仅用于便于解释,但不限制步骤的顺序。因此,除非上下文另有明确规定,否则可以实施书面示出的顺序。现在将参考附图描述本发明的原理和实施例。图1是根据本发明的实施例的故障注入测试系统的框图。如图1所示,故障注入测试系统包括故障注入测试设备100、接口装置200、以及电子控制装置300。故障注入测试设备100可以是包括数据处理处理器即,中央处理器CPU和存储器的装置或终端,例如计算机、笔记本电脑、平板电脑、智能电话等。可以将用于执行故障注入测试的计算机程序或应用加载到故障注入测试设备100中。接口装置200可以是用于连接故障注入测试设备100和电子控制装置300的装置,其可以是调试器或通信适配器。故障注入测试设备100可以使用接口装置200来访问电子控制装置300的处理器、寄存器或存储器。故障注入测试设备100可以通过接口装置200,将故障数据发送到电子控制装置300并且接收关于电子控制装置300的状态的信息。接口装置200和电子控制装置300可以通过控制器局域网CAN通信来交换数据。如果接口装置200是调试器,则其可以通过联合测试行动组JointTestActionGroup,JTAG接口连接到电子控制装置300。故障注入测试设备100、接口装置200和电子控制装置300可以彼此有线或无线连接。电子控制装置300可以是用于车辆的电子控制单元ECU。然而,电子控制装置300不限于车辆,而是可以应用于不同行业的其他产品。例如,电子控制装置300可以是在电力系统中使用的远程终端单元remoteterminalunit,RTU。然而,为了便于说明,本文假设电子控制装置300用于车辆。在电子控制装置300没有连接到车辆驾驶模拟工具500或车辆600的情况下,需要针板式接线盒400向电子控制装置300供应电力,以供故障注入测试装置100对电子控制装置300执行故障注入测试。即使在电子控制装置300连接到车辆驾驶模拟工具500或车辆600时,故障注入测试设备100也可以执行故障注入测试。换句话说,故障注入测试设备100可以执行故障注入测试,以适应连接到电子控制装置300的情况。也就是说,可以建立基础设施,从而不仅可以对未固定的电子控制装置执行故障注入测试,还可以对连接到例如硬件在环Hardware-in-the-loop,HIL等车辆驾驶模拟工具或者车辆的电子控制装置来执行故障注入测试。图2示出根据本发明的实施例的故障注入测试设备和电子控制装置的内部配置。如图2所示,故障注入测试设备可以包括通信模块110和用于执行故障注入测试的控制单元未示出,并且控制单元可以包括测试场景管理模块120、监测模块130、测试执行模块140、故障检测模块150、恢复确定模块160和报告制作模块170。如上所述,控制单元可以包括处理器,其执行故障注入测试并处理在测试过程中生成的数据。故障注入测试设备100可以基于例如Windows、Linux、Mac、Android等的操作系统进行操作。尽管下面的描述将集中在构成控制单元的模块然而,由相应模块实现的功能应被理解为以单个控制单元被执行。通信模块110是与电子控制装置300建立通信会话并进行通信的模块。通信模块110根据来自测试执行模块140的测试执行指令,将由测试场景管理模块120生成的故障数据发送到电子控制装置300,并且从电子控制装置300接收状态信息。电子控制装置300的状态信息包括任务执行信息和变量值信息。测试场景管理模块120创建测试场景以对电子控制装置300执行故障注入测试。测试场景包括测试执行条件、要传输到电子控制装置300的故障数据、故障检测标准信息、以及恢复确定标准信息。测试场景管理模块120可以通过分析经由通信模块110接收的电子控制装置300的设定信息,创建适应电子控制装置300的特性的测试场景。电子控制装置300的设定信息是电子控制装置300特有的信息,并且如果电子控制装置300具有OSEKVDX操作系统,则其可以从包含电子控制装置300的设计信息的‘*.oil’文件或包括地址或符号信息的‘*.map’文件中获得。如果电子控制装置300具有除OSEKVDX操作系统之外的其他操作系统,则电子控制装置300的设定信息可以由其他类型的文件或源代码本身来定义。测试场景管理模块120可以分析电子控制装置300的设定信息,以提取可能在电子控制装置300中发生的所有类型的故障。故障数据是指用于人为地引起电子控制装置300发生故障的数据。根据故障类型来确定故障数据。将结合图4详细描述测试场景的创建。一旦开始故障注入测试,则监测模块130就监测电子控制装置300的状态。例如,监测模块130在故障注入测试设备100的显示器上,输出通过通信模块110接收的电子控制装置300的状态信息。监测模块130可以在显示器上输出电子控制装置300的任务状态和变量变化的曲线图。现在参考图5,在故障注入测试设备100的显示器上监测到的任务状态变化,可以以条形图的形式输出,并且变量的变化可以以虚线图的形式输出。当开始故障注入测试时,监测模块130可以基于电子控制装置300的状态信息来确定电子控制装置300是否正常工作。监测模块130从故障注入测试的开始到结束,实时监测电子控制装置300的状态。测试执行模块140根据测试场景管理模块120创建的测试场景来执行故障注入测试。测试执行模块140通过通信模块110向电子控制装置300发送故障数据。可以根据测试执行条件,在特定时间点或重复地向电子控制装置300发送故障数据。例如,测试执行条件可以包括要引入故障的目标任务、发送故障数据的时间点、以及故障数据传输重复条件。故障检测模块150确定故障数据是否已正常发送到电子控制装置300。当故障数据被正常发送到电子控制装置300时,由于故障数据而在电子控制装置300中发生故障。故障检测模块150可以检测故障,并确定故障数据已被正常发送到电子控制装置300。故障检测模块150基于包含在测试场景中的故障检测标准信息来检测故障。恢复确定模块160可以确定电子控制装置300是否已从故障中恢复。可以基于包含在测试场景中的恢复确定标准信息来确定是否从故障中恢复。当故障注入测试完成时,报告制作模块170制作测试结果报告,该测试结果报告包括:在故障数据被发送到电子控制装置300之前和之后,电子控制装置300的状态信息以及关于电子控制装置300的状态变化的分析信息。图6示出测试结果报告的示例。可以以各种形式制作并以文件格式提供测试结果报告。电子控制装置300包括操作系统310和多个任务320参见图2。操作系统310可以是实时操作系统RealTimeOperatingSystem,RTOS。然而,操作系统310不限于RTOS,而是本文将其假设为RTOS,因为在描述本发明的实施例时,将电子控制装置300假设为用于车辆的电子控制装置。还可以使用许多其它不同的操作系统。RTOS提供能够在设定时间段内执行给定进程的环境。每个进程以任务320为单位进行操作,并且任务320具有四种状态:执行、暂停、等待和准备。此外,由于每次可以执行一个任务320,因此所有任务320都由调度器管理并按优先级顺序执行。任务是在RTOS中实现的基本软件单元。也就是说,RTOS可以被称为进程,并且任务可以被称为线程thread。当电子控制装置300通电时,称作RTOS的庞大进程的工作,并且称作线程的任务工作。作为RTOS的代表性示例,具有在嵌入式区域中使用的OSEKVDX。OSEKVDK包括下表1中列出的要素。故障注入测试设备100可以通过使用下表1中示出的要素,人为地向电子控制装置300引入故障。表1任务RTOS的最基本操作单元中断使用在处理硬件机制和异步事件中资源使用于在任务之间共享资源警报能够周期性地执行任务事件基于事件信号同步任务消息使用在任务之间发送数据同时,电子控制装置300的操作系统310不是必需的。电子控制装置300可以在没有任何操作系统的情况下以固件firmware操作。图3示出根据本发明的实施例的故障注入测试方法的整体流程的顺序。如图3所示,在S301中,故障注入测试设备100创建用于故障注入测试的测试场景。测试场景包括测试执行条件、要发送到电子控制装置300的故障数据、故障检测标准、以及恢复确定标准。在S302中,一旦开始故障注入测试,故障注入测试设备100就监测电子控制装置300的操作。在S303中,如果确定电子控制装置300处于正常状态,则故障注入测试设备100将用于引起故障的故障数据发送到电子控制装置300。如上所述,故障数据是指用于人为地向电子控制装置300引入故障的数据,并且由故障类型来确定。故障类型可以划分为任务执行中断、调度器防止任务重新执行、通过妨碍发生警报来阻止任务重新执行、等待一事件后阻止任务重新执行、通过在等待资源时引起死锁来防止任务重新执行、通过引起堆栈溢出来防止任务重新执行、任务超限、变量值污染、代码更改、CPU寄存器值污染、软件组件污染或位翻转。表2在S304中,在发送故障数据之后,故障注入测试设备100根据故障检测标准来检测故障,以确定故障数据是否已被正常发送。故障注入测试设备100可以基于故障检测标准在检测到故障的情况下确定故障数据已被正常发送,该故障检测标准确定故障是否出现在任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作和任务执行时间中的至少一个上。表3表示检测目标和故障检测标准。检测目标是指由于故障数据而预期存在故障的对象。表3任务执行计数值是特定任务的计数值,一旦由调度器执行任务,该值就会增加。警报循环值是指警报的重复循环。当计数器达到指定的Tick时,自动激活警报。当警报被激活时,执行指定的动作连接到任务或警报回调函数。错误代码是指为当设计的函数未按预期工作时出现的问题所分配的代码。大部分程序分配指定类型的代码。如果检测到设计的函数未按设计正常执行的情况,则错误代码给出错误代码值,并且程序停止运行。如表3所示,引起六种类型检测目标故障的故障类型如下:在上述表2中表示的故障类型中,引起任务执行信息故障的故障类型为编号1、2、3、4、5和11;引起警报信息故障的故障类型为编号3;引起函数执行结果故障的故障类型为编号8和9号;引起存储器区域故障的故障类型为编号1、2、3、4、5、8、9、10、11和12;引起系统操作故障的故障类型为编号6;以及引起任务执行时间故障的故障类型为编号7。当由于故障数据而导致电子控制装置300发生故障时,电子控制装置300自动从故障中恢复。为此,在S305中,故障注入测试设备100,根据恢复确定标准,基于有效过程和标准来确定电子控制装置300是否从故障中恢复。故障注入测试设备100可以基于恢复确定标准来确定是否从故障中恢复,该恢复确定标准确定从故障中恢复是否发生在任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作和任务执行时间中的至少一个上。表4表示恢复确定标准。表4故障注入测试设备100检查故障检测结果和故障恢复结果,然后在S306中停止监测电子控制设备300,并在S307中制作测试结果报告。以这种方式,在对电子控制装置300执行故障注入测试时,通过根据预定过程和标准来确定故障是否被正常引入电子控制装置300中并且确定是否从故障中恢复,来提高故障注入测试的可靠性。图4是用于说明根据本发明的实施例的故障注入测试设备如何创建测试场景的视图。如图4所示,故障注入测试设备100可以基于电子控制装置300的设定信息和用户的选择信息来创建测试场景。图4示出故障注入测试设备100的显示器上显示的测试场景对话框,允许用户输入他她的选择信息。用户可以输入测试场景的标题和描述P1。用户也可以输入测试执行条件P2。例如,测试执行条件可以包括要引入故障的目标任务、发送故障数据的时间点、以及故障数据传输重复条件。发送故障数据的时间点,可以根据预定目标任务的执行次数或故障注入测试开始后的等待时间来确定。例如,如图4所示,用户可以选择‘Task_t1’作为目标任务,选择‘500’作为执行次数,选择‘1000’作为等待时间。在这种情况下,在‘Task_t1’执行500次后经过了1000ms之后,故障数据被发送到电子控制装置300。此外,用户可以设定重复条件以建立故障数据的重复传输。用户可以输入重复试验和结束值之间的差值gap。尽管在图4中未示出,但是用户可以输入变量值,以便在电子控制装置300的任务变量值达到输入变量值时,发送故障数据。用户可以选择性地输入故障引起方法,以便可以根据所选方法发生故障P3。例如,如果用户引入故障类型中关于‘调度器中断任务重新执行’的故障,则用户可以选择称作‘任务重新执行中断’的故障引起方法,以通过调度来干扰目标任务的重新执行。在这种情况下,故障注入测试设备100通过更改电子控制装置300的任务的‘活动计数’值,来创建测试场景以引起正在执行的任务的故障。而且,用户可以选择其他故障类型和故障引起方法,以便可以创建用于引入对应故障的测试场景。用户还可以选择性地输入故障检测方法P4。故障检测方法符合表3中所示的故障检测标准,并且恢复确定条件符合表4中所示的恢复确定标准。由于可能存在许多受单个故障类型影响的不同目标,因此用户可以选择检测目标来确定故障检测和恢复。如图4所示,如果对于故障检测方法,用户选择‘任务执行次数检测’,则自动选择对应的恢复确定条件‘任务执行计数通过操纵重新执行信息而再次增加’。此外,用户可以设定恢复允许时段。如果在恢复允许时段内没有从注入的故障中恢复,则故障注入测试设备100可以确定故障恢复失败。例如,如图4所示,故障注入测试设备100确定出如果在恢复允许时段‘1000ms’内恢复,则从注入的故障中正常恢复,如果在恢复允许时段内没有恢复,则恢复失败。以此方式,通过预先创建测试场景,不需要为故障注入测试制作并插入附加代码,而测试场景可以重复使用,从而提高工作效率并节省成本。图5示出根据本发明的实施例的故障注入测试设备监测并输出电子控制装置的状态的示例。在图5中,将描述故障注入测试设备100监测电子控制装置300的任务执行计数值,以确定故障检测和恢复。如图5所示,一旦故障注入测试开始,故障注入测试设备100就开始监测电子控制装置300的状态。如果在正在进行的测试过程中到达测试场景中预先设定的故障数据传输时间f1,则故障注入测试设备100通过向电子控制装置300发送故障数据,而向电子控制装置300注入故障。故障注入测试设备100监测任务的状态,并且如果任务计数在传输故障数据之后的某个时间f2之前不增加,则确定检测到故障。如果在恢复允许时段f3=f5-f1内,任务执行计数再次增加,则故障注入测试设备100确定在特定时间f4从故障中恢复。如果在恢复允许时段内没有从故障中恢复,则故障注入测试设备100确定恢复失败。图6示出根据本发明的实施例的故障注入测试设备制作测试结果报告的示例。如图6所示,测试结果报告可以包括测试标题、测试类型、场景名称、场景描述、测试检查类型、测试目标、测试条件、测试开始时间、测试完成时间、任务终结尝试时间、电子控制单元ECU复位估计时间、例外情况、测试结果概要、测量结果、监测图等。特别地,测试结果报告中包含的项目‘例外情况’,具有关于基于电子控制装置300在故障数据传输之前和之后的状态信息输出的状态变化的分析信息。故障注入测试设备100可以以报告的形式向用户提供关于电子控制装置300的状态变化的分析信息,由此消除必须自己制作报告的不便,并且防止用户直接进行监测时可能出现的错误。图7至图12是示出根据本发明的实施例的故障注入测试方法的流程图。首先,图7是通过监测任务执行计数值来确定故障检测和故障恢复的方法的流程图。如图7所示,一旦开始故障注入测试S601,故障注入测试设备100就首先开始监测电子控制装置300,以确定电子控制装置300是否处于正常状态S602。在此假设已经创建了用于故障注入测试的测试场景。如果确定出电子控制装置300处于正常状态,则故障注入测试设备100根据测试场景向电子控制装置300发送故障数据S603。故障注入测试设备100监测电子控制装置300的任务执行计数值是否由于故障数据而不增加S604,如果任务执行计数值没有增加,则确定检测到故障并且确定故障数据已被正常发送S605。如果即使在传输故障数据之后任务执行计数值仍继续增加,则确定故障数据未被正确发送。在检测到故障之后,如果在恢复允许时段内任务执行计数值再次增加,则故障注入测试设备100确定出从由故障数据引起的故障中正常恢复S606、S607和S608。否则,如果在恢复允许时段内任务执行计数值没有再次增加,或者如果在恢复允许时段过去之后任务执行计数值再次增加,则确定恢复失败S609。接下来,图8是通过监测警报循环值来确定故障检测和故障恢复的方法的流程图。如图8所示,一旦开始故障注入测试S701,则故障注入测试设备100就首先开始监测电子控制装置300,以确定电子控制装置300是否处于正常状态S702。这里假设已经创建了用于故障注入测试的测试场景。如果确定出电子控制装置300处于正常状态,则故障注入测试设备100根据测试场景向电子控制装置300发送故障数据S703。故障注入测试设备100监测电子控制装置300的警报循环CYCLE值是否因故障数据而改变S704,如果警报循环值变为‘0’,则确定出检测到故障并且确定故障数据已被正常发送S705。如果即使在传输故障数据之后警报循环值也没有变为‘0’,则确定出故障数据未被正确发送。在检测到故障之后,如果在恢复允许时段内警报循环值变为发送故障数据之前的值,则故障注入测试设备100确定从由故障数据引起的故障中正常恢复S706、S707和S708。否则,如果在恢复允许时段内警报循环值没有变为发送故障数据之前的值,或者在恢复允许时段过去之后变为发送故障数据之前的值,则确定恢复失败S709。接下来,图9是通过监测错误代码值来确定故障检测和故障恢复的方法的流程图。如图9所示,一旦开始故障注入测试S801,则故障注入测试设备100开始监测在创建测试场景时指定的电子控制装置100的错误代码S802和S803。如果确定出电子控制装置300处于正常状态,则故障注入测试设备100根据测试场景向电子控制装置300发送故障数据S804。故障注入测试设备100监测电子控制装置300的错误代码值是否因故障数据而不正常S805,并且如果错误代码值不正常,则确定检测到故障并且确定故障数据已被正常发送S806。如果即使在故障数据传输之后错误代码值仍然正常,则确定故障数据未被正确发送。在检测到故障之后,如果在恢复允许时段内错误代码值变为故障数据发送之前的值,则故障注入测试设备100确定出从由故障数据引起的故障中正常恢复S807、S808和S809。否则,如果在恢复允许时段内错误代码值没有变为故障数据发送之前的值,或者在恢复允许时段过去之后变为故障数据发送之前的值,则在S810中确定出恢复失败。接下来,图10是通过监测存储器区域来确定故障检测和故障恢复的方法的流程图。如图10所示,一旦开始故障注入测试S901,则故障注入测试设备100就识别电子控制装置300的存储器地址值,以发送故障数据S902,并且开始监测存储器地址S903。在此假设已经创建用于故障注入测试的测试场景,并且已经设定要被监测的存储器地址。如果确定电子控制装置300处于正常状态,则故障注入测试设备100根据测试场景向电子控制装置300发送故障数据S904。故障注入测试设备100因发送了故障数据而监测故障数据是否存储在电子控制装置300的存储器地址中S905,如果故障数据值被存储在存储器地址中,则确定检测到故障并且故障数据已被正常发送S906。如果即使在故障数据传输之后,故障数据值也没有存储在存储器地址中,则确定故障数据未被正确发送。在检测到故障之后,如果在恢复允许时段内存储器地址中的数据值变为故障数据发送之前的正常范围内的值,则故障注入测试设备100确定从由故障数据引起的故障中正确恢复S907、S908和S909。否则,如果在恢复允许时段内存储器地址中的数据值没有变为故障数据发送之前的值,或者在恢复允许时段过去之后变为故障数据发送之前的值,则确定恢复失败S910。接下来,图11是通过监测电子控制装置的整体系统操作来确定故障检测和故障恢复的方法的流程图。如图11所示,一旦开始故障注入测试S1001,则故障注入测试设备100就开始监测电子控制装置300,以确定电子控制装置300是否处于正常状态S1002。在此假设已经创建了用于故障注入测试的测试场景。如果确定电子控制装置300处于正常状态,则故障注入测试设备100根据测试场景向电子控制装置300发送故障数据S1003。故障注入测试设备100监测电子控制装置300的系统因故障数据而如何操作S1004,如果系统停机,导致所有任务被冻结,并且在调试器连接中发生错误,则确定检测到故障并且故障数据已被正常发送S1005。否则,如果即使在故障数据发送之后,电子控制装置300的系统正常执行,所有任务正常执行,并且调试器连接中也没有发生错误,则确定故障数据未被正确发送。在检测到故障之后,如果在恢复允许时段内,电子控制装置300的系统再次正常执行,则故障注入测试设备100确定从由故障数据引起的故障中正常恢复了S1006、S1007和S1008。否则,如果在恢复允许时段内系统没有再次正常执行,或者如果在恢复允许时段过去之后系统再次正常执行,则在S1009中确定恢复失败。接下来,图12是通过监测电子控制装置的任务执行时间来确定故障检测和故障恢复的方法的流程图。如图12所示,一旦开始故障注入测试S1101,则故障注入测试设备100就开始监测电子控制装置300,以确定电子控制装置300是否处于正常状态S1103。在此假设已经创建故障注入测试的测试场景并且已经收集到每个任务的平均执行时间S1102。如果确定电子控制装置300处于正常状态,则故障注入测试设备100根据测试场景向电子控制装置300发送故障数据S1104。故障注入测试设备100监测故障数据如何影响电子控制装置300的任务执行时间S1105,如果测量的任务执行时间超出平均任务执行时间的误差范围,则确定检测到故障并且故障数据已被正常发送S1106。否则,如果即使在发送故障数据之后测量到电子控制装置300的任务执行时间仍处于平均任务执行时间的误差范围之内,则确定故障数据未被正确发送。在检测到故障之后,如果在恢复允许时段内测量到电子控制装置300的任务执行时间处于平均任务执行时间的误差范围内,则故障注入测试设备100确定从由故障数据引起的故障中正常恢复S1107、S1108和S1109。否则,如果在恢复允许时段内测量到电子控制装置300的任务执行时间未处于平均任务执行时间的误差范围之内,或者如果在恢复允许时段过去之后测量到任务执行时间处于平均任务执行时间的误差范围内,则确定出恢复失败S1110。根据本发明的实施例,故障注入测试设备和方法可以通过基于预定的过程和参考,确定故障是否被正常引入用于故障注入测试的电子控制装置中并且确定是否从故障中恢复,从而提高故障注入测试的可靠性。此外,故障注入测试设备和方法可以使故障注入测试自动化,从而提高工作效率并节省用来执行测试的成本。根据本发明的实施例,故障注入测试设备和方法可以建立基础设施,从而不仅可以对未固定的电子控制装置执行故障注入测试,还可以对连接到车辆驾驶模拟工具例如HIL,或车辆上的电子控制装置执行故障注入测试。此外,根据本发明的实施例,故障注入测试设备和方法无需制作和插入故障注入测试所需的附加代码。更进一步地,根据本发明的实施例,故障注入测试设备和方法可以允许在车辆生产之前为电子控制装置的处理设计采用优先抢占preemptive策略。同时,本发明的实施例可以以用于存储要由计算机执行的指令的记录介质的形式来实现。指令可以以程序代码的形式存储,并且当由处理器执行时,可以生成程序模块以执行本发明的实施例中的操作。记录介质可以对应于计算机可读记录介质。计算机可读记录介质包括其上存储有数据的任何类型的记录介质,其随后可以由计算机读取。例如,其可以是ROM、RAM、磁带、磁盘、闪存、光数据存储装置等。以上已经描述了若干实施例,但是本领域的普通技术人员将理解和意识到,在不脱离本发明的范围的情况下还可以进行各种修改。因此,对于本领域的普通技术人员来说显而易见的是,技术保护的真正范围仅由所附权利要求限定。

权利要求:1.一种故障注入测试设备,包括:通信模块,其与电子控制装置进行通信;测试场景管理模块,其创建用于对所述电子控制装置执行故障注入测试的测试场景;测试执行模块,其根据测试场景执行故障注入测试,并将故障数据传输到所述电子控制装置;故障检测模块,其确定故障数据是否从所述测试执行模块正常传输到所述电子控制装置;以及恢复确定模块,其确定所述电子控制装置是否从故障中恢复,其中该故障通过从所述测试执行模块传输的故障数据被引入到所述电子控制装置。2.根据权利要求1所述的故障注入测试设备,还包括:监测模块,一旦开始故障注入测试,就监测所述电子控制装置的状态。3.根据权利要求1所述的故障注入测试设备,还包括:报告制作模块,其在故障注入测试完成时制作测试结果报告,所述测试结果报告包含所述电子控制装置在故障数据传输之前和之后的状态信息以及关于所述电子控制装置的状态变化的分析信息。4.根据权利要求1所述的故障注入测试设备,其中,测试场景包括测试执行条件、要传输到所述电子控制装置的故障数据、故障检测标准以及恢复确定标准。5.根据权利要求4所述的故障注入测试设备,其中,测试执行条件包括要引入故障的目标任务、传输故障数据的时间点以及故障数据传输重复条件。6.根据权利要求4所述的故障注入测试设备,其中,故障数据对应于多种预定故障类型中的故障类型,所述多种预定故障类型包括任务执行中断、调度器阻止任务重新执行、通过防碍发生警报来阻止任务重新执行、等待一事件后防止任务重新执行、通过在等待资源时引起死锁来防止任务重新执行、通过引起堆栈溢出来防止任务重新执行、任务超限、变量值污染、代码更改、CPU寄存器值污染、软件组件污染以及位翻转。7.根据权利要求4所述的故障注入测试设备,其中,所述故障检测模块在基于故障检测标准检测到故障时确定故障数据被正常传输,所述故障检测标准确定故障是否影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作以及任务执行时间中的至少一个。8.根据权利要求4所述的故障注入测试设备,其中,所述恢复确定模块基于恢复确定标准来确定所述电子控制装置是否从故障中恢复,所述恢复确定标准确定所述电子控制装置是否从影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作以及任务执行时间中的至少一个的故障中恢复。9.根据权利要求2所述的故障注入测试设备,其中,所述监测模块输出表明由故障注入测试执行引起的任务状态变化的曲线图,以及表明由故障注入测试执行引起的电子控制装置的变量值变化的曲线图。10.根据权利要求1所述的故障注入测试设备,其中,测试场景管理模块基于通过所述通信模块接收的电子控制装置的设定信息来创建测试场景,以适应所述电子控制装置的特性。11.根据权利要求5所述的故障注入测试设备,其中,根据预定目标任务执行的次数或者所述故障注入测试开始后的等待时间来确定传输故障数据的时间点。12.根据权利要求1所述的故障注入测试设备,其中,当在恢复允许时段内没有从故障中恢复时,所述恢复确定模块确定所述电子控制装置未能从所述故障中恢复。13.一种故障注入测试方法,包括以下步骤:使用通信模块与电子控制装置建立通信会话;经由所建立的通信会话接收所述电子控制装置的设计信息;创建用于对所述电子控制装置执行故障注入测试的测试场景;根据测试场景执行故障注入测试;将故障数据传输到所述电子控制装置;确定故障数据是否被正常传输到所述电子控制装置;以及确定所述电子控制装置是否从通过所传输的故障数据引入到所述电子控制装置的故障中恢复。14.根据权利要求13所述的故障注入测试方法,还包括以下步骤:一旦开始故障注入测试,就监测所述电子控制装置的状态。15.根据权利要求13所述的故障注入测试方法,还包括以下步骤:当完成故障注入测试时,制作测试结果报告,所述测试结果报告包含所述电子控制装置在故障数据传输之前和之后的状态信息以及关于所述电子控制装置的状态变化的分析信息。16.根据权利要求13所述的故障注入测试方法,其中,测试场景包括测试执行条件、要传输到所述电子控制装置的故障数据、故障检测标准以及恢复确定标准。17.根据权利要求16所述的故障注入测试方法,其中,测试执行条件包括要引入故障的目标任务、传输故障数据的时间点以及故障数据传输重复条件。18.根据权利要求16所述的故障注入测试方法,其中,故障数据对应于多种预定故障类型中的故障类型,所述多种预定故障类型包括任务执行中断、调度器阻止任务重新执行、通过防碍发生警报来阻止任务重新执行、等待一事件后防止任务重新执行、通过在等待资源时引起死锁来防止任务重新执行、通过引起堆栈溢出来防止任务重新执行、任务超限、变量值污染、代码更改、CPU寄存器值污染、软件组件污染以及位翻转。19.根据权利要求17所述的故障注入测试方法,其中,确定故障数据是否被正常传输包括以下步骤:在基于故障检测标准检测到故障时确定故障数据被正常传输,所述故障检测标准确定故障是否影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作和任务执行时间中的至少一个。20.根据权利要求17所述的故障注入测试方法,其中,确定所述电子控制装置是否从故障中恢复包括以下步骤:基于恢复确定标准来确定所述电子控制装置是否从故障中恢复,所述恢复确定标准确定所述电子控制装置是否从影响任务执行计数值、警报循环值、错误代码值、特定存储器区域的数据值、整体系统操作以及任务执行时间中的至少一个的故障中恢复。

百度查询: 现代自动车株式会社 起亚自动车株式会社 硕索福特株式会社 故障注入测试设备和方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。