CN116541312A - 一种汽车软件持续集成测试方法及系统 - Google Patents

一种汽车软件持续集成测试方法及系统 Download PDF

Info

Publication number
CN116541312A
CN116541312A CN202310822237.7A CN202310822237A CN116541312A CN 116541312 A CN116541312 A CN 116541312A CN 202310822237 A CN202310822237 A CN 202310822237A CN 116541312 A CN116541312 A CN 116541312A
Authority
CN
China
Prior art keywords
test
task
node
testing
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310822237.7A
Other languages
English (en)
Other versions
CN116541312B (zh
Inventor
谢众玉
王功亮
刘西学
周幸
张武学
伊海霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GAC Aion New Energy Automobile Co Ltd
Original Assignee
GAC Aion New Energy Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GAC Aion New Energy Automobile Co Ltd filed Critical GAC Aion New Energy Automobile Co Ltd
Priority to CN202310822237.7A priority Critical patent/CN116541312B/zh
Publication of CN116541312A publication Critical patent/CN116541312A/zh
Application granted granted Critical
Publication of CN116541312B publication Critical patent/CN116541312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种汽车软件持续集成测试方法及系统,该方法中,在测试用例中新增测试状态变量,并在执行测试用例的过程中,新增测试节点在前处理阶段将测试状态变量设置为第一值,以及在后处理阶段将测试状态变量设置为第二值的步骤,这样,当测试节点在执行测试任务的过程中出现异常时,服务端下发断点续测任务,测试节点对测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务并进行测试。如此,通过测试状态变量,把测试任务中执行过的测试用例和未执行的测试用例区分开,形成测试中断位置,进而在出现异常的情况下,能够实现断点续测,从而有效减少测试资源的浪费,提升测试效率。

Description

一种汽车软件持续集成测试方法及系统
技术领域
本申请涉及汽车测试技术领域,具体而言,涉及一种汽车软件持续集成测试方法、系统、存储介质及设备。
背景技术
随着汽车技术的蓬勃发展,主机厂和汽车零部件供应商通常需要构建汽车软件持续集成测试系统,以适应当前汽车软件敏捷开发的趋势并保证软件质量。汽车软件持续集成测试系统一般由一台Jenkins服务器作为上位机和若干测试节点下位机构成。由于目前的测试系统中,Jenkins服务器只能获取到测试节点的状态,无法获取测试节点异常的细节,因此,当测试节点遇到异常终端问题或者人工中断测试时,只能停止测试或者由人工重新开始测试任务,之后重头开始再次执行设置好的测试任务。这样会造成测试资源的浪费。
发明内容
本申请的目的在于提供一种汽车软件持续集成测试方法及系统,旨在解决相关技术中的汽车软件持续集成测试系统存在的当测试节点遇到异常终端问题或者人工中断测试时,需要重头开始再次执行设置好的测试任务,造成测试资源的浪费的问题。
第一方面,本申请提供的一种汽车软件持续集成测试方法,包括:应用于持续集成系统,所述持续集成系统包括服务端和至少一个测试节点;所述方法包括:测试节点接收到服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,测试节点将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,测试节点将所述测试状态变量设置为第二值;服务端在检测到测试节点异常时,向出现异常的测试节点下发断点续测任务;测试节点根据所述断点续测任务,对所述测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
在上述实现过程中,在测试用例中新增测试状态变量,并在执行测试用例的过程中,新增测试节点在前处理阶段将测试状态变量设置为第一值,以及在后处理阶段将测试状态变量设置为第二值的步骤,这样,当测试节点在执行测试任务的过程中出现异常时,服务端下发断点续测任务,测试节点对测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务并进行测试。如此,通过测试状态变量,把测试任务中执行过的测试用例和未执行的测试用例区分开,形成测试中断位置,进而在出现异常的情况下,能够实现断点续测,从而有效减少测试资源的浪费,提升测试效率。
进一步地,在一些例子中,所述测试状态变量的初始值为第三值;所述方法还包括:在完成所述测试任务时,测试节点将所述测试任务中已执行的测试用例的测试状态变量均设置为第三值。
在上述实现过程中,测试节点在正常完成测试任务后,将该测试任务中执行过的测试用例的测试状态变量均设置为初始值,从而保障下一次测试任务的正常执行。
进一步地,在一些例子中,所述服务端在检测到测试节点异常时,向出现异常的测试节点下发断点续测任务,包括:服务端在检测到测试节点异常时,检测出现异常的测试节点是否正在执行指定任务;所述指定任务是优先级高于预设级别的任务;若检测结果为是,服务端在所述指定任务完成后,再将断点续测任务下发给对应测试节点。
在上述实现过程中,服务端检测到某个测试节点异常的情况下,为该测试节点创建断点续测任务,若该测试节点正在执行高优先级任务,则服务端自动将本次断点续测任务排队到高优先级任务之后,待高优先级任务完成后再下发给该测试节点,这样,区分人为/高优先级中断和异常中断进行相应的处理,提升处理的智能性。
进一步地,在一些例子中,所述测试节点根据所述断点续测任务,对所述测试工具进行重连,包括:测试节点在接收到所述断点续测任务后,断开所有测试工具的连接,清理系统缓存并释放内存后,重新连接所述测试工具;若所述测试工具连接异常,测试节点再次尝试连接所述测试工具。
在上述实现过程中,提供一种测试工具重连的具体方式,实现因运行太久缓存溢出导致异常终止测试时的自动化处理。
进一步地,在一些例子中,所述方法还包括:服务端获取测试节点对所述测试工具进行重连的结果;若所述结果指示重连失败,服务端向管理员发送指示断点续测任务失败的警示信息。
在上述实现过程中,服务端确认断点续测任务失败时,通知管理员及时处理,从而提高测试效率。
进一步地,在一些例子中,所述方法还包括:服务端检测到测试节点在执行所述新的测试任务的过程中出现异常时,确定当前时间距离目标时间的间隔;若所述间隔超过预设时间阈值,服务端再次下发断点续测任务;若所述间隔未超过预设时间阈值,服务端向管理员发送指示测试节点出现异常的警示信息。
在上述实现过程中,服务端检测到在断点续测任务中仍然出现异常终止测试的情况时,可以根据当前时间距离目标时间的剩余时间,判断是否需要再次执行断点续测工作,从而保证在中断后能尽可能多地执行测试任务,提高测试效率。
第二方面,本申请提供的一种汽车软件持续集成测试系统,包括服务端和至少一个测试节点;其中:所述服务端用于:向测试节点下发测试任务,以及在检测到测试节点异常时,向出现异常的测试节点下发断点续测任务;所述测试节点用于:接收到服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,测试节点将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,测试节点将所述测试状态变量设置为第二值;所述测试节点还用于:根据所述断点续测任务,对所述测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
第三方面,本申请提供的一种汽车软件持续集成测试方法,应用于持续集成系统中的测试节点,所述方法包括:接收到所述持续集成系统中的服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,将所述测试状态变量设置为第二值;当接收到服务端下发的断点续测任务时,对所述测试工具进行重连;所述断点续测任务是服务端在检测到测试节点异常时下发的;在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
第四方面,本申请提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第三方面所述的方法的步骤。
第五方面,本申请提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第三方面所述的方法。
第六方面,本申请提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第三方面所述的方法。
本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种汽车软件持续集成测试方法的流程图;
图2为本申请实施例提供的一种汽车软件持续集成测试系统的示意图;
图3为本申请实施例提供的一种应用于测试节点的汽车软件持续集成测试方法的流程图;
图4为本申请实施例提供的一种汽车软件持续集成测试断点续测的测试方案的处理流程的示意图;
图5为本申请实施例提供的一种汽车软件持续集成测试装置的框图;
图6为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如背景技术记载,相关技术中的汽车软件持续集成测试系统存在着当测试节点遇到异常终端问题或者人工中断测试时,需要重头开始再次执行设置好的测试任务。造成测试资源的浪费的问题。基于此,本申请实施例提供一种汽车软件持续集成测试方案,以解决上述问题。
接下来对本申请实施例进行介绍:
如图1所示,图1是本申请实施例提供的一种汽车软件持续集成测试方法的流程图,所述方法应用于持续集成系统,所述持续集成系统包括服务端和至少一个测试节点。这里的服务端可以是Jenkins服务器,而测试节点可以是MIL(Model-In-the-Loop,模型在环)测试台架,或者是HIL(Hardware-In-the-Loop)测试台架等。该MIL测试台架是指可用于进行MIL台架测试的测试设备,相应地,该HIL测试设备是指可用于进行HIL台架测试的测试设备。
所述方法包括:
在步骤101、测试节点接收到服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,测试节点将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,测试节点将所述测试状态变量设置为第二值;
在持续集成测试的流程中,一般由Jenkins服务器作为测试任务调度核心,测试节点执行测试任务。测试节点接收到Jenkins服务器的指令后,连接测试工具,拉取代码仓库中属于测试任务的多个测试用例到本地后进行测试,等到测试结束或者终止,测试节点反馈测试结果给Jenkins服务器,再等待下一个测试任务。
本实施例方案中,在测试用例中新增一个内部变量,即测试状态变量,并在执行测试用例的过程中,新增在前处理阶段将测试状态变量设置为第一值,以及在后处理阶段将测试状态变量设置为第二值的步骤。这样,测试节点可以根据测试状态变量,区分出执行过的测试用例和未执行的测试用例,便于后续的断点续测。
在一些实施例中,该测试状态变量的初始值为第三值;上述方法还包括:在完成测试任务时,测试节点将测试任务中已执行的测试用例的测试状态变量均设置为第三值。这里的第三值和前面提到的第一值、第二值均不同,也就是说,测试节点在正常完成测试任务后,将该测试任务中执行过的测试用例的测试状态变量均设置为初始值,从而保障下一次测试任务的正常执行。可选地,该第一值可以为1,第二值可以为2,第三值可以为0。当然,在其他实施例中,这三个值也可以根据具体场景的需求进行不同的设置。
在步骤102、服务端在检测到测试节点异常时,向出现异常的测试节点下发断点续测任务;
持续集成系统中,Jenkins服务器可以获取到各个测试节点的状态,因此,当服务端检测到某个测试节点在执行测试任务的过程中出现异常时,服务端向该测试节点下发断点续测任务,以使测试节点尝试从断点处继续测试任务,这样,相较于重头开始再次执行测试任务来说,可以有效减少测试资源的浪费。
在一些实施例中,本步骤可以包括:服务端在检测到测试节点异常时,检测出现异常的测试节点是否正在执行指定任务;所述指定任务是优先级高于预设级别的任务;若检测结果为是,服务端在所述指定任务完成后,再将断点续测任务下发给对应测试节点。也就是说,当服务端检测到某个测试节点异常时,为该测试节点创建断点续测任务,若该测试节点正在执行高优先级任务,则服务端自动将本次断点续测任务排队到高优先级任务之后,待高优先级任务完成后再下发给该测试节点,反之,若该测试节点无高优先级任务正在执行,则服务端直接将本次断点续测任务下发给该测试节点。如此,系统区分人为/高优先级中断和异常中断进行相应的处理,提升处理的智能性。
在步骤103、测试节点根据所述断点续测任务,对所述测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
本实施例方案中,从测试用例入手,通过测试状态变量,把测试任务中执行过的测试用例和未执行的测试用例区分开,从而形成一个测试中断位置,进而在测试节点出现异常时,可以基于该测试中断位置,对测试任务进行断点续测,从而提高测试效率,减少测试资源的浪费。
在一些实施例中,本步骤中提到的测试节点根据所述断点续测任务,对所述测试工具进行重连可以包括:测试节点在接收到所述断点续测任务后,断开所有测试工具的连接,清理系统缓存并释放内存后,重新连接所述测试工具;若所述测试工具连接异常,测试节点再次尝试连接所述测试工具。也就是说,在断点续测时,测试节点先断开所有测试工具的连接,再清理系统缓存,释放内存,然后进行测试工具重连,如果测试工具连接异常则再次进行尝试。如此,实现因运行太久缓存溢出导致异常终止测试时的自动化处理。其中,针对测试节点尝试重连测试工具的次数,可以预先设置一个次数阈值,当尝试次数超过该次数阈值时,测试节点不再尝试连接测试工具。如此,减少测试节点在应对无法恢复的异常时的资源浪费。
进一步地,在一些实施例中,上述方法还包括:服务端获取测试节点对所述测试工具进行重连的结果;若所述结果指示重连失败,服务端向管理员发送指示断点续测任务失败的警示信息。也就是说,在测试节点反馈测试工具重连失败,或者反馈超时的情况下,服务端确认断点续测任务失败,此时服务端可以通过加急邮件之类的形式,向管理员发送警示信息,以通知管理员及时处理,从而提高测试效率。
在测试工具重连成功后,测试节点将测试任务中测试状态变量不为第二值的测试用例打包成新的测试任务,并对其进行测试,也就是说,测试节点把之前没测试执行到的文件都筛选出来,做出一个新的Project(项目)进行测试,完成后再将所有的测试用例的测试状态变量设置为初始值,至此断点续测任务完成。
还有,在一些实施例中,上述方法还包括:服务端检测到测试节点在执行所述新的测试任务的过程中出现异常时,确定当前时间距离目标时间的间隔;若所述间隔超过预设时间阈值,服务端再次下发断点续测任务;若所述间隔未超过预设时间阈值,服务端向管理员发送指示测试节点出现异常的警示信息。这里的目标时间可以基于管理员的工作时间来进行设置,如该目标时间可以是最近工作日的上班时间点;而该预设时间阈值可以基于完成一次测试任务的平均时间来进行设置。这样,Jenkins服务器检测到在断点续测任务中仍然出现异常终止测试的情况时,可以根据当前时间距离目标时间的剩余时间,判断是否需要再次执行断点续测工作,如果该剩余时间超过预设时间阈值,则重新执行一次断点续测工作,如果该剩余时间不超过预设时间阈值,则终止该测试节点的所有测试,通过加急邮件之类的方式向管理员发送指示测试节点出现异常的警示信息,以提醒管理员及时进行处理。如此,保证在中断后能尽可能多地执行测试任务,提高测试效率。
本申请实施例,在测试用例中新增测试状态变量,并在执行测试用例的过程中,新增测试节点在前处理阶段将测试状态变量设置为第一值,以及在后处理阶段将测试状态变量设置为第二值的步骤,这样,当测试节点在执行测试任务的过程中出现异常时,服务端下发断点续测任务,测试节点对测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务并进行测试。如此,通过测试状态变量,把测试任务中执行过的测试用例和未执行的测试用例区分开,形成测试中断位置,进而在出现异常的情况下,能够实现断点续测,从而有效减少测试资源的浪费,提升测试效率。
如图2所示,图2是本申请实施例提供的一种汽车软件持续集成测试系统的示意图,所述汽车软件持续集成测试系统包括服务端21和至少一个测试节点22;其中:
所述服务端21用于:向测试节点22下发测试任务,以及在检测到测试节点22异常时,向出现异常的测试节点22下发断点续测任务;
所述测试节点22用于:接收到服务端21下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,测试节点22将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,测试节点22将所述测试状态变量设置为第二值;
所述测试节点22还用于:根据所述断点续测任务,对所述测试工具进行重连,在重连成功后,将所述测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
上述系统中服务端和测试节点的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
如图3所示,图3是本申请实施例提供的一种汽车软件持续集成测试方法的流程图,所述方法应用于持续集成系统中的测试节点,所述方法包括:
在步骤301、接收到所述持续集成系统中的服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,将所述测试状态变量设置为第二值;
在步骤302、当接收到服务端下发的断点续测任务时,对所述测试工具进行重连;所述断点续测任务是服务端在检测到测试节点异常时下发的;
在步骤303、在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
这一实施例是测试节点侧的处理流程,各个步骤的实现过程同样具体详见图1所示的方法实施例中对应步骤的实现过程,在此不再赘述。
为了对本申请的方案做更为详细的说明,接下来介绍一具体实施例:
目前的持续集成测试系统中,当测试节点遇到异常中断问题或者人工中断测试时,Jenkins服务端无法获取到测试节点异常的细节,测试节点中的汽车自动化测试软件也没有API(Application Programming Interface,应用程序编程接口)可提供测试中断位置的信息,因此只能重头开始再次执行设置好的测试任务,这样容易造成测试资源的浪费。基于此,本实施例提供一种汽车软件持续集成测试断点续测的测试方案,以解决这一问题。
该方案的断点续测处理流程如图4所示,该测试方案应用于持续集成系统,该持续集成系统包括服务端41和测试节点42,该服务端41是Jenkins服务器,该测试节点42由测试软件,如ECU-TEST软件,以及MIL或HIL测试台架构成。
该方案中,调用测试软件的API接口给所有项目所有功能的测试用例统一增加precondition测试步骤和postcondition测试步骤,以及一个内部变量teststatus,设置teststatus的初始值为0,该precondition测试步骤是将teststatus的值设置为1,该postcondition测试步骤是将teststatus的值设置为2。服务端41向测试节点42下发测试任务时,测试节点42连接相应的测试工具,拉取代码仓库中属于该测试任务的若干测试用例到本地进行测试,在正常完成测试任务后,测试节点42将测试任务中执行过的测试用例的teststatus设置为0。
该断点续测流程包括:
S401、服务端41检测到测试节点42在执行测试任务的过程中出现异常;
S402、服务端41向测试节点42下发断点续测任务;
S403、测试节点42通过预设脚本,断开所有测试工具的连接,清理系统缓存并释放内存后,进行测试工具重连;
S404、测试节点42确定是否重连成功,是则执行S405,否则执行S409;
S405、测试节点42扫描失败的测试任务中所包含的测试用例,将teststatus的值不为2的所有测试用例打包成一个新的本地测试任务;
S406、测试节点42执行本地测试任务中的测试用例;
S407、测试节点42确定该本地测试任务是否完成,是则执行S408,否则返回S406;
S408、测试节点42将所有的测试用例的teststatus设置为0;此外,测试节点42将测试结果反馈给服务端41,至此断点续测任务完成;
S409、测试节点42向服务端41反馈指示重连失败的信息;
S410、服务端41通过加急邮件的形式通知对应工程师处理。
本实施例方案中,从测试用例入手,不用保存测试现场,把本次测试过的测试用例和未测试的区分开,通过文件的区分自然形成一个测试中断位置,即使遇到极端的断电或者死机,也可以快速找到测试中断位置,从而实现在测试中断的地方再次启动测试,减少测试资源的浪费,有效提升了测试效率。
与前述方法的实施例相对应,本申请还提供汽车软件持续集成测试装置及其应用的终端的实施例:
如图5所示,图5是本申请实施例提供的一种汽车软件持续集成测试装置的框图,所述装置应用于持续集成系统中的测试节点,所述装置包括:
接收模块51,用于接收到所述持续集成系统中的服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,将测试状态变量设置为第二值;
重连模块52,用于当接收到服务端下发的断点续测任务时,对所述测试工具进行重连;所述断点续测任务是服务端在检测到测试节点异常时下发的;
测试模块53,用于在重连成功后,将所述测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请还提供一种电子设备,请参见图6,图6为本申请实施例提供的一种电子设备的结构框图。电子设备可以包括处理器610、通信接口620、存储器630和至少一个通信总线640。其中,通信总线640用于实现这些组件直接的连接通信。其中,本申请实施例中电子设备的通信接口620用于与其他节点设备进行信令或数据的通信。处理器610可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器610可以是通用处理器,包括中央处理器(CPU,CentralProcessingUnit)、网络处理器(NP,NetworkProcessor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器610也可以是任何常规的处理器等。
存储器630可以是,但不限于,随机存取存储器(RAM,RandomAccessMemory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM ,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM ,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM ,Electric Erasable Programmable Read-Only Memory)等。存储器630中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器610执行时,电子设备可以执行上述图1或图3方法实施例涉及的各个步骤。
可选地,电子设备还可以包括存储控制器、输入输出单元。
所述存储器630、存储控制器、处理器610、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线640实现电性连接。所述处理器610用于执行存储器630中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图6所示的结构仅为示意,所述电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种汽车软件持续集成测试方法,其特征在于,应用于持续集成系统,所述持续集成系统包括服务端和至少一个测试节点;所述方法包括:
测试节点接收到服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,测试节点将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,测试节点将所述测试状态变量设置为第二值;
服务端在检测到测试节点异常时,向出现异常的测试节点下发断点续测任务;
测试节点根据所述断点续测任务,对所述测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
2.根据权利要求1所述的方法,其特征在于,所述测试状态变量的初始值为第三值;所述方法还包括:
在完成所述测试任务时,测试节点将所述测试任务中已执行的测试用例的测试状态变量均设置为第三值。
3.根据权利要求1所述的方法,其特征在于,所述服务端在检测到测试节点异常时,向出现异常的测试节点下发断点续测任务,包括:
服务端在检测到测试节点异常时,检测出现异常的测试节点是否正在执行指定任务;所述指定任务是优先级高于预设级别的任务;
若检测结果为是,服务端在所述指定任务完成后,再将断点续测任务下发给对应测试节点。
4.根据权利要求1所述的方法,其特征在于,所述测试节点根据所述断点续测任务,对所述测试工具进行重连,包括:
测试节点在接收到所述断点续测任务后,断开所有测试工具的连接,清理系统缓存并释放内存后,重新连接所述测试工具;
若所述测试工具连接异常,测试节点再次尝试连接所述测试工具。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
服务端获取测试节点对所述测试工具进行重连的结果;
若所述结果指示重连失败,服务端向管理员发送指示断点续测任务失败的警示信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
服务端检测到测试节点在执行所述新的测试任务的过程中出现异常时,确定当前时间距离目标时间的间隔;
若所述间隔超过预设时间阈值,服务端再次下发断点续测任务;
若所述间隔未超过预设时间阈值,服务端向管理员发送指示测试节点出现异常的警示信息。
7.一种汽车软件持续集成测试系统,其特征在于,包括服务端和至少一个测试节点;其中:
所述服务端用于:向测试节点下发测试任务,以及在检测到测试节点异常时,向出现异常的测试节点下发断点续测任务;
所述测试节点用于:接收到服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,测试节点将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,测试节点将所述测试状态变量设置为第二值;
所述测试节点还用于:根据所述断点续测任务,对所述测试工具进行重连,在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
8.一种汽车软件持续集成测试方法,其特征在于,应用于持续集成系统中的测试节点,所述方法包括:
接收到所述持续集成系统中的服务端下发的测试任务后,通过测试工具获取所述测试任务对应的多个测试用例,并执行所述测试用例;所述测试用例的执行过程包括前处理阶段和后处理阶段,在所述前处理阶段,将当前的测试用例的测试状态变量设置为第一值,在所述后处理阶段,将所述测试状态变量设置为第二值;
当接收到服务端下发的断点续测任务时,对所述测试工具进行重连;所述断点续测任务是服务端在检测到测试节点异常时下发的;
在重连成功后,将测试状态变量不为第二值的测试用例打包成新的测试任务,并对所述新的测试任务进行测试。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求8所述的方法。
10.一种电子设备,其特征在于,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求8所述的方法。
CN202310822237.7A 2023-07-06 2023-07-06 一种汽车软件持续集成测试方法及系统 Active CN116541312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310822237.7A CN116541312B (zh) 2023-07-06 2023-07-06 一种汽车软件持续集成测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310822237.7A CN116541312B (zh) 2023-07-06 2023-07-06 一种汽车软件持续集成测试方法及系统

Publications (2)

Publication Number Publication Date
CN116541312A true CN116541312A (zh) 2023-08-04
CN116541312B CN116541312B (zh) 2023-09-22

Family

ID=87454619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310822237.7A Active CN116541312B (zh) 2023-07-06 2023-07-06 一种汽车软件持续集成测试方法及系统

Country Status (1)

Country Link
CN (1) CN116541312B (zh)

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082376B1 (en) * 2004-03-31 2006-07-25 Microsoft Corporation State full test method executor
US20070132477A1 (en) * 2005-07-06 2007-06-14 Optimal Test Ltd. System and methods for test time outlier detection and correction in integrated circuit testing
US20080098362A1 (en) * 2006-10-02 2008-04-24 Moore Richard J Software Testing Method
CN101551842A (zh) * 2009-05-05 2009-10-07 天津大学 一种基于模型驱动的安全测试方法
US20110282642A1 (en) * 2010-05-15 2011-11-17 Microsoft Corporation Network emulation in manual and automated testing tools
CN102781023A (zh) * 2012-07-27 2012-11-14 浙江宇脉科技有限公司 一种基于时间窗口的网络优化方法
CN103441900A (zh) * 2013-08-27 2013-12-11 上海新炬网络技术有限公司 集中式跨平台自动化测试系统及其控制方法
CN103744775A (zh) * 2012-08-13 2014-04-23 德克萨斯仪器股份有限公司 测试用例崩溃恢复
US20150113331A1 (en) * 2013-10-17 2015-04-23 Wipro Limited Systems and methods for improved software testing project execution
US20150255116A1 (en) * 2014-03-10 2015-09-10 International Business Machines Corporation Computer node testing
WO2016177124A1 (zh) * 2015-07-29 2016-11-10 中兴通讯股份有限公司 一种实现持续集成测试的方法及装置
US9542301B1 (en) * 2015-09-28 2017-01-10 International Business Machines Corporation Testing code response to injected processing errors
CN107291610A (zh) * 2016-04-12 2017-10-24 展讯通信(上海)有限公司 测试用例管理方法及装置
CN107577591A (zh) * 2016-07-05 2018-01-12 中兴通讯股份有限公司 一种自动化测试异常保护的方法、装置及系统
CN107704392A (zh) * 2017-09-30 2018-02-16 华为技术有限公司 一种测试用例的处理方法及服务器
CN107861864A (zh) * 2017-08-25 2018-03-30 平安普惠企业管理有限公司 自动化测试方法、系统及计算机可读存储介质
CN108494602A (zh) * 2018-04-08 2018-09-04 上海鸿洛通信电子有限公司 Ota参数的调整方法、装置及智能终端
CN108628730A (zh) * 2017-03-15 2018-10-09 阿里巴巴集团控股有限公司 软件测试方法、装置和系统以及电子设备
CN108959057A (zh) * 2017-05-18 2018-12-07 腾讯科技(深圳)有限公司 测试方法、测试装置、存储设备及网络设备
CN111398611A (zh) * 2019-01-03 2020-07-10 深圳迈瑞生物医疗电子股份有限公司 样本检测时间预估方法、装置、样本分析仪及存储介质
CN113326209A (zh) * 2021-08-03 2021-08-31 航天中认软件测评科技(北京)有限责任公司 面向大规模并行测试任务的分层分段的监控和干预方法
WO2021248754A1 (zh) * 2020-06-09 2021-12-16 北京旷视科技有限公司 一种系统测试方法、装置、存储介质及电子设备
CN113900952A (zh) * 2021-10-28 2022-01-07 厦门亿联网络技术股份有限公司 测试用例执行方法、装置、终端设备和可读存储介质
CN114020432A (zh) * 2021-11-05 2022-02-08 杭州海康威视数字技术股份有限公司 任务异常处理方法、装置及任务异常处理系统
CN114385496A (zh) * 2022-01-10 2022-04-22 Tcl通讯科技(成都)有限公司 测试方法、装置、电子设备及计算机可读存储介质
CN115221041A (zh) * 2022-06-09 2022-10-21 广州汽车集团股份有限公司 多设备的测试方法、装置、电子设备及存储介质
CN115454860A (zh) * 2022-09-19 2022-12-09 北京天融信网络安全技术有限公司 一种自动化测试的方法、装置、存储介质及电子设备
CN115470095A (zh) * 2021-06-11 2022-12-13 京东科技控股股份有限公司 一种测试方法、系统、电子设备及计算机存储介质
CN115756978A (zh) * 2022-11-15 2023-03-07 苏州浪潮智能科技有限公司 一种机柜测试方法、装置、电子设备及存储介质
CN116230067A (zh) * 2023-02-24 2023-06-06 山东云海国创云计算装备产业创新中心有限公司 一种固态硬盘自动化测试方法、系统、设备及介质

Patent Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082376B1 (en) * 2004-03-31 2006-07-25 Microsoft Corporation State full test method executor
US20070132477A1 (en) * 2005-07-06 2007-06-14 Optimal Test Ltd. System and methods for test time outlier detection and correction in integrated circuit testing
US20080098362A1 (en) * 2006-10-02 2008-04-24 Moore Richard J Software Testing Method
CN101551842A (zh) * 2009-05-05 2009-10-07 天津大学 一种基于模型驱动的安全测试方法
US20110282642A1 (en) * 2010-05-15 2011-11-17 Microsoft Corporation Network emulation in manual and automated testing tools
CN102781023A (zh) * 2012-07-27 2012-11-14 浙江宇脉科技有限公司 一种基于时间窗口的网络优化方法
CN103744775A (zh) * 2012-08-13 2014-04-23 德克萨斯仪器股份有限公司 测试用例崩溃恢复
CN103441900A (zh) * 2013-08-27 2013-12-11 上海新炬网络技术有限公司 集中式跨平台自动化测试系统及其控制方法
US20150113331A1 (en) * 2013-10-17 2015-04-23 Wipro Limited Systems and methods for improved software testing project execution
US20150255116A1 (en) * 2014-03-10 2015-09-10 International Business Machines Corporation Computer node testing
WO2016177124A1 (zh) * 2015-07-29 2016-11-10 中兴通讯股份有限公司 一种实现持续集成测试的方法及装置
US9542301B1 (en) * 2015-09-28 2017-01-10 International Business Machines Corporation Testing code response to injected processing errors
CN107291610A (zh) * 2016-04-12 2017-10-24 展讯通信(上海)有限公司 测试用例管理方法及装置
CN107577591A (zh) * 2016-07-05 2018-01-12 中兴通讯股份有限公司 一种自动化测试异常保护的方法、装置及系统
CN108628730A (zh) * 2017-03-15 2018-10-09 阿里巴巴集团控股有限公司 软件测试方法、装置和系统以及电子设备
CN108959057A (zh) * 2017-05-18 2018-12-07 腾讯科技(深圳)有限公司 测试方法、测试装置、存储设备及网络设备
CN107861864A (zh) * 2017-08-25 2018-03-30 平安普惠企业管理有限公司 自动化测试方法、系统及计算机可读存储介质
CN107704392A (zh) * 2017-09-30 2018-02-16 华为技术有限公司 一种测试用例的处理方法及服务器
CN108494602A (zh) * 2018-04-08 2018-09-04 上海鸿洛通信电子有限公司 Ota参数的调整方法、装置及智能终端
CN111398611A (zh) * 2019-01-03 2020-07-10 深圳迈瑞生物医疗电子股份有限公司 样本检测时间预估方法、装置、样本分析仪及存储介质
WO2021248754A1 (zh) * 2020-06-09 2021-12-16 北京旷视科技有限公司 一种系统测试方法、装置、存储介质及电子设备
CN115470095A (zh) * 2021-06-11 2022-12-13 京东科技控股股份有限公司 一种测试方法、系统、电子设备及计算机存储介质
CN113326209A (zh) * 2021-08-03 2021-08-31 航天中认软件测评科技(北京)有限责任公司 面向大规模并行测试任务的分层分段的监控和干预方法
CN113900952A (zh) * 2021-10-28 2022-01-07 厦门亿联网络技术股份有限公司 测试用例执行方法、装置、终端设备和可读存储介质
CN114020432A (zh) * 2021-11-05 2022-02-08 杭州海康威视数字技术股份有限公司 任务异常处理方法、装置及任务异常处理系统
CN114385496A (zh) * 2022-01-10 2022-04-22 Tcl通讯科技(成都)有限公司 测试方法、装置、电子设备及计算机可读存储介质
CN115221041A (zh) * 2022-06-09 2022-10-21 广州汽车集团股份有限公司 多设备的测试方法、装置、电子设备及存储介质
CN115454860A (zh) * 2022-09-19 2022-12-09 北京天融信网络安全技术有限公司 一种自动化测试的方法、装置、存储介质及电子设备
CN115756978A (zh) * 2022-11-15 2023-03-07 苏州浪潮智能科技有限公司 一种机柜测试方法、装置、电子设备及存储介质
CN116230067A (zh) * 2023-02-24 2023-06-06 山东云海国创云计算装备产业创新中心有限公司 一种固态硬盘自动化测试方法、系统、设备及介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
姜文;刘立康;: "基于持续集成的冒烟测试", 计算机技术与发展, no. 08 *
张兴;冯超;雷菁;唐朝京;: "一种面向模糊测试的GUI程序空转状态实时检测方法", 软件学报, no. 05 *
邓青华;: "软件自动化测试工具研究", 软件导刊, no. 01 *

Also Published As

Publication number Publication date
CN116541312B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
CN109218407B (zh) 基于日志监控技术的代码管控方法及终端设备
CN109766197B (zh) 一种基于Android系统的4G模块稳定工作方法
CN107577527B (zh) 任务生成、调度方法及装置
WO2019034095A1 (zh) 软件处理方法、装置、电子设备及计算机可读存储介质
CN112565348A (zh) 一种智能设备测试方法、系统、计算机设备及存储介质
KR102705465B1 (ko) 이상 처리 방법, 단말 기기 및 저장 매체
CN110618853B (zh) 一种僵尸容器的检测方法、装置及设备
CN116541312B (zh) 一种汽车软件持续集成测试方法及系统
CN107025129B (zh) 一种数据处理方法以及装置
CN111181777B (zh) 一种服务降级的方法、装置、计算机设备及存储介质
CN111880992B (zh) 一种存储设备中控制器状态的监测及维护方法
CA2365427A1 (en) Internal product fault monitoring apparatus and method
CN117055533A (zh) 一种车载系统故障处理方法、装置、设备及介质
CN107273291B (zh) 一种处理器调试方法及系统
CN113886122B (zh) 一种系统运行异常处理方法、装置、设备及存储介质
CN111880958A (zh) 零终端自检方法及装置
CN114374627A (zh) 基板管理控制器重启的方法、装置、系统及服务器
CN112052024A (zh) 一种兆芯服务器bios的升级方法、装置、设备及介质
CN105677515A (zh) 一种数据库联机备份方法及系统
CN118819033A (zh) 一种域控制器心跳输出方法、域控制器及车载终端
CN105160259B (zh) 一种基于模糊测试的虚拟化漏洞发掘系统和方法
CN118295854B (zh) 一种系统恢复方法、装置、设备及介质
CN116016128A (zh) 网关设备的进程管理方法、装置、电子设备和存储介质
CN111026668B (zh) 测试用例的重试方法、测试用例的重试装置及存储介质
CN116016136A (zh) 一种主备切换方法、装置、存储介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant