一种统一诊断服务测试用例的生成方法及装置与流程

文档序号:15345315发布日期:2018-09-04 22:41阅读:132来源:国知局
本发明涉及汽车故障诊断领域,特别涉及一种统一诊断服务测试用例的生成方法及装置。
背景技术
:随着社会的发展,人们的生活水平也越来越高。汽车的数量也在逐日剧增,汽车已成为人们出行的重要工具。为了方便汽车的检测及维修,通常要求汽车控制器具备统一诊断服务功能。在针对统一诊断服务测试的时候,需要使用测试用例。然而现有测试用例通常采用人工设计和手动填写的方式,不仅消耗大量人力,同时测试用例也受工程师主观影响较大,覆盖度非常容易不全。技术实现要素:本发明提供了一种统一诊断服务测试用例的生成方法及装置,用以解决现有技术中创建测试用例消耗人力大、测试用例数据覆盖度差以及测试用例易受主观影响的问题。为了解决上述技术问题,本发明采用如下技术方案:依据本发明的一个方面,提供了一种统一诊断服务测试用例的生成方法,包括:根据统一诊断服务协议,获取至少一个故障的故障信息,其中所述故障信息包括故障名称、诊断故障码以及冻结帧信息;根据数据标识符平台库和dbc文件,获取所述冻结帧信息中的数据流信息;获取触发所述故障的故障触发信息,其中所述故障触发信息包括:故障触发信号、触发阈值以及触发时间;根据预设映射关系,确定所述故障中第一故障的故障名称、冻结帧信息、数据流信息以及故障触发信号的映射信息;根据所述第一故障的故障信息、数据流信息、故障触发信息以及映射信息生成第一测试用例。进一步地,所述根据预设映射关系,确定所述故障中第一故障的故障名称、冻结帧信息、数据流信息以及故障触发信号的映射信息的步骤包括:根据所述预设映射关系,确定所述第一故障的故障名称映射的故障映射;根据所述预设映射关系,确定所述第一故障的每个冻结帧信息的冻结帧名称映射的冻结帧映射;根据所述预设映射关系,确定所述第一故障的每个数据流信息的数据流名称映射的数据流映射;根据所述预设映射关系,确定所述第一故障的每个故障触发信号的信号名称映射的故障触发信号映射,其中所述故障映射、所述冻结帧映射、所述数据流映射以及所述故障触发信号映射均为计算机程序可识别的名称。进一步地,所述数据流信息包括:数据流名称、数据流编码、数据流所占字节、数据流的dbc名称、数据流精度和数据流偏移。进一步地,所述故障触发信息还包括:故障模板。进一步地,所述根据所述第一故障的故障信息、数据流信息、故障触发信息以及映射信息生成第一测试用例的步骤包括:将所述故障映射、所述冻结帧映射、所述数据流映射以及所述故障触发信号映射、所述第一故障的诊断故障码、所述第一故障的冻结帧信息中的数据流信息和所述第一故障的故障触发信息中触发阈值以及触发时间,写入预设测试用例模板,生成所述第一测试用例。依据本发明的又一个方面,提供了一种统一诊断服务测试用例的生成装置,包括:第一获取模块,用于根据统一诊断服务协议,获取至少一个故障的故障信息,其中所述故障信息包括故障名称、诊断故障码以及冻结帧信息;第二获取模块,用于根据数据标识符平台库和dbc文件,获取所述冻结帧信息中的数据流信息;第三获取模块,用于获取触发所述故障的故障触发信息,其中所述故障触发信息包括:故障触发信号、触发阈值以及触发时间;映射模块,用于根据预设映射关系,确定所述故障中第一故障的故障名称、冻结帧信息、数据流信息以及故障触发信号的映射信息;生成模块,用于根据所述第一故障的故障信息、数据流信息、故障触发信息以及映射信息生成第一测试用例。进一步地,所述映射模块包括:第一映射单元,用于根据所述预设映射关系,确定所述第一故障的故障名称映射的故障映射;第二映射单元,用于根据所述预设映射关系,确定所述第一故障的每个冻结帧信息的冻结帧名称映射的冻结帧映射;第三映射单元,用于根据所述预设映射关系,确定所述第一故障的每个数据流信息的数据流名称映射的数据流映射;第四映射单元,用于根据所述预设映射关系,确定所述第一故障的每个故障触发信号的信号名称映射的故障触发信号映射,其中所述故障映射、所述冻结帧映射、所述数据流映射以及所述故障触发信号映射均为计算机程序可识别的名称。进一步地,所述生成模块,具体用于将所述故障映射、所述冻结帧映射、所述数据流映射以及所述故障触发信号映射、所述第一故障的诊断故障码、所述第一故障的冻结帧信息中的数据流信息和所述第一故障的故障触发信息中触发阈值以及触发时间,写入预设测试用例模板,生成所述第一测试用例。本发明的有益效果是:上述技术方案,获取故障的故障信息、数据流信息以及触发故障的故障触发信息,根据预设映射关系,将获取的信息映射为计算机程序可识别的信息,并根据映射之后的信息自动生成测试用例,减少了人力的消耗,避免测试人员的主观影响,同时完善了测试用例所包括信息的覆盖度。附图说明图1表示本发明实施例提供的一种统一诊断服务测试用例的生成方法示意图;图2表示本发明实施例提供的一种统一诊断服务测试用例的生成装置示意图;图3表示本发明实施例提供的映射模块示意图。附图标记说明:21、第一获取模块;22、第二获取模块;23、第三获取模块;24、映射模块;241、第一映射单元;242、第二映射单元;243、第三映射单元;244、第四映射单元;25、生成模块。具体实施方式下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。如图1所示,本发明实施例提供了一种统一诊断服务测试用例的生成方法,该统一诊断服务测试用例的生成方法包括:s11:根据统一诊断服务协议,获取至少一个故障的故障信息,其中故障信息包括故障名称、诊断故障码以及冻结帧信息;应当说明的是,每个测试用例仅用于一个故障的测试,可以获取一个故障的故障信息,从而对该故障进行测试,当然也可以获取多个故障的故障信息,从而生成多个测试用例,对多个故障分别进行测试。冻结帧信息包括冻结帧的名称以及组成该冻结帧信息的数据流信息。s12:根据数据标识符平台库和dbc文件,获取冻结帧信息中的数据流信息;应当说明的是,数据帧信息包括至少一个数据流信息,为了保证数据流信息的顺利提取以及使用的,通常从冻结帧信息中提取数据流信息时,需要满足数据标识符平台库和dbc文件的规范要求。s13:获取触发故障的故障触发信息,其中故障触发信息包括:故障触发信号、触发阈值以及触发时间;应当说明的是,每个故障触发信息对应一个被触发的故障,通常该故障触发信息还可以包括故障名称,该故障名称所指示的故障为该故障触发信息所对应的被触发的故障。其中每个故障触发信息可以包括至少一个故障触发信号,当故障触发信号的数量为2时,例如第一故障触发信号和第二故障触发信号,第一故障触发信号对应第一触发阈值,以及对应第一触发时间,第二故障触发信号对应第二触发阈值,以及对应第二触发时间,故障触发信息所表示的含义为采用第一故障触发信号触发故障时,第一观察值达到第一触发阈值,并且持续第一触发时间;并且采用第二故障触发信号触发故障时,第二观察值达到第二触发阈值,并且持续第二触发时间,则发生故障;当然故障触发信息所表示的含义也可以为采用第一故障触发信号触发故障时,第一观察值达到第一触发阈值,并且持续第一触发时间;或者采用第二故障触发信号触发故障时,第二观察值达到第二触发阈值,并且持续第二触发时间,则发生故障,但不限于此。s14:根据预设映射关系,确定故障中第一故障的故障名称、冻结帧信息、数据流信息以及故障触发信号的映射信息;应当说明的是,获取的数据信息并非均为计算机程序可识别的,所以为了保证所获取的数据信息均可以被计算机程序识别,通常采用计算机程序可识别的信息来代替所获取的数据信息,并且建立有固定映射关系。例如表1所示的关系表中的映射关系:表1信号映射信息变量名称赋值变量映射变量映射信号类型变量1赋值1映射名1类型1变量2赋值2映射名2类型2表1中,变量1和变量2为需要映射的数据,映射名1和映射名2为映射之后的数据,例如变量1为中文格式的“钥匙开关”,映射名1则为英文格式的“key”,并且赋值1为“off”或者“on”,类型1为“drive”类型,变量2为高压下电请求,映射名2为“bms_450hv_off_req”,类型2为“can”类型,赋值2为“req”,通常是将计算机程序无法直接识别的中文映射为英文或者数字,但不限于此。s15:根据第一故障的故障信息、数据流信息、故障触发信息以及映射信息生成第一测试用例。应当说明的是,每个故障对应一个测试用例,第一测试用例是针对第一故障的测试用例,可以通过预设的测试用例模板生成测试用例,但不限于此,较佳的,故障触发信息还包括:故障模板。本发明实施例中,获取故障的故障信息、数据流信息以及触发故障的故障触发信息,根据预设映射关系,将获取的信息映射为计算机程序可识别的信息,并根据映射之后的信息自动生成测试用例,减少了人力的消耗,避免测试人员的主观影响,同时完善了测试用例所包括信息的覆盖度。为了保证获取的数据信息可以被计算机程序识别,在上述发明实施例的基础上,本发明实施例中,根据预设映射关系,确定故障中第一故障的故障名称、冻结帧信息、数据流信息以及故障触发信号的映射信息的步骤包括:根据预设映射关系,确定第一故障的故障名称映射的故障映射;根据预设映射关系,确定第一故障的每个冻结帧信息的冻结帧名称映射的冻结帧映射;根据预设映射关系,确定第一故障的每个数据流信息的数据流名称映射的数据流映射;根据预设映射关系,确定第一故障的每个故障触发信号的信号名称映射的故障触发信号映射,其中故障映射、冻结帧映射、数据流映射以及故障触发信号映射均为计算机程序可识别的名称。应当说明的是,上述根据预设映射关系分别确定故障映射、冻结帧映射、数据流映射以及故障触发信号映射的步骤并没有先后之分,也可以同时进行;为了保证数据流信息的数据完整性,在上述各发明实施例的基础上,本发明实施例中,数据流信息包括:数据流名称、数据流编码、数据流所占字节、数据流的dbc名称、数据流精度和数据流偏移。表2如表2所示,为数据流信息的一种表示方式,例如故障1对应的冻结帧信息包括两个数据流,数据流1和数据流2。为了方便生成测试用例,在上述各发明实施例的基础上,本发明实施例中,根据第一故障的故障信息、数据流信息、故障触发信息以及映射信息生成第一测试用例的步骤包括:将故障映射、冻结帧映射、数据流映射以及故障触发信号映射、第一故障的诊断故障码、第一故障的冻结帧信息中的数据流信息和第一故障的故障触发信息中触发阈值以及触发时间,写入预设测试用例模板,生成第一测试用例。应当说明的是,可以预先编写测试用例模板,将获取的信息以及映射信息自动填充到测试用例模板,从而减少人力的消耗。在本发明的一个实施例中,获取的故障1的故障信息为故障名称为故障名称1,诊断故障码为故障码1,冻结帧信息为冻结帧1;获取的冻结帧1中的数据流信息具体为:数据流名称为数据流1,数据流编码为0100,数据流所占字节为2字节,数据流的dbc名称为signal_1,数据流精度为1,数据流偏移为0;获取的触发故障1的故障触发信息具体为:故障触发信号为信号1时,触发阈值为阈值1,触发时间为时间1;故障触发信号为信号2时触发阈值为阈值2,触发时间为时间2;根据预设映射关系,确定故障1的故障名称映射为故障映射1,信号1的映射为信号1映射,信号2的映射为信号2映射,冻结帧1的映射为冻结帧1映射。根据上述确定的信息以及预设测试模板生成测试用例如下表3所示:表3其中表3中固定发送信号1和固定发送信号2为测试过程中固定的信号,uds(统一诊断服务,unifieddiagnosticservices)发送为需要发送的特殊固定信号,uds接收也为特殊的固定信号,该特殊的固定信号为统一诊断服务中固定的信号,在此不再赘述。并且测试用例模板的种类及内容可以根据测试人员的需求自行设计,并不限于此。如图2和图3所示,依据本发明的又一个方面,提供了一种统一诊断服务测试用例的生成装置,该统一诊断服务测试用例的生成装置包括:第一获取模块21,用于根据统一诊断服务协议,获取至少一个故障的故障信息,其中故障信息包括故障名称、诊断故障码以及冻结帧信息;第二获取模块22,用于根据数据标识符平台库和dbc文件,获取冻结帧信息中的数据流信息;第三获取模块23,用于获取触发故障的故障触发信息,其中故障触发信息包括:故障触发信号、触发阈值以及触发时间;映射模块24,用于根据预设映射关系,确定故障中第一故障的故障名称、冻结帧信息、数据流信息以及故障触发信号的映射信息;生成模块25,用于根据第一故障的故障信息、数据流信息、故障触发信息以及映射信息生成第一测试用例;其中,映射模块24包括:第一映射单元241,用于根据预设映射关系,确定第一故障的故障名称映射的故障映射;第二映射单元242,用于根据预设映射关系,确定第一故障的每个冻结帧信息的冻结帧名称映射的冻结帧映射;第三映射单元243,用于根据预设映射关系,确定第一故障的每个数据流信息的数据流名称映射的数据流映射;第四映射单元244,用于根据预设映射关系,确定第一故障的每个故障触发信号的信号名称映射的故障触发信号映射,其中故障映射、冻结帧映射、数据流映射以及故障触发信号映射均为计算机程序可识别的名称。生成模块25,具体用于将故障映射、冻结帧映射、数据流映射以及故障触发信号映射、第一故障的诊断故障码、第一故障的冻结帧信息中的数据流信息和第一故障的故障触发信息中触发阈值以及触发时间,写入预设测试用例模板,生成第一测试用例。应当说明的是,数据流信息包括:数据流名称、数据流编码、数据流所占字节、数据流的dbc名称、数据流精度和数据流偏移。故障触发信息还包括:故障模板。本发明实施例中,获取故障的故障信息、数据流信息以及触发故障的故障触发信息,根据预设映射关系,将获取的信息映射为计算机程序可识别的信息,并根据映射之后的信息自动生成测试用例,减少了人力的消耗,避免测试人员的主观影响,同时完善了测试用例所包括信息的覆盖度。在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1