一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种车辆控制系统测试方法、装置和电子设备与流程

2022-07-02 06:36:42 来源:中国专利 TAG:


1.本技术涉及汽车电子技术领域,特别涉及一种车辆控制系统测试方法、装置和电子设备。


背景技术:

2.汽车开放系统架构(automotive open system architecture,autosar)是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系,旨在为汽车电子软件产业建立一个开放的标准和基础软件架构。autosar成员之间开展合作的主要目标是:使基本系统功能以及接口标椎化,使软件开发合作伙伴之间能交换、转换和集成各自的车载网络功能,最大限度地提高车辆售后的软件更新和系统升级效率。
3.经典(classic platform,cp)autosar平台体系结构主要分为三个软件层:应用层(application layer),运行时环境层(runtime environment,rte)和基本软件层(basic software,bsw)。各层均涉及众多的软件模块和标准autosar api定义,为了加快开发进度,通常对各软件模块进行并行开发。
4.在各软件模块(如bsw层软件模块)进行并行开发过程中,需要对各软件模块进行集成测试,即测试各软件模块的功能是否正常,以便于对各软件模块进行优化。但是,由于各软件模块是并行开发,且各软件模块之间具有依赖关系,所以需要集成测试各软件模块时,经常会面临缺乏各软件模块相关的完整可靠外部依赖模块的情况。另外,测试各软件模块的待测功能需要通过模块外部接口调用该待测功能,以及通过模块外部接口调用该待测功能对应的输入参数和输出参数。由于测试环境下输入参数和输出参数对应的参数值均不固定,造成测试各软件模块(尤其是bsw层软件模块)时,需要执行大量不同时序的模块外部接口的调用驱动操作,使得构建车辆控制系统的集成测试环境比较困难,且耗费时间。


技术实现要素:

