代码测试方法、装置、电子设备及可读存储介质与流程
未命名
09-03
阅读:122
评论:0

1.本技术涉及车端soa领域,尤其涉及一种代码测试方法、装置、电子设备及可读存储介质。
背景技术:
2.车端soa(service-oriented architecture,面向服务架构)服务管理平台为开发人员提供配置化开发和部署的能力,可以通过使用者的不同配置,生成对应的代码文件,从而提升应用开发的效率。对soa配置完成之后,可以从平台下载mpu(microprocessor unit,微处理器)通信框架代码,提供给开发者进行下一步开发。
3.平台的开发人员需要保证生成的mpu通信框架代码的正确性,现有测试方法对这类功能进行测试时,现有的测试技术需要测试人员进行测试代码编写,对测试人员能力要求高,时间花费久,效率低。
技术实现要素:
4.本技术提供了一种代码测试方法、装置、电子设备及可读存储介质,旨在解决现有技术中对于mpu通信框架代码的测试方式对测试人员能力要求高,时间花费久,效率低的技术问题。
5.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种代码测试方法,所述方法包括步骤:
6.获取待测框架代码,确定所述待测框架代码的代码特征;
7.根据所述代码特征生成测试程序;
8.通过所述测试程序对所述待测框架代码进行测试操作。
9.可选地,所述测试程序包括第一测试程序、第二测试程序以及第三测试程序,所述通过所述测试程序对所述待测框架代码进行测试操作的步骤包括:
10.执行所述第一测试程序,以启动客户端,获取打印信息,根据所述打印信息得到第一结果;
11.执行所述第二测试程序,以启动服务端,检测服务端是否接收到客户端发送的消息,得到第二结果;
12.执行所述第三测试程序,以同时启动所述客户端与所述服务端,获取打印消息,并检测服务端是否接收到客户端发送的消息,得到第三结果;
13.根据所述第一结果、第二结果、第三结果判断测试操作是否通过。
14.可选地,所述根据所述第一结果、第二结果、第三结果判断测试操作是否通过的步骤包括:
15.判断所述第一结果中打印信息的code是否为第一标识,所述第一标识指示所述客户端接收到所述服务端的消息;
16.若所述第一结果中打印信息的code为第一标识,则判断所述第二结果中所述服务
端是否接收到所述客户端发送的消息;
17.若所述服务端未接收到所述客户端发送的消息,则判断所述第三结果中的打印信息的code是否为第二标识,且服务端是否完整接收到所述客户端发送的消息,所述第二标识指示客户端接收到服务端的消息;
18.若所述第三结果中的打印信息的code为0,且服务端完整接收到所述客户端发送的消息,则测试操作通过。
19.可选地,所述代码特征包括服务方法类型以及参数类型;所述根据所述代码特征生成测试程序的步骤包括:
20.匹配与所述服务方法类型以及所述参数类型对应的代码模板;
21.根据所述代码模板生成测试代码;
22.对所述测试代码进行编译得到所述测试程序。
23.可选地,所述对所述测试代码进行编译得到所述测试程序的步骤包括:
24.获取所述测试代码中的客户端子代码以及服务端子代码;
25.对所述客户端子代码以及所述服务端子代码进行编译,得到所述测试程序。
26.可选地,在所述对所述客户端子代码以及所述服务端子代码进行编译之前包括步骤:
27.在所述待测框架代码位置分别创建客户端文件夹以及服务端文件夹;
28.将所述客户端子代码存放至所述客户端文件夹,并将所述服务端子代码存放至所述服务端文件夹。
29.可选地,所述对所述客户端子代码以及所述服务端子代码进行编译,得到所述测试程序的步骤包括:
30.获取预设编译配置数据,并根据所述预设编译配置数据对编译流程文件进行修改;
31.根据修改后的所述编译流程文件执行编译操作,得到第一测试程序、第二测试程序与第三测试程序。
32.为实现上述目的,本发明还提供一种代码测试装置,所述代码测试装置包括:
33.第一模块,用于获取待测框架代码,确定所述待测框架代码的代码特征;
34.第二模块,用于根据所述代码特征生成测试程序;
35.第三模块,用于通过所述测试程序对所述待测框架代码进行测试操作。
36.为实现上述目的,本发明还提供一种电子设备,所述电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的代码测试方法的步骤。
37.为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的代码测试方法的步骤。
38.本发明提出的一种代码测试方法、装置、电子设备及可读存储介质,通过代码特征来自动生成待测框架代码对应的测试程序,使得无需测试人员手动编写测试程序,降低了对于测试人员的能力要求,同时提高了测试效率。
附图说明
39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明代码测试方法第一实施例的流程示意图;
42.图2为本发明代码测试方法的整体流程图;
43.图3为本发明电子设备的模块结构示意图。
具体实施方式
44.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
45.本发明提供一种代码测试方法,参照图1,图1为本发明代码测试方法第一实施例的流程示意图,所述方法包括步骤:
46.步骤s10,获取待测框架代码,确定所述待测框架代码的代码特征;
47.待测框架代码为基于soa服务管理平台的配置生成的mpu框架代码。不同的soa服务管理平台的配置对应生成不同的待测框架代码,具体地,待测框架代码的生成可以基于实际应用需要进行设置。soa服务管理平台的配置可以基于实际更新的内容进行设置,还可以由于测试人员进行自定义配置,如本次迭代修改了qos的部分逻辑,那么则先配置topic,然后进行qos的配置。进一步地,为了保证待测框架代码的有效获取,可以先对系统中的测试数据进行脏数据检查,确定是否存在与soa服务管理平台的配置对应的历史数据,即脏数据,当存在脏数据时,将脏数据清除后再获取待测框架代码。
48.代码特征用以指示待测框架代码的类型;
49.步骤s20,根据所述代码特征生成测试程序;
50.可以理解的是,不同类型的待测框架代码需要进行测试的方式不同,而相同类型的待测框架代码进行测试的方式具有一定统一性,因此,通过代码特征生成的测试程序能够符合待测框架代码的测试需要。
51.步骤s30,通过所述测试程序对所述待测框架代码进行测试操作。
52.基于具体待测框架代码以及测试程序的不同,对应的测试操作也不同,具体可以基于实际应用需要进行设置,测试操作完成后生成测试结果,测试结果中可以包括待测框架代码是否测试通过以及具体的测试情况数据等。
53.本实施例通过代码特征来自动生成待测框架代码对应的测试程序,使得无需测试人员手动编写测试程序,降低了对于测试人员的能力要求,同时提高了测试效率。
54.需要说明的是,本实施例中可以将代码测试的具体方法封装成一个测试脚本,在获取待测框架代码后,直接对待测框架代码运行测试脚本,测试脚本自动执行后续操作。
55.在基于本发明的第一实施例所提出的本发明代码测试方法第二实施例中,所述测试程序包括第一测试程序、第二测试程序以及第三测试程序,所述步骤s30包括步骤:
56.步骤s31,执行所述第一测试程序,以启动客户端,获取打印信息,根据所述打印信息得到第一结果;
57.步骤s32,执行所述第二测试程序,以启动服务端,检测服务端是否接收到客户端发送的消息,得到第二结果;
58.步骤s33,执行所述第三测试程序,以同时启动所述客户端与所述服务端,获取打印消息,并检测服务端是否接收到客户端发送的消息,得到第三结果;
59.步骤s34,根据所述第一结果、第二结果、第三结果判断测试操作是否通过。
60.本实施例基于soa服务管理平台,对于soa服务管理平台的mpu框架代码而言,需要对待测框架代码在客户端client与服务端server的实现进行测试。
61.需要说明的是,在执行第一测试程序时,启动客户端,同时控制服务端处于关闭状态;在执行第二测试程序时,启动服务端,同时控制客户端处于关闭状态。
62.第一测试程序用以对服务端的关闭状态进行检测,第一测试程序执行时,客户端启动,服务端关闭,打印信息能够反映客户端接收服务端消息的情况,若客户端接收到服务端消息,认为当前服务端未关闭,待测框架代码存在问题,因此,根据打印信息能够检测待测框架代码下服务端的关闭状态。
63.第二测试程序用以对客户端的关闭状态进行检测,第二测试程序执行时,服务端启动,客户端关闭,若服务端接收到客户端消息,认为当前客户端未关闭,待测框架代码存在问题,因此,能够检测待测框架代码下客户端的关闭状态。
64.第三测试程序用以对服务端与客户端之间的通信进行检测,第三测试程序执行时,客户端启动,服务端启动,此时,若待测框架代码正确,则客户端与服务端应当能够进行相互通信,通过打印消息以及服务端接收客户端发送消息的情况能够对服务端与客户端之间的通信进行检测。
65.本实施例中的第一测试程序、第二测试程序以及第三测试程序能够完整地对待测框架代码进行测试。
66.所述步骤s34包括步骤:
67.步骤s341,判断所述第一结果中打印信息的code是否为第一标识,所述第一标识指示所述客户端接收到所述服务端的消息;
68.步骤s342,若所述第一结果中打印信息的code为第一标识,则判断所述第二结果中所述服务端是否接收到所述客户端发送的消息;
69.步骤s343,若所述服务端未接收到所述客户端发送的消息,则判断所述第三结果中的打印信息的code是否为第二标识,且服务端是否完整接收到所述客户端发送的消息,所述第二标识指示客户端接收到服务端的消息;
70.步骤s344,若所述第三结果中的打印信息的code为0,且服务端完整接收到所述客户端发送的消息,则测试操作通过。
71.打印信息的code则能够指示是否接收到服务端的消息,具体地,第一标识与第二标识可以基于实际需要进行设置,如将第一标识设置为6,第二标识设置为0,当打印信息的code为6时,认为未接收到服务端的消息,当打印信息的code为0时,认为接收到服务端消
息。
72.若第一结果的code为第一标识时,则认为服务端关闭状态测试通过,若第一结果的code为第二标识,则认为服务端关闭状态测试不通过,记录第一测试程序的测试日志log与测试结果;
73.若第二结果中服务端未接收到所述客户端发送的消息,则认为客户端关闭状态测试通过,若第二结果中服务端接收到所述客户端发送的消息,则认为客户端关闭状态测试不通过,记录第二测试程序的测试日志log与测试结果。
74.若第三结果中的code为第二标识且服务端接收到客户端发送的全部消息,则认为服务端与客户端之间的通信测试通过,若第三结果中的code为第一标识或服务端未接收到客户端发送的全部消息,则认为服务端与客户端之间的通信测试不通过,记录第三测试程序的测试日志log与测试结果。
75.当第一测试程序、第二测试程序、第三测试程序的测试结果均为同构时,待测框架代码测试通过;当第一测试程序、第二测试程序、第三测试程序的测试结果存在任一为不通过时,待测框架代码测试不通过;基于第一测试程序、第二测试程序、第三测试程序的测试日志log与测试结果输出测试报告。
76.本实施例能够准确对待测框架代码进行测试。
77.在基于本发明的第一实施例所提出的本发明代码测试方法第三实施例中,所述代码特征包括服务方法类型以及参数类型;所述步骤s20包括步骤:
78.步骤s21,匹配与所述服务方法类型以及所述参数类型对应的代码模板;
79.步骤s22,根据所述代码模板生成测试代码;
80.步骤s23,对所述测试代码进行编译得到所述测试程序。
81.服务方法类型用以指示通信形式;具体地,服务方法类型包括method、event以及field;其中,method方法由client端发起,远程调用server的方法函数;event方法是client订阅一个服务主题,server端发布该服务,则订阅了该服务主题的client端都会收到消息;field表示一种属性,通常指状态值或某种信息。
82.参数类型用以指示代码的数据类型;具体地,参数类型包括但不限于int8、uint8、float、bool,还可以为结构体、数组或枚举。
83.代码模板用以指示同一代码特征下对应的测试代码的特征;具体地,不同代码特征对应的代码模板可以通过对实际代码进行总结得到。对于不同的待测框架代码,其对应的服务方法类型与参数类型均可不一致,因此,在设置代码模板时,需要覆盖不同的服务方法类型与参数类型,以满足各类待测框架代码的需要。
84.通过服务方法类型以及参数类型对应的代码模板生成的测试代码即可满足待测框架代码的需求。
85.可以理解的是,在得到测试代码之后,需要对测试代码进行编译得到测试程序才能够实现具体的测试操作。
86.所述步骤s23包括步骤:
87.步骤s231,获取所述测试代码中的客户端子代码以及服务端子代码;
88.步骤s232,对所述客户端子代码以及所述服务端子代码进行编译,得到所述测试程序。
89.为了实现前述分别针对客户端与服务端的测试操作,在生成测试程序时,需要针对客户端子代码与服务端子代码分别进行编译。具体地,在所述步骤s232之前包括步骤:
90.步骤s233,在所述待测框架代码位置分别创建客户端文件夹以及服务端文件夹;
91.步骤s234,将所述客户端子代码存放至所述客户端文件夹,并将所述服务端子代码存放至所述服务端文件夹。
92.待测框架代码位置是指待测框架代码所在的文件夹。在待测框架代码所在的文件夹中创建客户端文件夹与服务端文件夹,并将客户端子代码存放至客户端文件夹,并将服务端子代码存放至服务端文件夹;具体地,服务端子代码中包括.h和.ccp文件,服务端子代码的文件名跟随待测框架代码应用的服务名,客户端子代码包括.h和.ccp文件,客户端子代码的文件名与服务端子代码的文件名保持一致。
93.所述步骤s232包括步骤:
94.步骤s2321,获取预设编译配置数据,并根据所述预设编译配置数据对编译流程文件进行修改;
95.步骤s2322,根据修改后的所述编译流程文件执行编译操作,得到第一测试程序、第二测试程序与第三测试程序。
96.编译流程文件cmakelist用以确定编译步骤;可以理解的是,若按照一般的cmakelist执行编译操作,则得到的测试程序将包含完整的客户端子代码与服务端子代码。而本实施例中需要得到前述第一测试程序、第二测试程序与第三测试程序,因此,需要通过预设编译配置数据对cmakelist进行修改以使修改后的cmakelist能够使得编译得到第一测试程序、第二测试程序与第三测试程序。具体预设编译配置数据可以基于实际需要进行设置。
97.需要说明的是,通过修改后的cmakelist进行编译操作后,将得到基于客户端子代码的客户端执行程序、基于服务端子代码的服务端执行程序;可以将客户端执行程序作为第一测试程序,将服务端执行程序作为第二测试程序,将客户端执行程序与服务端执行程序共同作为第三测试程序。
98.本实施例能够准确生成测试程序。
99.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
100.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
101.本技术还提供一种用于实施上述代码测试方法的代码测试装置,代码测试装置包括:
102.第一模块,用于获取待测框架代码,确定所述待测框架代码的代码特征;
103.第二模块,用于根据所述代码特征生成测试程序;
104.第三模块,用于通过所述测试程序对所述待测框架代码进行测试操作。
105.本代码测试装置通过代码特征来自动生成待测框架代码对应的测试程序,使得无需测试人员手动编写测试程序,降低了对于测试人员的能力要求,同时提高了测试效率。
106.需要说明的是,该实施例中的第一模块可以用于执行本技术实施例中的步骤s10,该实施例中的第二模块可以用于执行本技术实施例中的步骤s20,该实施例中的第三模块可以用于执行本技术实施例中的步骤s30。
107.所述测试程序包括第一测试程序、第二测试程序以及第三测试程序,所述第三模块包括:
108.第一子模块,用于执行所述第一测试程序,以启动客户端,获取打印信息,根据所述打印信息得到第一结果;
109.第二子模块,用于执行所述第二测试程序,以启动服务端,检测服务端是否接收到客户端发送的消息,得到第二结果;
110.第三子模块,用于执行所述第三测试程序,以同时启动所述客户端与所述服务端,获取打印消息,并检测服务端是否接收到客户端发送的消息,得到第三结果;
111.第四子模块,用于根据所述第一结果、第二结果、第三结果判断测试操作是否通过。
112.所述第四子模块包括:
113.第一单元,用于判断所述第一结果中打印信息的code是否为第一标识,所述第一标识指示所述客户端接收到所述服务端的消息;
114.第二单元,用于若所述第一结果中打印信息的code为第一标识,则判断所述第二结果中所述服务端是否接收到所述客户端发送的消息;
115.第三单元,用于若所述服务端未接收到所述客户端发送的消息,则判断所述第三结果中的打印信息的code是否为第二标识,且服务端是否完整接收到所述客户端发送的消息,所述第二标识指示客户端接收到服务端的消息;
116.第四单元,用于若所述第三结果中的打印信息的code为0,且服务端完整接收到所述客户端发送的消息,则测试操作通过。
117.所述代码特征包括服务方法类型以及参数类型;所述第二模块包括:
118.第五子模块,用于匹配与所述服务方法类型以及所述参数类型对应的代码模板;
119.第六子模块,用于根据所述代码模板生成测试代码;
120.第七子模块,用于对所述测试代码进行编译得到所述测试程序。
121.可选地,所述第七子模块包括:
122.第五单元,用于获取所述测试代码中的客户端子代码以及服务端子代码;
123.第六单元,用于对所述客户端子代码以及所述服务端子代码进行编译,得到所述测试程序。
124.所述第七子模块还包括:
125.第七单元,用于在所述待测框架代码位置分别创建客户端文件夹以及服务端文件夹;
126.第八单元,用于将所述客户端子代码存放至所述客户端文件夹,并将所述服务端子代码存放至所述服务端文件夹。
127.所述第六单元包括:
128.第一子单元,用于获取预设编译配置数据,并根据所述预设编译配置数据对编译流程文件进行修改;
129.第二子单元,用于根据修改后的所述编译流程文件执行编译操作,得到第一测试程序、第二测试程序与第三测试程序。
130.此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
131.参照图3,在硬件结构上所述电子设备可以包括通信模块10、存储器20以及处理器30等部件。在所述电子设备中,所述处理器30分别与所述存储器20以及所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行,所述计算机程序执行时实现上述方法实施例的步骤。
132.通信模块10,可通过网络与外部通讯设备连接。通信模块10可以接收外部通讯设备发出的请求,还可以发送请求、指令及信息至所述外部通讯设备,所述外部通讯设备可以是其它电子设备、服务器或者物联网设备,例如电视等等。
133.存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如获取待测框架代码)等;存储数据区可包括数据库,存储数据区可存储根据系统的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
134.处理器30,是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器30可包括一个或多个处理单元;可选地,处理器30可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器30中。
135.尽管图3未示出,但上述电子设备还可以包括电路控制模块,所述电路控制模块用于与电源连接,保证其他部件的正常工作。本领域技术人员可以理解,图3中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
136.本发明还提出一种计算机可读存储介质,其上存储有计算机程序。所述计算机可读存储介质可以是图3的电子设备中的存储器20,也可以是如rom(read-only memory,只读存储器)/ram(random access memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的终端设备(可以是电视,汽车,手机,计算机,服务器,终端,或者网络设备等)执行本发明各个实施例所述的方法。
137.在本发明中,术语“第一”“第二”“第三”“第四”“第五”仅用于描述的目的,而不能理解为指示或暗示相对重要性,对于本领域的普通技术人员而言,可以根据具体情况理解
上述术语在本发明中的具体含义。
138.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
139.尽管上面已经示出和描述了本发明的实施例,本发明保护的范围并不局限于此,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改和替换,这些变化、修改和替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种代码测试方法,其特征在于,所述代码测试方法包括:获取待测框架代码,确定所述待测框架代码的代码特征;根据所述代码特征生成测试程序;通过所述测试程序对所述待测框架代码进行测试操作。2.如权利要求1所述的代码测试方法,其特征在于,所述测试程序包括第一测试程序、第二测试程序以及第三测试程序,所述通过所述测试程序对所述待测框架代码进行测试操作的步骤包括:执行所述第一测试程序,以启动客户端,获取打印信息,根据所述打印信息得到第一结果;执行所述第二测试程序,以启动服务端,检测服务端是否接收到客户端发送的消息,得到第二结果;执行所述第三测试程序,以同时启动所述客户端与所述服务端,获取打印消息,并检测服务端是否接收到客户端发送的消息,得到第三结果;根据所述第一结果、第二结果、第三结果判断测试操作是否通过。3.如权利要求2所述的代码测试方法,其特征在于,所述根据所述第一结果、第二结果、第三结果判断测试操作是否通过的步骤包括:判断所述第一结果中打印信息的code是否为第一标识,所述第一标识指示所述客户端接收到所述服务端的消息;若所述第一结果中打印信息的code为第一标识,则判断所述第二结果中所述服务端是否接收到所述客户端发送的消息;若所述服务端未接收到所述客户端发送的消息,则判断所述第三结果中的打印信息的code是否为第二标识,且服务端是否完整接收到所述客户端发送的消息,所述第二标识指示客户端接收到服务端的消息;若所述第三结果中的打印信息的code为0,且服务端完整接收到所述客户端发送的消息,则测试操作通过。4.如权利要求1所述的代码测试方法,其特征在于,所述代码特征包括服务方法类型以及参数类型;所述根据所述代码特征生成测试程序的步骤包括:匹配与所述服务方法类型以及所述参数类型对应的代码模板;根据所述代码模板生成测试代码;对所述测试代码进行编译得到所述测试程序。5.如权利要求4所述的代码测试方法,其特征在于,所述对所述测试代码进行编译得到所述测试程序的步骤包括:获取所述测试代码中的客户端子代码以及服务端子代码;对所述客户端子代码以及所述服务端子代码进行编译,得到所述测试程序。6.如权利要求5所述的代码测试方法,其特征在于,在所述对所述客户端子代码以及所述服务端子代码进行编译之前包括步骤:在所述待测框架代码位置分别创建客户端文件夹以及服务端文件夹;将所述客户端子代码存放至所述客户端文件夹,并将所述服务端子代码存放至所述服务端文件夹。
7.如权利要求5所述的代码测试方法,其特征在于,所述对所述客户端子代码以及所述服务端子代码进行编译,得到所述测试程序的步骤包括:获取预设编译配置数据,并根据所述预设编译配置数据对编译流程文件进行修改;根据修改后的所述编译流程文件执行编译操作,得到第一测试程序、第二测试程序与第三测试程序。8.一种代码测试装置,其特征在于,所述代码测试装置包括:第一模块,用于获取待测框架代码,确定所述待测框架代码的代码特征;第二模块,用于根据所述代码特征生成测试程序;第三模块,用于通过所述测试程序对所述待测框架代码进行测试操作。9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的代码测试方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的代码测试方法的步骤。
技术总结
本申请涉及一种代码测试方法、装置、电子设备及可读存储介质,所述方法包括步骤:获取待测框架代码,确定所述待测框架代码的代码特征;根据所述代码特征生成测试程序;通过所述测试程序对所述待测框架代码进行测试操作。通过代码特征来自动生成待测框架代码对应的测试程序,使得无需测试人员手动编写测试程序,降低了对于测试人员的能力要求,同时提高了测试效率。试效率。试效率。
技术研发人员:杨闯 农光能 彭渝 谢东辰
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.05.30
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/