CN115640218A - 一种地图数据测试方法、系统、电子设备及存储介质 - Google Patents
一种地图数据测试方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115640218A CN115640218A CN202211284995.XA CN202211284995A CN115640218A CN 115640218 A CN115640218 A CN 115640218A CN 202211284995 A CN202211284995 A CN 202211284995A CN 115640218 A CN115640218 A CN 115640218A
- Authority
- CN
- China
- Prior art keywords
- module
- map data
- database
- information
- data testing
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种地图数据测试框架及方法,该框架基于pytest框架进行二次开发,并封装有记录模块、接口支持模块、配置模块和数据库连接模块,所述记录模块用于对框架运行的中间过程进行日志记录,并将日志信息划分为普通信息、调试信息、错误信息三个等级;所述接口支持模块用于对http请求进行封装,并提供其它服务器的接口调用;所述配置模块用于对框架配置文档进行读取、解析,获取配置文档中数据库信息以及框架运行时执行的CPU核心数;所述数据库连接模块用于基于获取到的数据库信息,建立与数据库的的连接。通过该方案可以有效提高地图数据测试效率,并能基于用户的测试定义覆盖多种地图场景的测试。
Description
技术领域
本发明属于自动化测试领域,尤其涉及一种地图数据测试方法、系统、电子设备及存储介质。
背景技术
自动驾驶是未来汽车智能化方向的发展趋势,而高精度地图数据的正确性是整个自动驾驶走向量产化落地的必要基础设施,影响着自动驾驶功能。因而,对高精度地图数据进行测试是非常重要的过程。
现有的高精度地图数据测试,大多是使用QGIS+人眼识别的方式进行判断,其测试成本高,识别难度大,难以有效提高数据测试效率。
发明内容
有鉴于此,本发明实施例提供了一种地图数据测试框架及方法,用于解决现有高精度地图数据测试效率低的问题。
在本发明实施例的第一方面,提供了一种地图数据测试框架,所述地图数据测试框架基于pytest框架进行二次开发,并封装有记录模块、接口支持模块、配置模块和数据库连接模块;
其中,所述记录模块用于对框架运行的中间过程进行日志记录,并将日志信息划分为普通信息、调试信息、错误信息三个等级;
所述接口支持模块用于对http请求进行封装,并提供其它服务器的接口调用;
所述配置模块用于对框架配置文档进行读取、解析,获取配置文档中数据库信息以及框架运行时执行的CPU核心数;
所述数据库连接模块用于基于获取到的数据库信息,建立与数据库的的连接。
在本发明实施例的第二方面,提供了一种地图数据测试方法,包括:
配置待测试高精度地图数据库后,运行所述地图数据测试框架;
通过图形化用户界面选定需要执行的测试观点;
所述地图数据测试框架运行结束后,输出测试报告,获取日志记录信息。
在本发明实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述方法的步骤。
在本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。
本发明实施例中,基于地图数据测试框架,能够自动实现配置文件解析、数据库连接、提供其他服务器的接口调用并能够对框架运行过程进行日志记录,从而实现自动化测试,提高了不同地图场景数据的测试效率,并方便定义测试观点,进行各种测量场景的查找测试,能够覆盖多种场景的测试,降低测试成本和测试难度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。
图1为本发明一个实施例提供的一种的地图数据测试框架的结构示意图;
图2为本发明一个实施例提供的一种地图数据测试方法的流程示意图;
图3为本发明的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
应当理解,本发明的说明书或权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。此外,“第一”“第二”用于区分不同对象,并非用于描述特定顺序。
需要说明的是,现有的高精度地图数据生产通常采用空间匹配算法定位到指定场景地点后进行需求实现,在进行场景定位时,测试人员基本都使用人眼、sql的方式进行场景的随机查找,再通过人脑进行需求理解后判断是否符合需求,容易导致场景覆盖不全、执行效率低等问题。同时,相同的地图数据在回归测试中,很难二次定位到相同位置,会导致问题回归难度大,而且,测试用例更多依赖人的主观判断,导致测试用例的执行对人的依赖程度高。
请参阅图1,本发明实施例提供的一种地图数据测试框架的结构示意图,所述地图数据测试框架基于pytest框架进行二次开发,并封装有记录模块110、接口支持模块120、配置模块130和数据库连接模块140;
所述pytest框架是一种Python的单元测试框架,能够实现各类数据的自动化测试。对所述pytest框架进行二次开发,得到自主开发测试框架auto-test-gis,在给框架中封装有logging(记录)模块,api_base(接口支持)模块,config(配置)模块,connect_database(数据库连接)模块等。
其中,所述记录模块110用于对框架运行的中间过程进行日志记录,并将日志记录划分为普通信息、调试信息、错误信息三个等级;
Logging模块(即记录模块)主要完成对框架运行时中间过程进行日志记录,并对日志记录进行了区分。
测试框架最终输出的测试报告包含有日志记录,所述日志记录可以分为info(普通信息)、debug(调试信息)、error(错误信息)三个等级。info为普通信息,提供给客户使用;Debug为问题调试信息,提供给开发者进行分析;Error为错误信息,提供给客户及开发者,进行错误分析。
所述接口支持模块120用于对http请求进行封装,并提供其它服务器的接口调用;
对于外部发起的网络请求,接口支持(api_base)模块可以将用户请求封装,并根据请求类型提供对应的调用接口,以对其它服务器进行访问。
所述配置模块130用于对框架配置文档进行读取、解析,获取配置文档中数据库信息以及框架运行时执行的CPU核心数;
所述配置文档可以为用户根据测试需要配置的文档,所述配置文档中包括数据库的服务器地址、数据库的端口号、数据库的用户名与密码、获取框架运行时执行的CPU核心数等。通过对配置文档的解析,获取到目标数据库,并能进一步通过数据库连接模块140建立连接。
所述数据库连接模块140用于基于获取到的数据库信息,建立与数据库的的连接。
Connect_database模块(即数据库连接模块)可以在获取到目标数据库信息后,建立与目标数据库的连接。
可选的,所述地图数据测试框架还包括:
空间查询模块,用于基于geopandas中已有的空间查询方法进行二次封装,基于目标空间对象坐标与待筛查的空间对象坐标距离在limit限定范围之间进行查找。
通过额外传入limit参数(值域范围如(1,5),表示取值在1到5之间,包含1不包含5)进行一定区间的取值,如:query_distance查询函数中,查找数据中空间坐标字段与待筛查的空间坐标距离在limit之间。
可选的,所述地图数据测试框架还包括:
pytest-xdist插件,用于将全部待执行测试用例进行随机分配至不同CPU核心中进行执行。
优选的,在高精度地图数据测试中,还需要进行具体业务测试观点的开发,定义相应的测试要点。比如,已开发的查询上海城市快速路中的车道左右隔离线是否相交,可通过循环便利左右隔离性,通过query_intersects函数查询2个空间几何对象是否存在空间上的相交。
本实施例中,基于配置、接口支持以及服务器连接等模块,可以实现地图数据的自动化测试,并提高不同地图场景数据的测试效率。基于空间查询模块,可以获取不同场景下的测试数据进行测试,可以覆盖到各种测试场景,便于定位到相同位置,避免覆盖场景不全、回归难度大等问题。同时,可以根据测试需求定义测试要点,避免测试过程依据人为的主观判断。
图2为本发明实施例提供的一种用于车道级场景仿真的系统的结构示意图,该系统包括:
S201、配置待测试高精度地图数据库后,运行所述地图数据测试框架;
S202、通过图形化用户界面选定需要执行的测试观点;
S203、所述地图数据测试框架运行结束后,输出测试报告,获取日志记录信息。
其中,获取预查询空间对象,基于目标空间对象坐标与待筛查的空间对象坐标距离在limit限定范围之间进行查找。
优选的,基于pytest-xdist插件,将全部待执行测试用例进行随机分配至不同CPU核心中进行执行。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和模块的具体工作过程可以参考前述方法实施例中对应的过程,在此不再赘述。
图3是本发明一实施例提供的一种电子设备的结构示意图。所述电子设备用于高精度地图数据测试。如图3所示,该实施例的电子设备3包括:存储器310、处理器320以及系统总线330,所述存储器310包括存储其上的可运行的程序3101,本领域技术人员可以理解,图3中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对电子设备的各个构成部件进行具体的介绍:
存储器310可用于存储软件程序以及模块,处理器320通过运行存储在存储器310的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器310可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如缓存数据)等。此外,存储器310可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在存储器310上包含网络请求方法的可运行程序3101,所述可运行程序3101可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器310中,并由处理器320执行,以实现地图数据自动化测试等,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序3101在所述电子设备3中的执行过程。例如,所述计算机程序3101可以被分割为记录模块、接口支持模块、配置模块和服务器连接模块等功能模块。
处理器320是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器310内的软件程序和/或模块,以及调用存储在存储器310内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体状态监控。可选的,处理器320可包括一个或多个处理单元;优选的,处理器320可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器320中。
系统总线330是用来连接计算机内部各功能部件,可以传送数据信息、地址信息、控制信息,其种类可以是例如PCI总线、ISA总线、CAN总线等。处理器320的指令通过总线传递至存储器310,存储器310反馈数据给处理器320,系统总线330负责处理器320与存储器310之间的数据、指令交互。当然系统总线330还可以接入其他设备,例如网络接口、显示设备等。
在本发明实施例中,该电子设备所包括的处理320执行的可运行程序包括:
配置待测试高精度地图数据库后,运行所述地图数据测试框架;
通过图形化用户界面选定需要执行的测试观点;
所述地图数据测试框架运行结束后,输出测试报告,获取日志记录信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种地图数据测试框架,其特征在于,所述地图数据测试框架基于pytest框架进行二次开发,并封装有记录模块、接口支持模块、配置模块和数据库连接模块;
其中,所述记录模块用于对框架运行的中间过程进行日志记录,并将日志信息划分为普通信息、调试信息、错误信息三个等级;
所述接口支持模块用于对http请求进行封装,并提供其它服务器的接口调用;
所述配置模块用于对框架配置文档进行读取、解析,获取配置文档中数据库信息以及框架运行时执行的CPU核心数;
所述数据库连接模块用于基于获取到的数据库信息,建立与数据库的的连接。
2.根据权利要求1所述的方法,其特征在于,所述地图数据测试框架还包括:
空间查询模块,用于基于geopandas中已有的空间查询方法进行二次封装,基于目标空间对象坐标与待筛查的空间对象坐标距离在limit限定范围之间进行查找。
3.根据权利要求1所述的方法,其特征在于,所述地图数据测试框架还包括:
pytest-xdist插件,用于将全部待执行测试用例进行随机分配至不同CPU核心中进行执行。
4.使用如权利要求1所述地图数据测试框架的地图数据测试方法,其特征在于,包括:
配置待测试高精度地图数据库后,运行所述地图数据测试框架;
通过图形化用户界面选定需要执行的测试观点;
所述地图数据测试框架运行结束后,输出测试报告,获取日志记录信息。
5.根据权利要求4所述的方法,其特征在于,所述通过图形化用户界面选定需要执行的测试观点还包括:
获取预查询空间对象,基于目标空间对象坐标与待筛查的空间对象坐标距离在limit限定范围之间进行查找。
6.根据权利要求4所述的系统,其特征在于,所述通过图形化用户界面选定需要执行的测试观点之后包括:
基于pytest-xdist插件,将全部待执行测试用例进行随机分配至不同CPU核心中进行执行。
7.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求4至6任一项所述的一种车道级场景仿真方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求4至6任一项所述的一种地图数据测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211284995.XA CN115640218A (zh) | 2022-10-17 | 2022-10-17 | 一种地图数据测试方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211284995.XA CN115640218A (zh) | 2022-10-17 | 2022-10-17 | 一种地图数据测试方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115640218A true CN115640218A (zh) | 2023-01-24 |
Family
ID=84944553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211284995.XA Pending CN115640218A (zh) | 2022-10-17 | 2022-10-17 | 一种地图数据测试方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115640218A (zh) |
-
2022
- 2022-10-17 CN CN202211284995.XA patent/CN115640218A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678105B (zh) | 一种页面代码的测试方法和装置 | |
CN111062580B (zh) | 一种工作人员与目标项目的匹配方法及电子设备 | |
CN113206763B (zh) | 一种适应于物联管理平台的仿真测试系统及方法 | |
CN106330593B (zh) | 协议检测方法及装置 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN106708818A (zh) | 一种压力测试方法和系统 | |
CN108459850B (zh) | 生成测试脚本的方法、装置及系统 | |
CN110833693B (zh) | 游戏运行方法和装置、存储介质及电子装置 | |
CN110058998B (zh) | 软件测试方法及装置 | |
CN105988922A (zh) | 应用程序的测试方法、装置及服务器 | |
CN107704568A (zh) | 一种测试数据添加的方法及装置 | |
CN113220597A (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN113704077A (zh) | 测试用例生成方法及装置 | |
CN115640218A (zh) | 一种地图数据测试方法、系统、电子设备及存储介质 | |
CN117009208A (zh) | 依赖关系信息的处理方法、装置、设备及存储介质 | |
CN113535499B (zh) | 一种支持多核心共享访问的多类型并存访存流验证方法 | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
CN114124727A (zh) | 一种网管通信压力测试方法及系统 | |
CN113986753A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN114490337A (zh) | 调测方法、调测平台、设备及存储介质 | |
CN110688302B (zh) | 一种字段库自动化测试方法及装置 | |
CN116483727A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN115599668A (zh) | 一种接口测试用例生成方法、装置及电子设备 | |
CN106707144A (zh) | 一种应用于反熔丝fpga测试向量的逆向分析方法 |
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 |