5.本技术实施例提供了一种车辆控制系统测试方法、装置和电子设备,可以解决各软件模块缺乏相关的完整可靠外部依赖模块的情况,减少对外部依赖模块的依赖,实现对各并行开发的软件模块进行单独的测试和优化;减少执行不同时序的模块外部接口的调用驱动操作的次数,降低构建车辆控制系统的集成测试环境的复杂度,减少了构建车辆控制系统的集成测试环境的工作量,并节省时间。
6.一方面,本技术实施例提供了一种车辆控制系统测试方法,方法包括:
7.基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口,模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数;
8.将模块外部接口集成于待测软件模块;
9.基于待测功能,生成用于测试待测软件模块的待测功能的测试用例;测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;检查函数用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性;
10.执行测试用例,测试待测软件模块的待测功能。
11.通过本实施例,在各软件模块进行并行开发过程中,通过针对已开发完成的待测软件模块进行仿真模拟,得到模块外部接口,基于待测软件模块的待测功能,生成并执行用于测试待测软件模块的待测功能的测试用例,并且依据测试结果,可以继续单独优化待测软件模块,即可以实现对各并行开发的软件模块进行单独的测试和优化。并且,在执行测试用例的过程中需要通过模块外部接口调用待测软件模块的输入参数和输出参数,由于模块外部接口具有解耦合关系的功能调用函数(调用待测软件模块的待测功能)和参数调用函数(调用待测软件模块的输入参数和输出参数),所以,调用待测软件模块的待测功能时,可以调用输入参数和输出参数(待测功能相关的)对应的多种参数值,通过调用参数来执行批量参数值的测试,减少了执行不同时序的模块外部接口的调用驱动操作的次数,降低构建车辆控制系统的集成测试环境的复杂度,进而减少构建车辆控制系统的集成测试环境的工作量,并节省时间。
12.一些可选的实施例中,上述执行测试用例,测试待测软件模块的待测功能,包括:
13.基于功能调用标识,通过模块测试接口的功能调用函数调用待测软件模块的待测功能;
14.通过模块测试接口的参数调用函数,将待测功能对应的输入参数值输入待测软件模块;
15.通过模块测试接口的参数调用函数,获取待测软件模块基于输入参数值执行待测功能所得的待测输出参数值;
16.基于测试输出参数值,通过检查函数判断待测输出参数值的正确性。
17.一些可选的实施例中,上述车辆控制系统包括汽车开放系统架构;功能调用标识基于汽车开放系统架构标准定义的业务标识得到。
18.一些可选的实施例中,上述模块外部接口还包括模块依赖接口,模块依赖接口用于模拟待测软件模块执行待测功能的过程中调用待测软件模块所需的依赖模块的操作。
19.一些可选的实施例中,上述测试用例还包括观察函数,观察函数用于在执行测试用例的过程中,调用待测软件模块的相关参数,以查看待测软件模块的执行待测功能的情况。
20.一些可选的实施例中,上述测试用例还包括回归测试策略和断点,回归测试策略用于对待测软件模块的重构代码和重构代码的相关代码进行重新测试;断点用于在执行测试用例的过程中中止执行测试用例,以提供调试待测软件模块的功能的时间。
21.一些可选的实施例中,上述测试用例的个数为多个;
22.上述执行测试用例,包括:
23.获取测试多个测试用例中的一个测试用例的指令;
24.基于指令执行多个测试用例中的一个测试用例。
25.一些可选的实施例中,上述方法还包括:
26.生成执行测试用例的测试日志并进行存储。
27.另一方面,本技术实施例提供了一种车辆控制系统测试装置,该装置包括:仿真模块、集成模块、生成模块和执行模块,其中,仿真模块用于基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口,模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数。集成模块用于将模块外部接口集成于待测软件模块。生成模块用于基于待测功能,生成用于测试待测软件模块的待测功能的测试用例;测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性。执行模块用于执行测试用例,来测试待测软件模块的待测功能。
28.一些可选的实施例中,上述执行模块,包括:
29.第一执行模块,用于基于功能调用标识,通过模块测试接口的功能调用函数调用待测软件模块的待测功能;
30.第二执行模块,用于通过模块测试接口的参数调用函数,将待测功能对应的输入参数值输入待测软件模块;
31.第三执行模块,用于通过模块测试接口的参数调用函数,获取待测软件模块基于输入参数值执行待测功能所得的待测输出参数值;
32.第四执行模块,用于基于测试输出参数值,通过检查函数判断待测输出参数值的正确性。
33.一些可选的实施例中,上述车辆控制系统包括汽车开放系统架构;功能调用标识基于汽车开放系统架构标准定义的业务标识得到。
34.一些可选的实施例中,上述模块外部接口还包括模块依赖接口,模块依赖接口用于模拟待测软件模块执行待测功能的过程中调用待测软件模块所需的依赖模块的操作。
35.一些可选的实施例中,上述测试用例还包括观察函数,观察函数用于在执行测试用例的过程中,调用待测软件模块的相关参数,以查看待测软件模块的执行待测功能的情况。
36.一些可选的实施例中,上述测试用例还包括回归测试策略和断点,回归测试策略用于对待测软件模块的重构代码和重构代码的相关代码进行重新测试;断点用于在执行测试用例的过程中中止执行测试用例,以提供调试待测软件模块的功能的时间。
37.一些可选的实施例中,上述测试用例的个数为多个;上述执行模块,包括:
38.获取子模块,用于获取测试多个测试用例中的一个测试用例的指令;
39.执行子模块,用于基于指令执行多个测试用例中的一个测试用例。
40.一些可选的实施例中,上述车辆控制系统测试装置还包括:
41.生成模块,用于生成执行测试用例的测试日志并进行存储。
42.另一方面,本技术实施例提供了一种电子设备,电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行上述的车辆控制系统测试方法。
43.本技术实施例提供的车辆控制系统测试方法、装置和电子设备,具有如下技术效
果:
44.通过基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口,模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数;将模块外部接口集成于待测软件模块;基于待测功能,生成用于测试待测软件模块的待测功能的测试用例;测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;检查函数用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性;执行测试用例,测试待测软件模块的待测功能。
45.如此,在各软件模块进行并行开发过程中,通过针对已开发完成的待测软件模块进行仿真模拟,得到模块外部接口,基于待测软件模块的待测功能,生成并执行用于测试待测软件模块的待测功能的测试用例,并且依据测试结果,可以继续单独优化待测软件模块,即可以实现对各并行开发的软件模块进行单独的测试和优化。并且,在执行测试用例的过程中需要通过模块外部接口调用待测软件模块的输入参数和输出参数,由于模块外部接口具有解耦合关系的功能调用函数(调用待测软件模块的待测功能)和参数调用函数(调用待测软件模块的输入参数和输出参数),所以,调用待测软件模块的待测功能时,可以调用输入参数和输出参数(待测功能相关的)对应的多种参数值,通过调用参数来执行批量参数值的测试,减少了执行不同时序的模块外部接口的调用驱动操作的次数,降低构建车辆控制系统的集成测试环境的复杂度,进而减少构建车辆控制系统的集成测试环境的工作量,并节省时间。
附图说明
46.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1是本技术实施例提供的一种cp autosar的结构示意图;
48.图2是本技术实施例提供的一种车辆控制系统测试方法的流程示意图;
49.图3是本技术实施例提供的一种执行测试用例的流程示意图;
50.图4是本技术实施例提供的一种车辆控制系统测试环境的结构示意图;
51.图5是本技术实施例提供的一种车辆控制系统测试装置的结构示意图;
52.图6是本技术实施例提供的一种用于实现车辆控制系统测试方法的电子设备的硬件结构框图。
具体实施方式
53.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范
围。
54.此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本发明的描述中,需要理解的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
55.在介绍本技术实施例的车辆控制系统测试方法之前,首先对车辆控制系统测试方法的应用场景进行举例介绍。
56.请参阅图1,图1是本技术实施例提供的一种cp autosar的结构示意图。如图1所示,在cp autosar包括应用层,运行时环境层和基本软件层,各层包括相应的软件模块。其中应用层包括应用组件模块,基础软件层包括功能抑制模块、诊断故障管理模块和存储模块等软件模块(运行时环境层的软件模块未示出)。各软件模块之间存在依赖关系,如诊断故障管理模块需要从应用组件模块获取应用组件模块的相关参数,以诊断应用组件模块的功能。
57.如前所述,由于各软件模块之间具有依赖关系,所以在各软件模块进行并行开发过程中,如果需要对各软件模块进行集成测试,通常会面临缺乏各软件模块相关的完整可靠外部依赖模块的情况,另外,测试各软件模块的待测功能需要通过模块外部接口调用该待测功能,以及通过模块外部接口调用该待测功能对应的输入参数和输出参数。由于测试环境下输入参数和输出参数对应的参数值均不固定,造成测试各软件模块(尤其是bsw层软件模块)时,需要执行大量不同时序的模块外部接口的调用驱动操作,使得构建车辆控制系统的集成测试环境比较困难,且耗费时间。
58.为了解决上述问题,本技术提供一种车辆控制系统测试方法,通过基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口,模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数;将模块外部接口集成于待测软件模块;基于待测功能,生成用于测试待测软件模块的待测功能的测试用例;测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;检查函数用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性;执行测试用例,测试待测软件模块的待测功能。
59.如此,在各软件模块进行并行开发过程中,通过针对已开发完成的待测软件模块进行仿真模拟,得到模块外部接口,基于待测软件模块的待测功能,生成并执行用于测试待测软件模块的待测功能的测试用例,并且依据测试结果,可以继续单独优化待测软件模块,即可以实现对各并行开发的软件模块进行单独的测试和优化。并且,在执行测试用例的过程中需要通过模块外部接口调用待测软件模块的输入参数和输出参数,由于模块外部接口具有解耦合关系的功能调用函数(调用待测软件模块的待测功能)和参数调用函数(调用待测软件模块的输入参数和输出参数),所以,调用待测软件模块的待测功能时,可以调用输
入参数和输出参数(待测功能相关的)对应的多种参数值,通过调用参数来执行批量参数值的测试,减少了执行不同时序的模块外部接口的调用驱动操作的次数,降低构建车辆控制系统的集成测试环境的复杂度,进而减少构建车辆控制系统的集成测试环境的工作量,并节省时间。
60.以下介绍本技术一种车辆控制系统测试方法的具体实施例,图2是本技术实施例提供的一种车辆控制系统测试方法的流程示意图,图4是本技术实施例提供的一种车辆控制系统测试环境的结构示意图。本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该方法可以包括:
61.s201:基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口;模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数。
62.例如,待测软件模块为图4所示的软件开发环境100中的待测软件模块110,如待测软件模块110为图1所示的诊断故障管理模块,则基于诊断故障管理模块与其依赖模块(如图1所示的功能抑制模块等)之间的功能依赖关系进行模拟仿真,得到模块外部接口。其中,模块测试接口的功能调用函数为其依赖模块调用诊断故障管理模块的待测功能的函数;模块测试接口的调用函数参数为其依赖模块调用诊断故障管理模块的待测功能对应的输入参数和输出参数的函数。
63.本实施例中,通过针对已开发完成的待测软件模块进行仿真模拟,得到模块外部接口,实现在各软件模块进行并行开发过程中,对各并行开发的软件模块进行单独的测试和优化。通过将模块外部接口中的功能调用函数和参数调用函数解耦合,使得调用待测软件模块的待测功能时,可以调用输入参数和输出参数(待测功能相关的)对应的多种参数值,通过调用参数来执行批量参数值的测试,减少了执行不同时序的模块外部接口的调用驱动操作的次数,降低构建车辆控制系统的集成测试环境的复杂度,进而减少构建车辆控制系统的集成测试环境的工作量,并节省时间。
64.为了便于合作开发软件模块,一些可选的实施例中,上述车辆控制系统包括汽车开放系统架构;功能调用标识基于汽车开放系统架构标准定义的业务标识得到。如此,可以减少设置业务标识的时间,以及有利于合作开发该车辆控制系统的测试环境。
65.在一些情况下,待测软件模块需要其他依赖模块的协助来完成待测功能,因此,一些可选的实施例中,模块外部接口还包括模块依赖接口,模块依赖接口用于模拟待测软件模块执行待测功能的过程中调用待测软件模块所需的依赖模块的操作。保证了待测软件模块正常执行待测功能。
66.例如,通过模块依赖接口调用图4所示的待测软件模块110的依赖模块—文件库320,其中文件库320用于模拟待测软件模块110的诊断存储功能,记录诊断故障数据。
67.s203:将模块外部接口集成于待测软件模块。使得模块外部接口控制待测软件模块相关的输入输出参数的调用和待测功能的调用。
68.例如,如图4所示,将软件测试环境200中的模块外部接口240与待测软件模块110集成,测试执行模块230通过获取测试用例集合210中测试用例的功能调用标识和功能调用标识对应的输入输出参数,调用模块外部接口240,进而触发待测软件模块110的待测功能,并可通过模块外部接口240传输输入输出参数。
69.s205:基于待测功能,生成用于测试待测软件模块的待测功能的测试用例。测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;检查函数用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性。
70.例如,图4所示的待测软件模块110的待测功能为功能a,功能a对应的功能调用标识为a,功能a对应的输入参数为r,对应的输出参数为c。功能a对应的检查函数可以用于检查输入参数值r1时,输出参数值c1的正确性。
71.在软件模块开发过程中,往往需要频繁的进行功能迭代与集成测试以验证功能正确性,为了便于开发人员分析出软件模块的具体问题。一些可选的实施例中,测试用例还包括观察函数,观察函数用于在执行测试用例的过程中,调用待测软件模块的相关参数,以查看待测软件模块的执行待测功能的情况。如此,通过观察函数可以实时查看待测软件模块执行待测功能的进展,以及及时发现和记录待测软件模块执行待测功能的过程中出现的异常情况,以便于后续对待测软件模块的待测功能进行针对性的修改和优化。
72.为了便于开发人员修改和优化软件模块,并加快测试速度。一些可选的实施例中,测试用例还包括回归测试策略和断点,回归测试策略用于对待测软件模块的重构代码和重构代码的相关代码进行重新测试;断点用于在执行测试用例的过程中中止执行测试用例,以提供调试待测软件模块的功能的时间。
73.本实施例中,通过观察函数观察到待测软件模块执行待测功能的过程中出现异常情况时(例如,观察函数调用待测软件模块执行待测功能所得的中间参数出现异常),可以通过断点,使待测软件模块停止执行待测功能,以对待测软件模块进行修改和优化。然后,断点结束后,待测软件模块继续执行待测功能,执行完待测功能后,可以采用回归测试策略,对待测软件模块中修改的部分代码(重构代码)进行重新测试;或者断点结束后,采用回归测试策略,对待测软件模块中修改的部分代码(重构代码)进行重新测试。如此,节省了测试的时间,实现了对待测软件模块针对性的修改和优化,加快了开发待测软件模块的进度。
74.s207:执行测试用例,测试待测软件模块的待测功能。
75.通常待测软件模块包括多种待测功能,一些可选的实施例中,测试用例的个数为多个;执行测试用例,包括:
76.获取测试多个测试用例中的一个测试用例的指令;
77.基于指令执行多个测试用例中的一个测试用例。
78.例如,图4所示的软件测试环境200中的测试操作接口220可以作为与用户交互的接口,主要实现启动、停止、设置、运行和选择测试用例。测试执行模块230按照测试操作接口220的指令,读取测试用例的数据,按照测试用例中的逻辑步骤(如调用模块外部接口240等操作)。如用户向该测试操作接口220发送测试待测软件模块310的请求,测试操作接口220响应于该请求,向测试执行模块230发送执行待测软件模块310相关测试用例的指令,然后测试执行模块230调用测试用例集合210中测试待测软件模块310相应的测试用例,以测
试待测软件模块310。图4所示的windows平台300提供的线程库310提供两个线程,分别用于驱动测试用例的任务执行和执行测试用例。
79.一些可选的实施例中,上述方法还包括:生成执行测试用例的测试日志并进行存储。
80.例如,图4所示的测试操作接口220和测试执行模块230将测试待测软件模块310相关的测试数据存储于日志模块250,日志模块250将测试数据生成测试日志后,将测试日志发送于windows平台300中的文件库320,以便于开发人员查看测试数据。其中测试数据包括执行测试用例过程中的相关参数变化以及测试的逻辑步骤。
81.本技术实施例提供的一种执行测试用例的具体步骤,图3是本技术实施例提供的一种执行测试用例的流程示意图,如图3所示,该执行测试用例的具体步骤包括:
82.s2071:基于功能调用标识,通过模块测试接口的功能调用函数调用待测软件模块的待测功能。
83.例如,图4所示的软件执行模块230基于测试用例中的功能调用标识,向模块外部接口240中的模块测试接口发送功能调用请求,模块外部接口240基于功能调用标识调用待测软件模块110中功能调用标识对应的待测功能。
84.s2072:通过模块测试接口的参数调用函数,将待测功能对应的输入参数值输入待测软件模块。
85.例如,图4所示的软件执行模块230执行测试用例中输入参数值的逻辑步骤,向模块外部接口240中模块测试接口发送输入参数调用指令,模块测试接口执行参数调用函数,以将输入参数值输入待测软件模块110。待测软件模块110基于输入参数值执行待测功能,得到待测输出参数值。
86.s2073:通过模块测试接口的参数调用函数,获取待测软件模块基于输入参数值执行待测功能所得的待测输出参数值。
87.例如,图4所示的软件执行模块230执行测试用例中参数调用步骤,向模块外部接口240中模块测试接口发送获取输出参数调用指令,模块测试接口执行参数调用函数,以将待测输出参数值发送于软件执行模块230。
88.s2074:基于测试输出参数值,通过检查函数判断待测输出参数值的正确性。
89.例如,图4所示的软件执行模块230执行测试用例中的检查函数,判断待测输出参数值是否正确,以判断上述待测功能是否正常。综上,通过基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口,模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数;将模块外部接口集成于待测软件模块;基于待测功能,生成用于测试待测软件模块的待测功能的测试用例;测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;检查函数用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性;执行测试用例,测试待测软件模块的待测功能。
90.如此,在各软件模块进行并行开发过程中,通过针对已开发完成的待测软件模块进行仿真模拟,得到模块外部接口,基于待测软件模块的待测功能,生成并执行用于测试待
测软件模块的待测功能的测试用例,并且依据测试结果,可以继续单独优化待测软件模块,即可以实现对各并行开发的软件模块进行单独的测试和优化。并且,在执行测试用例的过程中需要通过模块外部接口调用待测软件模块的输入参数和输出参数,由于模块外部接口具有解耦合关系的功能调用函数(调用待测软件模块的待测功能)和参数调用函数(调用待测软件模块的输入参数和输出参数),所以,调用待测软件模块的待测功能时,可以调用输入参数和输出参数(待测功能相关的)对应的多种参数值,通过调用参数来执行批量参数值的测试,减少了执行不同时序的模块外部接口的调用驱动操作的次数,降低构建车辆控制系统的集成测试环境的复杂度,进而减少构建车辆控制系统的集成测试环境的工作量,并节省时间。
91.本技术实施例还提供了一种车辆控制系统测试装置,图5是本技术实施例提供的一种车辆控制系统测试装置的结构示意图,如图5所示,该车辆控制系统测试装置包括:仿真模块501、集成模块502、生成模块503和执行模块504。其中仿真模块501用于基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口,模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数。集成模块502用于将模块外部接口集成于待测软件模块。生成模块503用于基于待测功能,生成用于测试待测软件模块的待测功能的测试用例;测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性。执行模块504用于执行测试用例,来测试待测软件模块的待测功能。
92.一些可选的实施例中,上述执行模块504,包括:
93.第一执行模块,用于基于功能调用标识,通过模块测试接口的功能调用函数调用待测软件模块的待测功能;
94.第二执行模块,用于通过模块测试接口的参数调用函数,将待测功能对应的输入参数值输入待测软件模块;
95.第三执行模块,用于通过模块测试接口的参数调用函数,获取待测软件模块基于输入参数值执行待测功能所得的待测输出参数值;
96.第四执行模块,用于基于测试输出参数值,通过检查函数判断待测输出参数值的正确性。
97.一些可选的实施例中,上述车辆控制系统包括汽车开放系统架构;功能调用标识基于汽车开放系统架构标准定义的业务标识得到。
98.一些可选的实施例中,上述模块外部接口还包括模块依赖接口,模块依赖接口用于模拟待测软件模块执行待测功能的过程中调用待测软件模块所需的依赖模块的操作。
99.一些可选的实施例中,上述测试用例还包括观察函数,观察函数用于在执行测试用例的过程中,调用待测软件模块的相关参数,以查看待测软件模块的执行待测功能的情况。
100.一些可选的实施例中,上述测试用例还包括回归测试策略和断点,回归测试策略用于对待测软件模块的重构代码和重构代码的相关代码进行重新测试;断点用于在执行测试用例的过程中中止执行测试用例,以提供调试待测软件模块的功能的时间。
101.一些可选的实施例中,上述测试用例的个数为多个;上述执行模块504,包括:
102.获取子模块,用于获取测试多个测试用例中的一个测试用例的指令;
103.执行子模块,用于基于指令执行多个测试用例中的一个测试用例。
104.一些可选的实施例中,上述车辆控制系统测试装置还包括:
105.生成模块,用于生成执行测试用例的测试日志并进行存储。
106.本技术实施例中的系统与方法实施例基于同样地申请构思。
107.图6是本技术实施例提供的一种用于实现车辆控制系统测试方法的电子设备的硬件结构框图。该电子设备可以是服务器,还可以是终端设备,其内部结构图可以如图6所示。如图6所示,该电子设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)610(处理器610可以包括但不限于微处理器ncu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器630,一个或一个以上存储应用程序623或数据622的存储介质620(例如一个或一个以上海量存储设备)。其中,存储器630和存储介质620可以是短暂存储或持久存储。存储在存储介质620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器610可以设置为与存储介质620通信,在电子设备600上执行存储介质620中的一系列指令操作。电子设备600还可以包括一个或一个以上电源650,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口640,和/或,一个或一个以上操作系统621,例如windows,mac os,unix,linux,freebsd等等。
108.输入输出接口640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备600的通信供应商提供的无线网络。在一个实例中,输入输出接口640包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口640可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
109.电源660可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
110.本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
111.本技术的实施例还提供了一种计算机存储介质,计算机存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述的车辆控制系统测试方法。
112.可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
113.本技术的实施例还提供了一种电子设备,电子设备至少包括处理器610和存储器630,存储器630中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器610加载并执行上述的车辆控制系统测试方法。
114.由上述本技术提供的一种车辆控制系统测试方法、装置和电子设备的实施例可
见,通过基于车辆控制系统中的待测软件模块进行模拟仿真,得到模块外部接口;模块外部接口包括模块测试接口,模块测试接口包括具有解耦合关系的功能调用函数和参数调用函数,功能调用函数用于调用待测软件模块的待测功能,参数调用函数用于调用待测软件模块的待测功能对应的输入参数和输出参数;将模块外部接口集成于待测软件模块;基于待测功能,生成用于测试待测软件模块的待测功能的测试用例;测试用例包含待测功能对应的功能调用标识、输入参数值、测试输出参数值和检查函数;功能调用标识用于识别待测功能;检查函数用于判断待测软件模块基于输入参数值执行待测功能所得的待测输出参数值的正确性;执行测试用例,测试待测软件模块的待测功能。
115.如此,在各软件模块进行并行开发过程中,通过针对已开发完成的待测软件模块进行仿真模拟,得到模块外部接口,基于待测软件模块的待测功能,生成并执行用于测试待测软件模块的待测功能的测试用例,并且依据测试结果,可以继续单独优化待测软件模块,即可以实现对各并行开发的软件模块进行单独的测试和优化。并且,在执行测试用例的过程中需要通过模块外部接口调用待测软件模块的输入参数和输出参数,由于模块外部接口具有解耦合关系的功能调用函数(调用待测软件模块的待测功能)和参数调用函数(调用待测软件模块的输入参数和输出参数),所以,调用待测软件模块的待测功能时,可以调用输入参数和输出参数(待测功能相关的)对应的多种参数值,通过调用参数来执行批量参数值的测试,减少了执行不同时序的模块外部接口的调用驱动操作的次数,降低构建车辆控制系统的集成测试环境的复杂度,进而减少构建车辆控制系统的集成测试环境的工作量,并节省时间。
116.需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
117.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
118.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
119.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献