当前位置: 首页 > 专利查询>罗伯特专利>正文

在测试控制设备软件时运行控制设备的方法和在测试控制设备软件时运行测试计算机的方法技术

技术编号:33342647 阅读:12 留言:0更新日期:2022-05-08 09:29
本发明专利技术涉及在测试控制设备的软件时运行控制设备的方法,控制设备包括实施软件的处理器和存储软件的存储器。该方法包括以下步骤:在控制设备中接收由测试计算机生成的测试请求;基于测试请求通过由处理器实施存储在存储器中的第一二进制文件实施测试软件的测试程序,第一二进制文件对软件的测试版本编码,该测试版本包括实施测试程序所需的至少一个测试模块,生成测试结果;将测试结果从控制设备发送到测试计算机;当测试计算机基于测试结果已确定软件运行就绪时,在控制设备中接收能够由处理器实施的第二二进制文件并存储在存储器中,其通过测试计算机由第一二进制文件产生并对该软件的最终版本进行编码,该最终版本阻止至少一个测试模块的实施。止至少一个测试模块的实施。止至少一个测试模块的实施。

【技术实现步骤摘要】
在测试控制设备软件时运行控制设备的方法和在测试控制设备软件时运行测试计算机的方法


[0001]本专利技术涉及一种计算机实现的用于在测试控制设备的软件时运行控制设备的方法和一种计算机实现的用于在测试控制设备的软件时运行测试计算机的方法。本专利技术另外还涉及一种控制设备、一种测试计算机、一种测试系统、一种计算机程序以及一种计算机可读的介质,以用于实施一种相应的方法或多种相应的方法。该控制设备例如可以配置为用于控制机动车中的功能。

技术介绍

[0002]为了确保控制设备(例如用于控制机动车的组件的控制设备)尽可能无故障地运行,可以使在控制设备上实施的软件(该软件例如可以包括运行系统和各种应用)经受各种软件测试。例如,在这种软件测试中可以检查,软件的各个组件是否已正确地实现,软件的相互依赖的组件是否正确地协作,或者软件是否满足对其所提出的要求。为此,例如可以将软件置于测试模式下,在该测试模式下,可以由测试人员将用于证明特定软件错误的测试数据注入到软件中。然而,出于安全原因,在控制设备的正常运行中应尽可能地阻止这种数据注入。

技术实现思路

[0003]在此背景下,以在此所提出的方案提出一种用于在测试控制设备的软件时运行控制设备的方法、一种用于在测试控制设备的软件时运行测试计算机的方法、一种控制设备、一种测试计算机、一种测试系统、一种计算机程序和一种计算机可读的介质。在此所提出的方案的扩展方案和改善方案有利地从说明书中得出并在下文中描述。
[0004]本专利技术的优点
[0005]本专利技术的实施方式以有利的方式实现:借助控制设备的软件的一个或多个软件模块来测试该软件,并在测试后永久停用所述一个软件模块或所述多个软件模块,而无须为此改变和重新编译该软件所基于的源代码。
[0006]本专利技术的第一方面涉及一种计算机实现的用于在测试控制设备的软件时运行该控制设备的方法。在此,该控制设备包括用于实施软件的处理器和用于存储软件的存储器。该方法至少包括以下步骤,所述步骤优选地能够以所说明的顺序实施:在控制设备中接收通过测试计算机所生成的测试请求;基于测试请求,通过由处理器实施存储在存储器中的第一二进制文件,实施用于测试软件的测试程序,其中,第一二进制文件对软件的测试版本进行编码,该测试版本包括实施测试程序所需的至少一个测试模块,其中,生成测试结果;将测试结果从控制设备发送到测试计算机;当测试计算机基于测试结果已确定软件运行就绪(betriebstauglich)时,在控制设备中接收能够通过处理器实施的第二二进制文件并将第二二进制文件存储在存储器中,其中,第二二进制文件通过测试计算机由第一二进制文件产生并对软件的最终版本进行编码,所述最终版本阻止至少一个测试模块的实施。
[0007]本专利技术的第二方面涉及一种计算机实现的用于在测试控制设备的软件时运行该测试计算机的方法。在此,该控制设备包括用于实施软件的处理器和用于存储软件的存储器。该方法至少包括以下步骤,所述步骤优选地能够以所说明的顺序实施:通过测试计算机生成测试请求;将测试请求从测试计算机发送到控制设备,其中,测试请求促使处理器通过实施存储在存储器中的第一二进制文件来实施用于测试软件的测试程序,其中,第一二进制文件对软件的测试版本进行编码,该测试版本包括实施测试程序所需的至少一个测试模块,其中,生成测试结果;在测试计算机中接收通过控制设备所生成的测试结果;基于测试结果,通过测试计算机确定软件是否运行就绪;当已确定软件运行就绪时,通过测试计算机由第一二进制文件产生第二二进制文件,其中,第二二进制文件对软件的最终版本进行编码,所述最终版本阻止至少一个测试模块的实施;将第二二进制文件从测试计算机发送到控制设备。
[0008]这具有如下技术效果:能够阻止测试程序的重新实施,而无须为此改变软件的源代码。换句话说,能够由此避免如下:在已成功测试软件后,再次编译源代码。通过测试软件的随后在控制设备的正常运行中实际实施的(经编译的)版本,能够显著降低控制设备在正常运行中发生功能故障的概率。
[0009]该用于运行控制设备的方法例如可以自动地通过控制设备实施。同样地,例如用于运行测试计算机的方法可以自动地通过测试计算机实施。
[0010]所述控制设备或所述测试计算机可以包括硬件模块和/或软件模块。
[0011]控制设备例如可以是机动车(例如载客车、载货车、公共汽车或摩托车)的控制设备。
[0012]除了处理器和存储器以外,控制设备还可以包括用于与测试计算机或其他外围设备进行数据通信的装置。
[0013]控制设备的存储器例如可以包括非易失性存储器元件(例如ROM、EPROM或闪存)和/或易失性存储器元件(例如RAM)。控制设备的待测试软件可以存储在非易失性存储器元件中。
[0014]控制设备可以包括微控制器,其中,处理器、存储器和/或通信接口可以是该微控制器的组件。
[0015]例如,控制设备(例如其微控制器)可以包括用于与测试计算机进行数据通信的JTAG接口(JTAG=Joint Test Action Group,联合测试行动组)。这种JTAG接口使得能够实现对集成电路的测试和调试。例如,JTAG接口使得能够访问微控制器的内部存储器、停止计算机内核、设置断点(Haltepunkt)等。控制设备与测试计算机之间的数据通信例如可以通过如下调试器进行:该调试器具有用于与控制设备的JTAG接口进行数据通信的JTAG接口和用于与测试计算机进行数据通信的另一接口,例如USB、以太网或UART。在测试计算机上可以运行适合的调试器软件以用于测试控制设备的软件。例如可以通过调试器或编程设备将第二二进制文件传输到控制设备上。
[0016]作为JTAG接口的替代或附加,控制设备可以包括用于与外部诊断设备进行数据通信的诊断接口,例如通过CAN总线、FlexRay和/或以太网。这种诊断接口例如能够读出控制设备的故障存储器、执行软件更新或改变控制设备的配置参数。如JTAG接口一样,诊断接口可以用作与测试计算机进行数据通信的通信接口。
[0017]测试计算机一般可以理解为如下外部计算机:该外部计算机为了测试目的能够临时与控制设备连接,例如PC、笔记本电脑或平板电脑,并且在该外部计算机上能够实施例如用于生成测试请求、分析处理测试结果和产生并发送第二二进制文件的适合的测试软件,前面也称为调试器软件。然而,测试计算机也可以涉及用于自动化测试控制设备的软件的专门编程的测试设备。
[0018]第一二进制文件例如可以通过在计算机(例如测试计算机)上编译和链接(Linken)产生,并且例如可以以HEX格式存储。第一二进制文件一方面能够实现通过控制设备在正常运行中应实施的功能,另一方面能够实现对所述功能进行测试的测试功能。该测试功能可以以软件的一个或多个测试模块的形式实现。
[0019]例如,第一二进制文件可以在实验室条件下和/或在测试环境中被编程到控制设备中,以便测试该控制设备的软件。在通过测试计算机由第一二进制文件产生第二二进制文件时,所述一个测试模块可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于在测试控制设备(104)的软件(102)时运行所述控制设备(104)的方法,其中,所述控制设备(104)包括用于实施所述软件(102)的处理器(112)和用于存储所述软件(102)的存储器(106),其中,所述方法包括:在所述控制设备(104)中接收(510)通过测试计算机(116)所生成的测试请求(128);基于所述测试请求(128),通过由所述处理器(112)实施存储在所述存储器(106)中的第一二进制文件,实施(520)用于测试所述软件(102)的测试程序(110),其中,所述第一二进制文件对所述软件(102)的测试版本进行编码,所述测试版本包括实施所述测试程序(110)所需的至少一个测试模块(108),其中,生成测试结果(130);将所述测试结果(130)从所述控制设备(104)发送(530)到所述测试计算机(116);和当所述测试计算机(116)基于所述测试结果(130)已确定所述软件(102)运行就绪时,在所述控制设备(104)中接收(540)能够通过所述处理器(112)实施的第二二进制文件(132),并且将所述第二二进制文件(132)存储在所述存储器(106)中,其中,所述第二二进制文件(132)已通过所述测试计算机(116)由所述第一二进制文件产生,并对所述软件(102)的最终版本进行编码,所述最终版本阻止所述至少一个测试模块(108)的实施。2.根据权利要求1所述的方法,其中,在实施(520)所述测试程序时,将用于模拟故障情况的测试数据(134)输入到所述软件(102)的待测试组件(200,202,204,208)中。3.根据权利要求2所述的方法,其中,在所述控制设备(104)中接收通过所述测试计算机(116)所生成的外部数据,并将所述外部数据用作所述测试数据(134)。4.根据权利要求2或3所述的方法,其中,将所述测试数据(134)输入到所述软件(102)的系统层(200)中。5.根据权利要求4所述的方法,其中,除了所述测试数据(134)以外,阻止将所述软件(102)的至少一个处于所述系统层(200)之外的组件(202,204)的输出数据输入到所述系统层(200)中。6.根据权利要求2至5中任一项所述的方法,其中,将所述测试数据(134)输入到所述软件(102)的应用层(202)中。7.根据权利要求6所述的方法,其中,除了所述测试数据(134)以外,阻止将所述软件(102)的至少一个处于所述应用层(202)之外的组件(208)的输出数据输入到所述应用层(202)中。8.根据前述权利要求中任一项所述的方法,其中,所述测试模块(108)配置为,将所述软件(102)的至少一个待测试组件(202,208)的输入端可选地与用于与所述测试计算机(116)进行数据通信的通信接口(114)连接或与所述软件(102)的至少一个另外的组件(204,208...

【专利技术属性】
技术研发人员:A
申请(专利权)人:罗伯特
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1