CN115168232A - 一种基于autosar平台的测试方法、装置、电子设备及存储介质 - Google Patents
一种基于autosar平台的测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115168232A CN115168232A CN202210898800.4A CN202210898800A CN115168232A CN 115168232 A CN115168232 A CN 115168232A CN 202210898800 A CN202210898800 A CN 202210898800A CN 115168232 A CN115168232 A CN 115168232A
- Authority
- CN
- China
- Prior art keywords
- test
- configuration
- code
- description information
- function description
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种基于AUTOSAR平台的测试方法,上述方法包括:获取测试文本,测试文本包括至少一个断言和至少一个功能描述信息,断言用于指示对应于断言的功能描述信息的预测执行结果;确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能;基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中;基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果。本公开可以通过自动化集成环境调度工具和测试环境脚本,自动执行目标代码得到测试结果。
Description
技术领域
本发明涉及汽车电子集成测试技术领域,特别涉及一种基于AUTOSAR平台的测试方法、装置、电子设备及存储介质。
背景技术
AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)是由全球各家汽车制造商、零部件供应商以及各种研究、服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的车辆电子控制单元(ECU)标准软件架构。基于AUTOSAR平台的基础软件开发,涉及众多的软件功能需求和标准定义,在集成测试过程中,由于测试用例数巨大,导致测试量成倍数增加,从而导致手动执行集成测试将变得比较困难且效率低下,且开发过程中,问题频发。如何快速的回归测试,如何让大量的测试用例采用自动化方式执行测试,并迅速定位到问题点,是急待解决的技术问题。
发明内容
为了解决上述提出的至少一个技术问题,本公开提出了一种基于AUTOSAR平台的测试方法、装置、电子设备及存储介质。
一方面,本公开提供了一种基于AUTOSAR平台的测试方法,上述方法包括:
获取测试文本,测试文本包括至少一个断言和至少一个功能描述信息,断言用于指示对应于断言的功能描述信息的预测执行结果;
确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能;
基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中;
基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果。
在一个可选的实施例中,根据目标代码生成可执行文件,包括:
根据目标代码和测试文本集成测试工程,测试工程能够通过编译执行;
编译测试工程,生成可执行文件。
在一个可选的实施例中,确定与测试文本对应的目标代码,包括:
根据测试文本生成配置文件和静态代码,配置文件表征车辆电子控制单元的配置信息,静态代码用于确定各功能描述信息的实现方式;
根据配置文件和静态代码,得到目标代码。
在一个可选的实施例中,根据配置文件和静态代码,得到目标代码,包括:
通过配置工具,得到与配置文件对应的配置代码;
根据配置代码和静态代码,确定目标代码。
在一个可选的实施例中,通过配置工具,得到与配置文件对应的配置代码,包括:
确定配置工具的配置项;
响应于配置项配置完备的情况,生成配置代码。
在一个可选的实施例中,基于测试环境脚本,自动运行目标单片机,得到测试结果,包括:
基于测试环境脚本,模拟目标单片机运行所需的测试环境;
基于测试环境,自动运行目标单片机,得到测试结果。
第二方面,本发明还提供了一种基于AUTOSAR平台的测试装置,包括:
获取模块,用于获取测试文本,测试文本包括至少一个断言和至少一个功能描述信息,断言用于指示对应于断言的功能描述信息的预测执行结果;
目标代码确定模块,用于确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能;
可执行文件生成模块,用于基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中;
测试模块,用于基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果。
第三方面,本发明还提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器用于执行指令,以实现上述基于AUTOSAR平台的测试方法。
第四方面,本发明还提供了一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述基于AUTOSAR平台的测试。
第五方面,本发明还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从可读存储介质读取并执行计算机程序,使得设备执行上述基于AUTOSAR平台的测试方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
实施本公开,具有以下有益效果:
获取测试文本,测试文本包括至少一个断言和至少一个功能描述信息,断言用于指示对应于断言的功能描述信息的预测执行结果;确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能;基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中;基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果。
本申请通过确定与测试文本对应的目标代码,能够实现对测试文本中的各功能描述信息所指示的功能,通过自动化集成调度工具,自动根据目标代码生成可执行文件,并通过测试环境文本的编写,自动运行携带有可执行文件的目标单片机,将目标代码的生成和执行过程通过自动化的方式实现,节省了目标代码生成和执行过程中大量人力的付出;通过将测试结果中至少一个功能描述信息对应的预测执行结果和实际执行结果相比对,若实际执行结果和预测执行结果不符,则能够快速确定生成的目标代码出现错误,有效提高了AUTOSAR平台测试的效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的实施环境示意图;
图2是根据一示例性实施例示出的一种基于AUTOSAR平台的测试方法的流程图;
图3是根据一示例性实施例示出的一种确定目标代码的流程图;
图4是根据一示例性实施例示出的一种根据配置文件和静态代码得到目标代码的流程图;
图5是根据一示例性实施例示出的一种通过配置工具得到与配置文件对应的配置代码的流程图;
图6是根据一示例性实施例示出的一种根据目标代码生成可执行文件的流程图;
图7是根据一示例性实施例示出的一种功能描述信息示意图;
图8是根据一示例性实施例示出的一种基于AUTOSAR平台的测试装置框图;
图9是根据一示例性实施例示出的一种用于基于AUTOSAR平台的测试的电子设备的框图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
相关技术中,基于AUTOSAR平台的集成测试采用的测试文本用例巨大,大都通过手动执行集成测试,这一过程效率低下,回归测试进展缓慢,使得出现问题时,技术人员不能够迅速定位到问题点。
为了实现快速的回归测试,让大量的测试文本用例采用自动化方式执行测试,使技术人员迅速定位到问题点,本公开实施例提供一种基于AUTOSAR平台的测试方法。
请参阅图1,图1是根据一示例性实施例示出的一种应用环境的示意图,如图1所示,该应用环境可以包括服务器01和终端02。
在一个可选的实施例中,服务器01可以用于基于AUTOSAR平台的测试方法进行计算处理。具体的,服务器01可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一个可选的实施例中,终端02可以结合服务器01的基于AUTOSAR平台的测试方法进行计算处理。具体的,终端02可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、智能可穿戴设备等类型的电子设备。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、Linux系统、Windows系统、Unix系统等。
例如,在终端02上输入测试文本,服务器01获取终端02上的测试文本;之后,确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能;基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中;基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果;最后将测试结果传输到终端02上。
此外,需要说明的是,图1所示的仅仅是本公开提供的一种应用环境,在实际应用中,还可以包括其他应用环境。
本说明书实施例中,上述服务器01以及终端02可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。
图2是根据一示例性实施例示出的一种基于AUTOSAR平台的测试方法的流程图,如图2所示,基于AUTOSAR平台的测试方法,包括以下:
步骤S201:获取测试文本,测试文本包括至少一个断言和至少一个功能描述信息,断言用于指示对应于断言的功能描述信息的预测执行结果。
本公开实施例中,获取测试文本的方式可以是基于软件的使用需求编写测试文本,编写的测试文本满足AUTOSAR平台设计规范。测试文本包括至少一个断言和至少一个功能描述信息,测试文本中针对每个功能描述信息进行测试代码的编写,通过编号区别各功能描述信息,并添加相应的断言,断言用于指示对应于断言的功能描述信息的预测执行结果。通过断言将预测执行结果与相应的功能描述信息的编号对应,以便于迅速定位出现问题的地方。
步骤S202:确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能。
本公开实施例中,目标代码由两部分组成,一部分为基于AUTOSAR规范开发而成的静态代码,另外一部分是由配置工具,如工具链,通过人机交互界面配置开发出的配置代码。图3是根据一示例性实施例示出的一种确定目标代码的流程图,如图3所示,确定与测试文本对应的目标代码,包括以下:
步骤S2021:根据测试文本生成配置文件和静态代码,配置文件表征车辆电子控制单元的配置信息,静态代码用于确定各功能描述信息的实现方式。
本公开实施例中,测试文本中包含至少一个功能描述信息,实现至少一个功能描述信息需要明确与至少一个功能描述信息对应的车辆电子控制单元的配置信息以及各功能描述信息的实现方式,AUTOSAR平台能够根据测试文本生成一个后缀名为.arxml的配置文件,该配置文件中包含车辆电子控制单元的配置信息,配置信息由主机厂或零部件供应商对车辆电子控制单元基础软件的设计需求确定。静态代码用于明确各功能描述信息所指示的功能的实现方式,如:逻辑算法的处理以及状态机的维持或跳转等,AUTOSAR架构下的静态代码是不可变的代码。
步骤S2022:根据配置文件和静态代码,得到目标代码。
基于上述可知,本公开实施例通过根据测试文本生成配置文件和静态代码,能够确定车辆电子控制单元的配置信息,并确定各功能描述信息的实现方式,为目标代码的生成打下基础;通过配置文件和静态代码得到的目标代码,能够满足主机厂或零部件供应商对车辆电子控制单元基础软件的设计需求,并限定功能的实现方式。
图4是根据一示例性实施例示出的一种根据配置文件和静态代码得到目标代码的流程图,如图4所示,根据配置文件和静态代码,得到目标代码,包括以下:
步骤S401:通过配置工具,得到与配置文件对应的配置代码。
图5是根据一示例性实施例示出的一种通过配置工具得到与配置文件对应的配置代码的流程图,如图5所示,通过配置工具,得到与配置文件对应的配置代码,包括以下:
步骤S4011:确定配置工具的配置项。
本公开实施例中,配置工具为AUTOSAR平台自带的工具链,工具链能够通过人机交互界面开发出的配置代码。在工具链自动开发出配置代码前,需要明确开发配置代码所需的配置项,配置项限定了静态代码指示的功能实现方式的具体参数。将配置文件导入工具链,并在工具链的配置项配置完成后,生成配置代码。配置项根据对车辆电子控制单元的需求而定,部分配置项通过工具链自动配置完成,部分配置项则需要手动配置。对于自动配置有误的配置项,也能够通过手动配置进行更改。可选的,自动配置的配置项包括CAN节点信息,信号,报文,CAN通信帧ID等,手动配置的配置项包括调整数据类型,数据与信号之间的数据映射等。
步骤S4012:响应于配置项配置完备的情况,生成配置代码。
本公开实施例中,在配置工具的配置项完全配置完备的情况下,配置工具能够根据导入的配置文件生成相应的配置代码。配置代码为一种可变的动态代码,用于实现对车辆电子控制单元的配置需求。
基于上述可知,本公开实施例通过将配置文件导入配置工具,能够自动确定配置工具的部分配置项,节省大量配置时间,通过部分配置项的手动配置能够将自动配置项中配置错误及不能自动配置的配置项配置完成,弥补自动配置漏洞;通过在配置工具的配置项完全配置完备的情况下生成的配置代码,能够满足对车辆电子控制单元的配置需求。
步骤S402:根据配置代码和静态代码,确定目标代码。
本公开实施例中,通过将配置工具生成的配置代码和静态代码相结合,得到目标代码。
基于上述可知,本公开实施例通过对配置工具的配置设置,能够自动得到与配置文件对应的配置代码,节省了代码编写过程中所需的大量时间,提高了测试效率;通过配置代码和静态代码确定出的目标代码,也能够满足对功能的实现方式和对车辆电子控制单元的配置需求。
步骤S203:基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中。
本公开实施例中,自动化集成环境调度工具为Jenkins调度,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。本公开实施例中所包含的步骤均在Jenkins调度下进行流水线运行。图6是根据一示例性实施例示出的一种根据目标代码生成可执行文件的流程图,如图6所示,根据目标代码生成可执行文件,包括以下:
步骤S2031:根据目标代码和测试文本集成测试工程,测试工程能够通过编译执行。
本公开实施例中,将测试文本和目标代码集合在同一工程下,形成为一个测试工程,该测试工程能够通过编译执行。
步骤S2032:编译测试工程,生成可执行文件。
本公开实施例中,对经上述步骤形成的测试工程进行编译,得到一个后缀名为.elf的可执行文件,该文件用于在单片机中执行,实现功能描述信息所指示的功能。
基于上述可知,本公开实施例通过将目标代码和测试文本结合,实现了目标代码和测试文本的集成测试,完成了可编译测试工程的建立,通过编译测试工程,实现测试工程的实施,完成了目标代码的初步执行,得到了与目标代码对应的可执行文件,为目标代码的后续执行奠定基础。
步骤S204:基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果。
本公开实施例中,基于测试环境脚本,自动运行目标单片机,得到测试结果,包括以下:
步骤S2041:基于测试环境脚本,模拟目标单片机运行所需的测试环境。
本公开实施例中,测试环境脚本可以是编写出的CANOE CAPL脚本,通过对CANOECAPL脚本进行运行,能够模拟出目标单片机运行所需的信号,并接受目标单片机发送的信号,还能对接受到的信号做出判断,发出与该信号对应的反馈信号,为目标单片机运行创造测试环境。
步骤S2042:基于测试环境,自动运行目标单片机,得到测试结果。
本公开实施例中,通过模拟出的测试环境,能够自动运行目标单片机,并得到测试结果。可选的,目标单片机的型号可以是MCU TC297,将可执行文件烧录至MCU TC297单片机运行,得到测试结果。可选的,本公开实施例可以通过断言打印出测试结果,通过测试结果中功能描述信息的标号、对应的预测执行结果和实际执行结果的绑定打印,能够快速对结果进行比对。
可选的,若实际执行结果与预测执行结果不符,则能够确定与该实际执行结果对应的目标代码出现错误。锁定出错误的目标代码后,通过检查该错误目标代码是否符合平台规范定义要求,或者与该错误目标代码对应的配置工具的配置项是否配置正确,能够确定产生该错误目标代码的原因,此过程中能够避免对与该错误目标代码无关的代码或配置项进行检查,进一步节省了排查问题点所需的时间,提高了测试效率。
基于上述可知,本公开实施例通过编写测试环境脚本,能够模拟出目标单片机运行所需的信号,并对目标单片机反馈的信号进行处理判断,进而模拟出目标单片机自动化运行所需的环境,实现目标单片机的自动化运行;在此基础上,通过打印目标单片机运行的测试结果,能够快速的将预测执行结果与实际执行结果进行比对,锁定出错位置,快速确定出错的目标代码,节省了大量的查找问题点所需的时间。
上述实施例中,本公开通过根据测试文本生成配置文件和静态代码,能够确定车辆电子控制单元的配置信息及各功能描述信息的实现方式,为目标代码的生成打下基础;通过配置文件和静态代码得到的目标代码,能够满足主机厂或零部件供应商对车辆电子控制单元基础软件的设计需求,并限定功能的实现方式;通过对配置工具的配置设置,能够自动得到与配置文件对应的配置代码,节省了代码编写过程中所需的大量时间;通过将目标代码和测试文本结合,完成了可编译测试工程的建立,通过编译测试工程,完成了目标代码的初步执行,得到了与目标代码对应的可执行文件,为目标代码的后续执行奠定基础;通过编写测试环境脚本,能够模拟出目标单片机自动化运行所需的环境,实现目标单片机的自动化运行;在此基础上,通过打印目标单片机运行的测试结果,能够快速的将预测执行结果与实际执行结果进行比对,锁定出错位置,进而快速确定出错的目标代码。
在一个具体的实施方式中,本申请实施例中的技术方案实施过程如下:
获取测试文本,测试文本包括至少一个断言和至少一个功能描述信息,断言用于指示对应于断言的功能描述信息的预测执行结果。
上述实施过程包括:获取测试文本的方式可以是基于软件的使用需求编写测试文本,编写的测试文本满足AUTOSAR平台设计规范。测试文本包括至少一个断言和至少一个功能描述信息,测试文本中针对每个功能描述信息进行测试代码的编写,通过编号区别各功能描述信息。如图7所示,是根据一示例性实施例示出的一种功能描述信息示意图,AUTOSAR规范中会以SWS编号的形式定义组件所需要实现的各个功能描述信息,以CAN通信协议为例,图中标号“CanTp_00168”、“CanTp_00169”、“CanTp_00170”及“CanTp_00238”下分别定义了4个不同的功能描述信息,其中,编号“CanTp_00168”定义的功能为:通电后,CanTp模块应处于CanTp_off状态。测试文本还添加相应的断言和预测执行结果,断言用于指示对应于断言的功能描述信息的预测执行结果。通过断言将预测执行结果与相应的功能描述信息的编号对应,以便于迅速定位出现问题的地方。
确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能。
目标代码由两部分组成,一部分为基于AUTOSAR规范开发而成的静态代码,另外一部分是由配置工具,如工具链,通过人机交互界面配置开发出的配置代码。上述实施过程包括:
根据测试文本生成配置文件和静态代码,配置文件表征车辆电子控制单元的配置信息,静态代码用于确定各功能描述信息的实现方式。
上述实施过程包括:测试文本中包含至少一个功能描述信息,实现至少一个功能描述信息需要明确与至少一个功能描述信息对应的车辆电子控制单元的配置信息以及各功能描述信息的实现方式,AUTOSAR平台能够根据测试文本生成一个后缀名为.arxml的配置文件,如:DBC.arxml。该配置文件中包含车辆电子控制单元的配置信息,配置信息由主机厂或零部件供应商对车辆电子控制单元基础软件的设计需求确定。静态代码用于明确各功能描述信息所指示的功能的实现方式,包括逻辑算法的处理以及状态机的维持或跳转等,AUTOSAR架构下的静态代码是不可变的代码。
基于上述可知,本公开实施例通过根据测试文本生成配置文件和静态代码,能够确定车辆电子控制单元的配置信息,并确定各功能描述信息的实现方式,为目标代码的生成打下基础;通过配置文件和静态代码得到的目标代码,能够满足主机厂或零部件供应商对车辆电子控制单元基础软件的设计需求,并限定功能的实现方式。
根据配置文件和静态代码,得到目标代码。
上述实施过程包括以下:
通过配置工具,得到与配置文件对应的配置代码。
上述实施过程包括以下:
确定配置工具的配置项。
上述实施过程包括以下:配置工具为AUTOSAR平台自带的工具链,工具链能够通过人机交互界面开发出的配置代码。在工具链自动开发出配置代码前,需要明确开发配置代码所需的配置项,配置项限定了静态代码指示的功能实现方式的具体参数。将配置文件导入工具链,并在工具链配置项配置完成后,生成配置代码。配置项根据对车辆电子控制单元的需求而定,部分配置项通过工具链自动配置完成,部分配置项则需要手动配置。以CAN通信协议为例,自动配置的配置项包括CAN节点信息,信号,报文,CAN通信帧ID等,手动配置的配置项包括调整数据类型,数据与信号之间的数据映射等。
响应于配置项配置完备的情况,生成配置代码。
上述实施过程包括以下:在配置工具的配置项完全配置完备的情况下,配置工具能够根据导入的配置文件生成相应的配置代码。配置代码为一种可变的动态代码,用于实现对车辆电子控制单元的配置需求。
基于上述可知,本公开实施例通过将配置文件导入配置工具,能够自动确定配置工具的部分配置项,节省大量配置时间,通过部分配置项的手动配置能够将自动配置项中配置错误及不能自动配置的配置项配置完成,弥补自动配置漏洞;通过在配置工具的配置项完全配置完备的情况下生成的配置代码,能够满足对车辆电子控制单元的配置需求。
根据配置代码和静态代码,确定目标代码。
上述实施过程包括以下:通过将配置工具生成的配置代码和静态代码相结合,得到目标代码。
基于上述可知,本公开实施例通过对配置工具的配置设置,能够自动得到与配置文件对应的配置代码,节省了代码编写过程中所需的大量时间,提高了测试效率;通过配置代码和静态代码确定出的目标代码,也能够满足对功能的实现方式和对车辆电子控制单元的配置需求。
基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中。
自动化集成环境调度工具为Jenkins调度,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。本公开实施例中所包含的步骤均在Jenkins调度下进行流水线运行。上述实施过程包括以下:
根据目标代码和测试文本集成测试工程,测试工程能够通过编译执行。
上述实施过程包括以下:将测试文本和目标代码集合在同一工程下,形成为一个测试工程,该测试工程能够通过编译执行。
编译测试工程,生成可执行文件。
上述实施过程包括以下:对经上述步骤形成的测试工程进行编译,得到一个后缀名为.elf的可执行文件,该文件用于在单片机中执行,实现功能描述信息所指示的功能。
基于上述可知,本公开实施例通过将目标代码和测试文本结合,实现了目标代码和测试文本的集成测试,完成了可编译测试工程的建立,通过编译测试工程,实现测试工程的实施,完成了目标代码的初步执行,得到了与目标代码对应的可执行文件,为目标代码的后续执行奠定基础。
基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果。
上述实施过程包括以下:基于测试环境脚本,自动运行目标单片机,得到测试结果,包括以下:
基于测试环境脚本,模拟目标单片机运行所需的测试环境。
上述实施过程包括以下:测试环境脚本可以是编写出的CANOE CAPL脚本,通过对CANOE CAPL脚本进行运行,能够模拟出目标单片机运行所需的信号,并接受目标单片机发送的信号,还能对接受到的信号做出判断,发出与该信号对应的反馈信号,为目标单片机运行创造测试环境。
基于测试环境,自动运行目标单片机,得到测试结果。
上述实施过程包括以下:通过模拟出的测试环境,能够自动运行目标单片机,并得到测试结果。可选的,目标单片机的型号可以是MCU TC297,将可执行文件烧录至MCU TC297单片机运行,得到测试结果。可选的,得到的测试结果可以是通过断言打印出的,通过测试结果中功能描述信息的标号、对应的预测执行结果和实际执行结果的绑定打印,能够快速对结果进行比对,锁定出错位置。若实际执行结果与预测执行结果不符,则能够确定与该实际执行结果对应的目标代码出现错误。锁定出错误的目标代码后,通过检查该错误目标代码是否符合平台规范定义要求,或者与该错误目标代码对应的配置工具的配置项是否配置正确,能够确定产生该错误目标代码的原因,此过程中能够避免对与该错误目标代码无关的代码或配置项进行检查,进一步节省了排查问题点所需的时间,提高了测试效率。
基于上述可知,本公开实施例通过编写测试环境脚本,能够模拟出目标单片机运行所需的信号,并对目标单片机反馈的信号进行处理判断,进而模拟出目标单片机自动化运行所需的环境,实现目标单片机的自动化运行;在此基础上,通过打印目标单片机运行的测试结果,能够快速的将预测执行结果与实际执行结果进行比对,锁定出错位置,进而快速确定出错的目标代码。
图8是根据一示例性实施例示出的一种基于AUTOSAR平台的测试装置框图。参照图8,该装置包括获取模块801、目标代码确定模块802、可执行文件生成模块803和测试模块804,其中,
获取模块801,用于获取测试文本,测试文本包括至少一个断言和至少一个功能描述信息,断言用于指示对应于断言的功能描述信息的预测执行结果;
目标代码确定模块802,用于确定与测试文本对应的目标代码,目标代码用于实现各功能描述信息指示的功能;
可执行文件生成模块803,用于基于自动化集成环境调度工具,根据目标代码生成可执行文件,将可执行文件下载到目标单片机中;
测试模块804,用于基于测试环境脚本,自动运行目标单片机,得到测试结果,测试结果中包括至少一个功能描述信息所对应的预测执行结果以及实际执行结果。
在一个可选的实施例中,可执行文件生成模块803,包括:
测试工程集成模块,用于根据目标代码和测试文本集成测试工程,测试工程能够通过编译执行;
可执行文件子模块,用于编译测试工程,生成可执行文件。
在一个可选的实施例中,目标代码确定模块802,包括:
代码初步生成模块,用于根据测试文本生成配置文件和静态代码,配置文件表征车辆电子控制单元的配置信息,静态代码用于确定各功能描述信息的实现方式;
目标代码子模块,用于根据配置文件和静态代码,得到目标代码。
在一个可选的实施例中,目标代码子模块模块,包括:
配置代码生成模块,用于通过配置工具,得到与配置文件对应的配置代码;
目标代码确定模块,用于根据配置代码和静态代码,确定目标代码。
在一个可选的实施例中,配置代码生成模块,包括:
配置项模块,用于确定配置工具的配置项;
配置代码子模块,用于响应于配置项配置完备的情况,生成配置代码。
在一个可选的实施例中,测试模块804,包括:
测试环境生成模块,用于基于测试环境脚本,模拟目标单片机运行所需的测试环境;
测试结果子模块,用于基于测试环境,自动运行目标单片机,得到测试结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器用于该指令,以实现如本公开实施例中的基于AUTOSAR平台的测试方法。
图9是根据一示例性实施例示出的一种用于基于AUTOSAR平台的测试的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图9所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于AUTOSAR平台的测试方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的基于AUTOSAR平台的测试方法。
在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的基于AUTOSAR平台的测试方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于AUTOSAR平台的测试方法,其特征在于,所述方法包括:
获取测试文本,所述测试文本包括至少一个断言和至少一个功能描述信息,所述断言用于指示对应于所述断言的所述功能描述信息的预测执行结果;
确定与所述测试文本对应的目标代码,所述目标代码用于实现各所述功能描述信息指示的功能;
基于自动化集成环境调度工具,根据所述目标代码生成可执行文件,将所述可执行文件下载到目标单片机中;
基于测试环境脚本,自动运行所述目标单片机,得到测试结果,所述测试结果中包括至少一个所述功能描述信息所对应的预测执行结果以及实际执行结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标代码生成可执行文件,包括:
根据所述目标代码和所述测试文本集成测试工程,所述测试工程能够通过编译执行;
编译所述测试工程,生成所述可执行文件。
3.根据权利要求1所述的方法,其特征在于,所述确定与所述测试文本对应的目标代码,包括:
根据所述测试文本生成配置文件和静态代码,所述配置文件表征车辆电子控制单元的配置信息,所述静态代码用于确定各所述功能描述信息的实现方式;
根据所述配置文件和所述静态代码,得到所述目标代码。
4.根据权利要求3所述的方法,其特征在于,所述根据所述配置文件和所述静态代码,得到所述目标代码,包括:
通过配置工具,得到与所述配置文件对应的配置代码;
根据所述配置代码和所述静态代码,确定所述目标代码。
5.根据权利要求4所述的方法,其特征在于,所述通过配置工具,得到与所述配置文件对应的配置代码,包括:
确定所述配置工具的配置项;
响应于所述配置项配置完备的情况,生成所述配置代码。
6.根据权利要求1所述的方法,其特征在于,所述基于测试环境脚本,自动运行所述目标单片机,得到测试结果,包括:
基于所述测试环境脚本,模拟所述目标单片机运行所需的测试环境;
基于所述测试环境,自动运行所述目标单片机,得到所述测试结果。
7.一种基于AUTOSAR平台的测试装置,其特征在于,包括:
获取模块,用于获取测试文本,所述测试文本包括至少一个断言和至少一个功能描述信息,所述断言用于指示对应于所述断言的所述功能描述信息的预测执行结果;
目标代码确定模块,用于确定与所述测试文本对应的目标代码,所述目标代码用于实现各所述功能描述信息指示的功能;
可执行文件生成模块,用于基于自动化集成环境调度工具,根据所述目标代码生成可执行文件,将所述可执行文件下载到目标单片机中;
测试模块,用于基于测试环境脚本,自动运行所述目标单片机,得到测试结果,所述测试结果中包括至少一个所述功能描述信息所对应的预测执行结果以及实际执行结果。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器用于所述指令,以实现如权利要求1至6中任一项所述的基于AUTOSAR平台的测试方法。
9.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的基于AUTOSAR平台的测试方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,计算机设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行如权利要求1至6中任一项所述的基于AUTOSAR平台的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210898800.4A CN115168232A (zh) | 2022-07-28 | 2022-07-28 | 一种基于autosar平台的测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210898800.4A CN115168232A (zh) | 2022-07-28 | 2022-07-28 | 一种基于autosar平台的测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115168232A true CN115168232A (zh) | 2022-10-11 |
Family
ID=83477321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210898800.4A Pending CN115168232A (zh) | 2022-07-28 | 2022-07-28 | 一种基于autosar平台的测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168232A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220197782A1 (en) * | 2019-09-16 | 2022-06-23 | Shanghai Ncatest Technologies Co., Ltd. | Offline debugging method |
-
2022
- 2022-07-28 CN CN202210898800.4A patent/CN115168232A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220197782A1 (en) * | 2019-09-16 | 2022-06-23 | Shanghai Ncatest Technologies Co., Ltd. | Offline debugging method |
US11789851B2 (en) * | 2019-09-16 | 2023-10-17 | Shanghai Ncatest Technologies Co., Ltd. | Offline debugging method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270149B (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN111782330A (zh) | 一种基于Web应用的页面数据获取方法、装置及设备 | |
CN111008132B (zh) | Android系统的应用调试方法、装置、计算机设备和存储介质 | |
CN111563032A (zh) | App调试方法、装置、计算机设备及存储介质 | |
CN109783355A (zh) | 页面元素获取方法、系统、计算机设备及可读存储介质 | |
CN111459509A (zh) | 容器镜像的构建方法、装置和服务器 | |
CN115168232A (zh) | 一种基于autosar平台的测试方法、装置、电子设备及存储介质 | |
CN113687858A (zh) | 配置文件的检查方法、装置、电子设备及存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN112965731B (zh) | 基于Tinker的Flutter热更新方法、装置、设备及存储介质 | |
CN113220566A (zh) | 接口性能测试脚本的生成方法、装置和计算机设备 | |
CN112433953A (zh) | 基于网络游戏客户端的嵌入式自动化测试方法、装置、设备及介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112181822A (zh) | 一种测试方法和应用程序的启动耗时测试方法 | |
CN110908882A (zh) | 一种应用程序的性能分析方法、装置、终端设备及介质 | |
CN114385258B (zh) | 自动化测试方法、装置、电子设备及存储介质 | |
CN112559336B (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
CN111083007B (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN114238129A (zh) | 生成接口数据的方法、装置、设备及存储介质 | |
CN112612550A (zh) | 一种文件配置方法及装置 | |
CN112699023B (zh) | 项目接口测试方法、装置、计算机设备及存储介质 | |
CN111124815A (zh) | 一种日志查看方法、装置、设备及存储介质 | |
CN115145464B (zh) | 一种页面测试方法、装置、电子设备及存储介质 | |
CN112835791A (zh) | 游戏兼容性自动化测试方法、装置、设备及介质 | |
CN117251187A (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 |