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

软件在环测试方法、装置、系统及存储介质与流程

2022-12-07 03:34:55 来源:中国专利 TAG:


1.本技术涉及测试技术领域,尤其涉及一种软件在环测试方法、装置、系统及存储介质。


背景技术:

2.目前,整车控制器的功能测试包括:模型在环测试、sil(software in loop,软件在环)测试和硬件在环测试。软件在环测试系统是一套稳定的汽车软件测试系统,广泛应用于各大车厂。然而,软件在环测试系统无法对部分系统中开发的软件进行测试,即软件在环测试系统的适用性较低。


技术实现要素:

3.为了解决上述技术问题,本技术提供了一种软件在环测试方法、装置、系统及存储介质。
4.根据本技术的第一方面,提供了一种软件在环测试方法,应用于测试服务,所述方法包括:
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.可选的,所述测试服务,具体用于通过套接字通信方式向所述软件在环测试系统发送第一报文数据;所述第一报文数据的报文头包含所述第二测试结果对应的数据类型信息,所述第一报文数据的报文体包含所述第二测试结果。
48.可选的,所述第一报文数据的报文体还包含所述第二测试结果的校验数据,所述校验数据用于使所述软件在环测试系统验证所述第二测试结果的有效性。
49.可选的,所述待测软件为在目标系统下开发的软件,所述目标系统包括:机器人操作系统或数据分发服务系统。
50.根据本技术的第六方面,提供了一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
51.根据本技术的第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
52.根据本技术的第八方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面或第二方面所述的方法。
53.本技术实施例提供的技术方案与现有技术相比具有如下优点:
54.软件在环测试系统包括与各个测试消息分别对应的消息结构体,该消息结构体是待测软件所支持的数据类型。软件在环测试系统根据测试消息和测试消息对应的消息结构体可以生成第一测试数据,并向测试服务发送第一测试数据。测试服务根据第一测试数据的消息结构体,将来自软件在环测试系统的第一测试数据转换为第二测试数据,从而使待测软件可以根据第二测试数据进行自动化测试,并返回第一测试结果。类似地,测试服务将来自待测软件的第一测试结果转换为软件在环测试系统可以识别的第二测试结果。可见,在软件在环试系统发出测试信号后,能够得到待测软件应答的处理结果,即,在软件在环测试系统无法对待测软件测试的情况下,通过将软件在环测试系统与测试服务相结合,实现了对待测软件进行软件在环自动化测试,从而增大软件在环测试系统的测试范围,提高了软件在环测试系统的适用性。
附图说明
55.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
56.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
57.图1示出了可以应用于本技术实施例的软件在环测试方法的示例性应用环境的系统架构的示意图;
58.图2为本技术实施例中软件在环测试方法的一种流程图;
59.图3为本技术实施例中生成测试服务和软件在环测试系统的方法流程图;
60.图4为本技术实施例中软件在环测试方法的又一种流程图;
61.图5为本技术实施例中软件在环测试方法的一种交互流程图;
62.图6a为本技术实施例中软件在环测试装置的一种结构示意图;
63.图6b为本技术实施例中软件在环测试装置的又一种结构示意图;
64.图7为本技术实施例中测试系统的一种结构示意图;
65.图8为本技术实施例中电子设备的一种结构示意图。
具体实施方式
66.为了能够更清楚地理解本技术的上述目的、特征和优点,下面将对本技术的方案进行进一步描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可
以相互组合。
67.在下面的描述中阐述了很多具体细节以便于充分理解本技术,但本技术还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本技术的一部分实施例,而不是全部的实施例。
68.图1示出了可以应用于本技术实施例的软件在环测试方法的示例性应用环境的系统架构的示意图。
69.其中,软件在环测试是指通过运行系统环境中的车辆模型和虚拟ecu(electronic control unit,电子控制单元)中的i/o(输入/输出)模型来模拟控制器所需的各种传感器信号,并接收台架传感器的信号和虚拟ecu发出的控制信号,从而与被测虚拟ecu的代码信息(包括基础软件和硬件参数等)和系统环境模型相连接,最终实现闭环仿真对控制系统进行测试验证。
70.如图1所示,系统架构100可以包括软件在环测试系统101、测试服务102和待测软件103,测试服务102和待测软件103可以位于同一个电子控制单元104中。本技术实施例所提供的软件在环测试方法可以由软件在环测试系统101、测试服务102和待测软件103执行,测试服务102可以将来自软件在环测试系统101的数据转换为待测软件103可识别的数据,以及将来自待测软件103的数据转换为软件在环测试系统101可以识别的数据,从而实现软件在环测试系统101对待测软件103进行软件在环自动化测试,提高软件在环测试系统101的适用性。
71.以下首先在测试服务侧对本技术实施例的软件在环测试方法进行介绍。
72.参见图2,图2为本技术实施例中软件在环测试方法的一种流程图,应用于测试服务,可以包括以下步骤:
73.步骤s210,接收软件在环测试系统发送的第一测试数据,第一测试数据根据测试消息和测试消息对应的消息结构体生成。
74.软件在环测试系统是一种汽车软件测试系统,可以对汽车中的应用软件进行测试。软件在环测试系统使用message数据对应用软件进行测试,应用软件对应的代码一般为i/o模型。在某些系统下,软件在环测试系统使用message数据无法对该系统下开发的应用软件进行测试。待测软件指软件在环测试系统无法测试的软件,可选的,待测软件为在目标系统下开发的软件,目标系统可以包括:ros(robot operating system,机器人操作系统)系统或dds(data distribution service,数据分发服务)系统。
75.其中,ros系统是用于编写机器人软件程序的一种具有高度灵活性的软件架构。相关技术中,针对ros系统下的应用软件测试需要对接基于ros软件架构编写的测试用例,并且需要测试用例运行在ros环境下,因此对软件测试人员编写测试用例提出了非常高的要求,测试环境以及测试用例要求比较局限,不能适应通用的软件在环测试框架。
76.为了可以对待测软件进行软件在环测试,可以预先将各个测试消息分别对应的消息结构体编译至软件在环测试系统,这样,软件在环测试系统包括与各个测试消息分别对应的消息结构体,消息结构体是待测软件所支持的数据类型,待测软件所支持的数据类型可以包括int、bool、float、unit等。这样,软件在环测试系统可以根据测试消息和测试消息对应的消息结构体生成第一测试数据,也就是,根据待测软件所支持的数据类型,将原始的message数据转换为结构体类型的测试数据。
77.步骤s220,根据第一测试数据的消息结构体,将第一测试数据转换为第二测试数据。
78.由于第一测试数据是结构体类型的测试数据,不同的第一测试数据对应不同的消息结构体,因此测试服务接收到第一测试数据后,可以根据第一测试数据的消息结构体,将第一测试数据转换为第二测试数据。第二测试数据可以是非结构体类型的测试数据,并且,第二测试数据可以被待测软件识别。
79.例如,如果待测软件为ros系统下开发的软件,软件服务中可以启动待测软件中订阅的topic、server、action等服务,模拟为待测软件提供数据或者服务的源,将从软件在环测试系统接收到的第一测试数据转换为ros相关message信号。
80.步骤s230,向待测软件发送第二测试数据,以使待测软件根据第二测试数据进行自动化测试,得到并返回第一测试结果。
81.测试服务进行数据转换得到第二测试数据后,可以向待测软件发送第二测试数据。这样,待测软件可以根据可识别的第二测试数据进行自动化测试,得到第一测试结果,并将第一测试结果返回至测试服务。
82.步骤s240,根据消息结构体将第一测试结果转换为软件在环测试系统可识别的第二测试结果,并向软件在环测试系统发送第二测试结果。
83.本技术实施例中,针对测试服务接收到的第一测试结果,软件在环测试系统也是无法识别的。与前述步骤s220的数据转换过程相反,测试服务可以根据第一测试数据的消息结构体将第一测试结果转换为软件在环测试系统可识别的第二测试结果。可以看出,软件在环测试系统发送第一测试数据后,通过测试服务的数据转换,可以得到相应的测试结果,从而实现可以对不同系统下开发的软件进行测试。
84.本技术实施例的软件在环测试方法,软件在环测试系统包括与各个测试消息分别对应的消息结构体,该消息结构体是待测软件所支持的数据类型。软件在环测试系统根据测试消息和测试消息对应的消息结构体可以生成第一测试数据,并向测试服务发送第一测试数据。测试服务根据第一测试数据的消息结构体,将来自软件在环测试系统的第一测试数据转换为第二测试数据,从而使待测软件可以根据第二测试数据进行自动化测试,并返回第一测试结果。类似地,测试服务将来自待测软件的第一测试结果转换为软件在环测试系统可以识别的第二测试结果。可见,在软件在环试系统发出测试信号后,能够得到待测软件应答的处理结果,即,在软件在环测试系统无法对待测软件测试的情况下,通过将软件在环测试系统与测试服务相结合,实现了对待测软件进行软件在环自动化测试,从而增大软件在环测试系统的测试范围,提高了软件在环测试系统的适用性。
85.本技术实施例中,消息结构体是根据测试消息和待测软件所支持的数据类型生成的。参见图3,图3为本技术实施例中生成测试服务和软件在环测试系统的方法流程图,可以包括以下步骤:
86.步骤s310,获取各个测试消息和数据类型文件;其中,数据类型文件中包括待测软件所支持的数据类型。
87.测试消息指软件在环测试系统进行测试时所使用的消息,不同的测试消息用于测试不同的功能。例如,针对文件名为door.msg的测试消息,该测试消息中可以包含如下内容:
88.#vehicle speed out当前车速
89.float32 veh_spd0
90.#front left door status左前门状态信号
91.uint8 fldoor_sts 0
92.#front right door status右前门状态信号
93.uint8 frdoor_sts 0
94.#rear left door status左后门状态信号
95.uint8 rldoor_sts0
96.#rear right door status右后门状态信号
97.uint8 rrdoor_sts0
98.上述测试消息用于测试车辆的速度和各个车门的状态。
99.数据类型文件是描述数据类型的文件,可以被用来生成不同语言的源代码。数据类型文件中包括待测软件所支持的所有数据类型,int、bool、float、unit等。例如,针对ros系统的数据类型文件,可以使用简化的消息描述语言来描述ros节点发布的数据。
100.步骤s320,根据数据类型和单个测试消息,生成单个测试消息对应的消息结构体。
101.根据该数据类型文件中的数据类型,可以生成每个测试消息对应的消息结构体。可选的,可以利用预先编写的脚本文件,根据数据类型和单个测试消息,生成该单个测试消息对应的消息结构体,以提高消息结构体生成的效率。
102.例如,上述测试消息door.msg,可以生成消息结构体door.hpp,可以表示如下:
[0103][0104]
步骤s330,将消息结构体添加至测试服务代码,编译生成测试服务。
[0105]
步骤s340,将消息结构体添加至软件在环测试系统代码,编译生成软件在环测试系统。
[0106]
将生成的消息结构体添加至测试服务代码和软件在环测试系统代码,可以编译生成测试服务和软件在环测试系统。需要说明的是,在软件在环测试系统新增测试消息的情况下,可以根据新增的测试消息和数据类型文件中的数据类型,生成新的消息结构体,并将新的消息结构体添加至测试服务代码和软件在环测试系统代码,重新编译生成新的测试服务和新的软件在环测试系统。
[0107]
本技术实施例的软件在环测试方法,可以使用脚本自动化生成结构化的数据类型为软件在环测试系统和测试服务共同使用,和待测软件的数据类型实现内存排布上的统一,从而方便各个系统间数据的流转,最终实现软件在环测试系统可以对待测软件进行测
试。
[0108]
参见图4,图4为本技术实施例中软件在环测试方法的又一种流程图,应用于软件在环测试系统,可以包括以下步骤:
[0109]
步骤s410,根据测试消息和测试消息对应的消息结构体,生成第一测试数据,软件在环测试系统包括与各个测试消息分别对应的消息结构体,消息结构体是待测软件所支持的数据类型。
[0110]
步骤s420,向测试服务发送第一测试数据,以使测试服务根据第一测试数据得到测试结果。
[0111]
步骤s430,接收测试服务返回的测试结果。
[0112]
上述图4实施例是与图2实施例对应的软件在环测试系统侧的软件在环测试方法,相关之处可参见图2实施例中的描述即可,在此不再赘述。
[0113]
参见图5,图5为本技术实施例中软件在环测试方法的一种交互流程图,可以包括以下步骤:
[0114]
步骤s510,根据测试消息和测试消息对应的消息结构体,生成第一测试数据,软件在环测试系统包括与各个测试消息分别对应的消息结构体,消息结构体是待测软件所支持的数据类型。
[0115]
如前所述,根据数据类型文件和各个测试消息,可以生成各个测试消息分别对应的消息结构体。根据测试消息和测试消息对应的消息结构体,可以生成第一测试数据。例如,根据测试消息door.msg和消息结构体door.hpp,可以生成如下第一测试数据:
[0116]
door.veh_spd=100;
[0117]
door.fldoor_sts=1;
[0118]
door.frdoor_sts=2;
[0119]
door.rldoor_sts=3;
[0120]
door.rrdoor_sts=4;
[0121]
该第一测试数据中车辆的速度为100,各个车门的状态分别为1、2、3、4。
[0122]
步骤s520,向测试服务发送第一测试数据。
[0123]
本技术实施例中,软件在环测试系统和测试服务之间的通信方式可以包括socket(套接字)通信方式。软件在环测试系统可以通过socket通信方式向测试服务发送第二报文数据,其中,第二报文数据的报文头包含第一测试数据的数据类型信息,第二报文数据的报文体包含第一测试数据。测试服务可以根据报文头中的数据类型信息进行正确解析,得到软件在环测试系统发送的第一测试数据。
[0124]
可选的,第二报文数据的报文体还可以包含第一测试数据的校验数据,校验数据用于使测试服务验证第一测试数据的有效性。校验数据可以是crc(循环冗余校验)码等,这样,测试服务进一步对解析出的数据进行校验核对,判断数据的有效性。
[0125]
步骤s530,根据第一测试数据的消息结构体,将第一测试数据转换为第二测试数据。
[0126]
测试服务根据消息结构体,可以将接收自软件在环测试系统的第一测试数据转换为第二测试数据。例如,针对如下第一测试数据:
[0127]
door.veh_spd=100;
[0128]
door.fldoor_sts=1;
[0129]
door.frdoor_sts=2;
[0130]
door.rldoor_sts=3;
[0131]
door.rrdoor_sts=4;
[0132]
根据消息结构体door.hpp,可以生成如下第二测试数据:
[0133]
veh-spd=100;
[0134]
fldoor_sts=1;
[0135]
frdoor_sts=2;
[0136]
rldoor_sts=3;
[0137]
rrdoor_sts=4;
[0138]
上述第二测试数据是待测软件可识别的数据。可以看出,待测软件接收到的第二测试数据和软件在环测试系统发送的第一测试数据的数据类型不同,但数据内容相同。
[0139]
步骤s540,向待测软件发送第二测试数据。
[0140]
步骤s550,待测软件根据第二测试数据进行自动化测试,得到第一测试结果。
[0141]
步骤s560,待测软件向测试服务发送第一测试结果。
[0142]
步骤s570,根据消息结构体将第一测试结果转换为软件在环测试系统可识别的第二测试结果。
[0143]
步骤s580,向软件在环测试系统发送第二测试结果。
[0144]
与步骤s520类似,测试服务可以通过socket通信方式向软件在环测试系统发送第一报文数据;其中,第一报文数据的报文头包含第二测试结果对应的数据类型信息,第一报文数据的报文体包含第二测试结果。软件在环测试系统可以根据报文头中的数据类型信息进行正确解析,得到第二测试结果。
[0145]
可选的,第一报文数据的报文体中还可以包含第二测试结果的校验数据,校验数据用于使软件在环测试系统验证第二测试结果的有效性。这样,软件在环测试系统进一步对解析出的数据进行校验核对,判断数据有效性。
[0146]
本技术实施例的软件在环测试方法,可以将预先生成的、包括待测软件所支持的数据类型的消息结构体编译至测试服务和软件在环测试系统供测试服务和软件在环测试系统共同使用。软件在环测试系统根据测试消息和测试消息对应的消息结构体可以生成第一测试数据,将第一测试数据的数据类型信息填充至报文头,第一测试数据及校验数据填充至报文体后向测试服务发送。测试服务可以根据报文头中的数据类型信息准确解析出第一测试数据,还可以根据校验数据,验证第一测试数据的有效性。之后,将第一测试数据转换为第二测试数据,从而使待测软件可以根据第二测试数据进行自动化测试,并返回第一测试结果。类似地,测试服务将来自待测软件的第一测试结果转换为软件在环测试系统可以识别的第二测试结果。可见,在软件在环测试系统无法对待测软件测试的情况下,通过将软件在环测试系统和软件服务相结合,实现了对待测软件进行软件在环自动化测试,从而增大软件在环测试系统的测试范围,提高了软件在环测试系统的适用性。
[0147]
相应于上述方法实施例,本技术实施例还提供了一种软件在环测试装置,应用于测试服务,参见图6a,该软件在环测试装置包括:
[0148]
第一测试数据接收模块602,用于接收软件在环测试系统发送的第一测试数据,第
一测试数据根据测试消息和测试消息对应的消息结构体生成,软件在环测试系统包括与各个测试消息分别对应的消息结构体,消息结构体是待测软件所支持的数据类型;
[0149]
测试数据转换模块604,用于根据第一测试数据的消息结构体,将第一测试数据转换为第二测试数据;
[0150]
第二测试数据发送模块606,用于向待测软件发送第二测试数据,以使待测软件根据第二测试数据进行自动化测试,得到并返回第一测试结果;
[0151]
测试结果转换模块608,用于根据消息结构体将第一测试结果转换为软件在环测试系统可识别的第二测试结果;
[0152]
测试结果发送模块610,用于向软件在环测试系统发送第二测试结果。
[0153]
可选的,消息结构体是根据测试消息和待测软件所支持的数据类型生成的。
[0154]
可选的,第二测试数据发送模块606,具体用于通过套接字通信方式向软件在环测试系统发送第一报文数据;第一报文数据的报文头包含第二测试结果对应的数据类型信息,第一报文数据的报文体包含第二测试结果。
[0155]
可选的,第一报文数据的报文体还包含第二测试结果的校验数据,校验数据用于使软件在环测试系统验证第二测试结果的有效性。
[0156]
可选的,待测软件为在目标系统下开发的软件,目标系统包括:机器人操作系统或数据分发服务系统。
[0157]
本技术实施例还提供了一种软件在环测试装置,应用于软件在环测试系统,参见图6b,软件在环测试装置包括:
[0158]
第一测试数据生成模块612,用于根据测试消息和测试消息对应的消息结构体,生成第一测试数据,其中,软件在环测试系统包括与各个测试消息分别对应的消息结构体,消息结构体是待测软件所支持的数据类型;
[0159]
第一测试数据发送模块614,用于向测试服务发送第一测试数据,以使测试服务根据第一测试数据得到测试结果;
[0160]
测试结果接收模块616,用于接收测试服务返回的测试结果。
[0161]
可选的,消息结构体是根据测试消息和待测软件所支持的数据类型生成的。
[0162]
可选的,第一测试数据发送模块614具体用于通过套接字通信方式向测试服务发送第二报文数据,其中,第二报文数据的报文头包含第一测试数据的数据类型信息,第二报文数据的报文体包含第一测试数据。
[0163]
可选的,第二报文数据的报文体还包含第一测试数据的校验数据,校验数据用于使测试服务验证第一测试数据的有效性。
[0164]
上述装置中各模块或单元的具体细节已经在对应的方法中进行了详细的描述,因此此处不再赘述。
[0165]
本技术实施例还提供了一种测试系统,参见图7,测试系统700包括:软件在环测试系统710和电子控制单元720,电子控制单元720包括测试服务722和待测软件724;
[0166]
软件在环测试系统710,用于根据测试消息和测试消息对应的消息结构体,生成第一测试数据,向测试服务发送第一测试数据,其中,软件在环测试系统包括与各个测试消息分别对应的消息结构体,消息结构体是待测软件所支持的数据类型;
[0167]
测试服务722,用于根据第一测试数据的消息结构体,将第一测试数据转换为第二
测试数据;向待测软件发送第二测试数据;
[0168]
待测软件724,用于根据第二测试数据进行自动化测试,得到第一测试结果,并向测试服务返回第一测试结果;
[0169]
测试服务722,还用于根据消息结构体将第一测试结果转换为软件在环测试系统可识别的第二测试结果,并向软件在环测试系统发送第二测试结果。
[0170]
可选的,消息结构体是根据测试消息和待测软件所支持的数据类型生成的。
[0171]
可选的,软件在环测试系统710具体用于通过套接字通信方式向测试服务发送第二报文数据,其中,第二报文数据的报文头包含第一测试数据的数据类型信息,第二报文数据的报文体包含第一测试数据。
[0172]
可选的,第二报文数据的报文体还包含第一测试数据的校验数据,校验数据用于使测试服务验证第一测试数据的有效性。
[0173]
可选的,测试服务722,具体用于通过套接字通信方式向软件在环测试系统发送第一报文数据;第一报文数据的报文头包含第二测试结果对应的数据类型信息,第一报文数据的报文体包含第二测试结果。
[0174]
可选的,第一报文数据的报文体还包含第二测试结果的校验数据,校验数据用于使软件在环测试系统验证第二测试结果的有效性。
[0175]
可选的,待测软件724为在目标系统下开发的软件,目标系统包括:机器人操作系统或数据分发服务系统。
[0176]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0177]
在本技术的示例性实施例中,还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行本示例实施方式中上述软件在环测试方法。
[0178]
图8为本技术实施例中电子设备的一种结构示意图。需要说明的是,图8示出的电子设备800仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0179]
如图8所示,电子设备800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram 803中,还存储有系统操作所需的各种程序和数据。中央处理单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0180]
以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网(lan)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
[0181]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机
软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元801执行时,执行本技术的装置中限定的各种功能。
[0182]
本技术实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述软件在环测试方法。
[0183]
需要说明的是,本技术所示的计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器、只读存储器、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
[0184]
本技术实施例中,还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述软件在环测试方法。
[0185]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0186]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献