自动化测试方法、装置以及计算机可读存储介质
技术领域
本申请实施例测试技术领域,尤其涉及一种自动化测试方法、装置以及计算机可读存储介质。
背景技术
随着汽车电子技术的不断发展,车辆上布置的ECU(Electronic Control Unit,电子控制单元)越来越多,ECU通过CAN(Controller Area Network,控制器局域网络)总线通信相互协作,形成复杂的功能架构和网络拓扑,用于实现日益增加的功能配置。同时,也导致ECU包含更多的故障数量、功能配置和检测项目。目前车辆都配备OBD(On-BoardDiagnostic,车载诊断系统),诊断设备通过OBD诊断接口与各个ECU进行通信,用于实现车辆故障读取、参数配置、程序更新和车辆自检等功能,方便车辆的售后和维修。
目前对于OBD终端的功能测试还停留在手工测试阶段,OBD终端每个模块的应用测试需要测试工程师手动停止并进行到下一个模块测试,测试工程师需按照固定的测试用例执行,在OBD模拟工装或者车辆上模拟相关场景获取测试数据,然后在平台上查看相关数据,且一般一个模块需要对其单一的功能进行十次以上测试以保证测试质量,这很大程度上浪费了测试工程师的时间并拉长了功能测试的周期;虽然有测试工具进行辅助测试,但这些测试工具都有局限性,无法综合性对OBD终端的整个功能进行测试。因此,现有OBD终端的功能测试存在测试步骤繁琐、自动化程度低的问题。
另外在实车测试时,需要测试工程师每天对OBD终端上报平台的数据进行人工查看、筛选以及统计,效率低下,无法系统性统计相关批量的实车测试数据。
发明内容
有鉴于此,本申请实施例的目的在于提供一种自动化测试方法、装置以及计算机可读存储介质,以解决现有OBD终端的功能测试存在的测试步骤繁琐、自动化程度低以及实车测试中测试数据统计的问题。
本申请实施例解决上述技术问题所采用的技术方案如下:
根据本申请实施例的一个方面,提供的一种自动化测试方法,所述方法包括:
定时扫描数据库中存储的测试内容,并判断所述测试内容中的测试任务是否有效;
在所述测试内容中的测试任务有效的情况下,加载所述测试内容关联的测试用例参数,并将所述测试用例参数下发到所述测试内容关联的OBD终端;
获取所述测试内容关联的OBD终端上报的业务数据,并将所述测试内容关联的OBD终端上报的业务数据存储到所述数据库;
读取所述数据库中存储的所述测试内容关联的OBD终端上报的业务数据,并根据所述测试内容关联的OBD终端上报的业务数据生成测试报告。
根据本申请实施例的另一个方面,提供的一种自动化测试装置,所述自动化测试装置包括数据库、定时模块、执行模块以及数据接入模块;
所述数据库,用于存储测试内容、所述测试内容关联的测试用例参数、以及所述测试内容关联的OBD终端;
所述定时模块,用于定时扫描数据库中存储的所述测试内容,并判断所述测试内容中的测试任务是否有效;
所述执行模块,用于在所述测试内容中的测试任务有效的情况下,加载所述测试内容关联的测试用例参数,并将所述测试用例参数通过所述数据接入模块下发到所述测试内容关联的OBD终端;还用于读取所述数据库中存储的所述测试内容关联的OBD终端上报的业务数据,并根据所述测试内容关联的OBD终端上报的业务数据生成测试报告;
所述数据接入模块,用于获取所述测试内容关联的OBD终端上报的业务数据,并将所述测试内容关联的OBD终端上报的业务数据存储到所述数据库。
根据本申请实施例的另一个方面,提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有自动化测试程序,所述自动化测试程序被处理器执行时实现上述的自动化测试方法的步骤。
本申请实施例的自动化测试方法、装置以及计算机可读存储介质,通过定时扫描数据库中存储的测试内容,将测试用例参数下发到OBD终端,并根据OBD终端上报的业务数据生成测试报告;简化了OBD终端的功能测试步骤,提升了测试效率,并可系统性统计相关批量的实车测试数据。
附图说明
图1为本申请第一实施例的自动化测试方法流程示意图;
图2为本申请实施例的OBD终端的自动化测试平台结构示意图;
图3为本申请第二实施例的自动化测试装置结构示意图;
图4为本申请第二实施例的自动化测试装置另一结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
第一实施例
如图1所示,本申请第一实施例提供一种自动化测试方法,所述方法包括:
步骤S11:定时扫描数据库中存储的测试内容,并判断所述测试内容中的测试任务是否有效。
在本实施例中,所述测试内容包括但不限于测试任务描述、创建人、测试开始时间和结束时间。
在一种实施方式中,所述定时扫描数据库中存储的测试内容,并判断所述测试内容中的测试任务是否有效,之前还包括:
录入所述测试内容关联的OBD终端的标识号;
配置所述测试内容关联的测试用例参数;
创建所述测试内容,并将所述测试内容关联的OBD终端的标识号和所述测试内容关联的测试用例参数关联到所述测试内容。
在该实施方式中,配置的测试用例参数包括但不限于传感器参数、车况参数、OBD终端参数、GPS(Global Positioning System,全球定位系统)参数。
在一种实施方式中,所述定时扫描数据库中存储的测试内容,并判断所述测试内容中的测试任务是否有效,之后还包括:
在所述测试内容中的测试任务没有效的情况下,根据定时时间间隔来扫描数据库。
在该实施方式中,定时时间可由用户自行进行设置。
步骤S12:在所述测试内容中的测试任务有效的情况下,加载所述测试内容关联的测试用例参数,并将所述测试用例参数下发到所述测试内容关联的OBD终端。
在本实施例中,所述测试内容关联的OBD终端通过采集OBD模拟工装或车辆的车辆运行状态、车况数据、车辆故障诊断数据、驾驶者操控数据等等,然后将采集到的数据进行上报。
步骤S13:获取所述测试内容关联的OBD终端上报的业务数据,并将所述测试内容关联的OBD终端上报的业务数据存储到所述数据库。
在本实施例中,所述业务数据包括车辆运行状态、车况数据、车辆故障诊断数据、驾驶者操控数据中的至少一个。
步骤S14:读取所述数据库中存储的所述测试内容关联的OBD终端上报的业务数据,并根据所述测试内容关联的OBD终端上报的业务数据生成测试报告。
在一种实施方式中,所述读取所述业务数据,并根据所述业务数据生成测试报告,之后还包括:
展现以下中的至少一个:OBD终端上报的业务数据、测试报告、根据测试报告统计的内容。
为了更好地阐述本实施例,以下结合图2对OBD终端的自动化测试平台进行说明:
如图2所示,自动化测试平台包括OBD终端、数据接入模块、数据库、定时模块、执行模块以及UI界面。
其中,OBD终端集成了GSM(Global System for Mobile communications,全球移动通讯系统)/GPRS(General Packet Radio Service,通用分组无线服务)模块、高精度GPS模块、高性能三轴重力传感器和车载ECU电脑通信模块,可以将车辆运行状态、车况数据、车辆故障诊断数据、驾驶者操控数据等通过GSM/GPRS模块上传至车联网管理云平台终端。
数据接入模块包含TCP_Server单元、协议解析单元、高并发数据处理单元。TCP_Server单元用于建立TCP服务器,使OBD终端可以通过TCP连接方式把数据上传到平台。协议解析单元用于对OBD终端上传的数据进行解密和协议解析,以获取相关业务数据,如:车辆运行状态、车况数据、车辆故障诊断数据、驾驶者操控数据等。高并发数据处理单元用于优化数据库访问接口,使批量OBD终端的数据按接入协议的解析数据可以顺利存储在数据库中。
数据库包含接入数据报表、终端注册报表、用户注册报表、测试用例参数报表、测试内容报表以及Bug数据报表。接入数据报表存储OBD终端原始上传的数据,包括但不限于解密和协议解析后的车况数据、车辆故障诊断数据、驾驶行为数据、GPS数据报表、车辆行程数据以及相关报警数据等等。终端注册报表存储OBD终端注册ID、解密KEY报表和OBD终端版本信息,用于平台注册OBD终端;为了安全考虑,只有平台已有注册的OBD终端的ID和解密KEY,数据接入模块才允许OBD终端进入该平台。用户注册报表存储有用户注册ID和密码的相关部份属性报表,用来记录用户身份信息,只有注册的用户才能使用该平台。测试用例参数报表用来存储测试用例相关场景的触发条件参数,包括但不限于sensor参数、车况参数、OBD终端系统参数、GPS参数等等。测试内容报表用来存储创建的测试任务,关联OBD终端ID和用例参数及OBD终端版本。Bug数据报表用来存储执行模块执行的结果,即测试报告。
定时模块用于以定时时间间隔来扫描数据库的测试内容报表,当测试任务有效时,启动执行模块。当测试任务没有效时,以定时时间间隔来轮询数据库的测试内容报表。
执行模块包含导入单元、数据统计分析单元、高并发数据处理单元。当定时模块启动执行模块时,导入单元读取数据库的测试用例参数报表和测试内容报表,当OBD终端在线时,通过接入模块下发测试用例参数到OBD终端,
OBD终端依据测试用例参数来执行相关测试用例,上传业务数据到平台并存储到数据库。数据统计分析单元读取存储数据库的接入数据报表的相关数据,依据测试用例对每一个车辆的行程来进行分析和统计,行程数据包含(车辆运行状态、车况数据、车辆故障诊断数据、驾驶者操控数据,报警相关数据等),从而形成bug相关数据并关联OBD终端版本,并使bug数据存储在数据库的Bug数据报表中。高并发数据处理单元用于优化数据统计分析单元高并发读取存储在数据库的接入数据报表的相关数据。
UI界面包含测试内容创建单元、测试用例参数配置单元、BUG数据展现单元、接入数据展现单元、图表统计单元。测试内容创建单元用于用户或测试人员建立测试内容。并存储在数据库的测试内容报表。测试用例参数配置单元用于用户创建测试用例参数,例如sensor参数、车况参数、OBD终端系统参数、GPS参数等内容,存储在数据库的测试用例参数报表中。BUG数据展现单元用于读取数据库的Bug数据报表中的内容,以展现给用户或测试人员。接入数据展现单元用于研发或测试人员定位BUG,查找原始数据使用,读取数据库的接入数据报表中的信息并展现数据。图表统计单元用于读取数据库的Bug数据报表中的内容并统计,展现单个产品的每个发布版本的bug分布情况;用户或测试人员可以通过每个版本的bug分布来分析bug的收敛情况,同时可以通过阶段性产品bug分析数据间接分析研发能力的优缺点。
本申请实施例的自动化测试方法,通过定时扫描数据库中存储的测试内容,将测试用例参数下发到OBD终端,并根据OBD终端上报的业务数据生成测试报告;简化了OBD终端的功能测试步骤,提升了测试效率,并可系统性统计相关批量的实车测试数据。
第二实施例
如图3所示,本申请第二实施例提供一种自动化测试装置,所述自动化测试装置包括数据库21、定时模块22、执行模块23以及数据接入模块24;
所述数据库21,用于存储测试内容、所述测试内容关联的测试用例参数、以及所述测试内容关联的OBD终端。
在本实施例中,所述测试内容包括但不限于测试任务描述、创建人、测试开始时间和结束时间。
在本实施例中,所述测试用例参数包括传感器参数、车况参数、OBD终端参数、GPS参数中的至少一个。
所述定时模块22,用于定时扫描数据库21中存储的所述测试内容,并判断所述测试内容中的测试任务是否有效。
在本实施例中,若所述测试内容中的测试任务没有效,则所述定时模块22根据定时时间间隔来扫描数据库。其中,定时时间可由用户自行进行设置。
所述执行模块23,用于在所述测试内容中的测试任务有效的情况下,加载所述测试内容关联的测试用例参数,并将所述测试用例参数通过所述数据接入模块下发到所述测试内容关联的OBD终端;还用于读取所述数据库21中存储的所述测试内容关联的OBD终端上报的业务数据,并根据所述测试内容关联的OBD终端上报的业务数据生成测试报告;
在本实施例中,所述业务数据包括车辆运行状态、车况数据、车辆故障诊断数据、驾驶者操控数据中的至少一个。
在本实施例中,所述测试内容关联的OBD终端通过采集OBD模拟工装或车辆的车辆运行状态、车况数据、车辆故障诊断数据、驾驶者操控数据等等,然后将采集到的数据进行上报。
所述数据接入模块24,用于获取所述测试内容关联的OBD终端上报的业务数据,并将所述测试内容关联的OBD终端上报的业务数据存储到所述数据库21。
请参考图4所示,在一种实施方式中,所述自动化测试装置还包括录入模块25、配置模块26以及创建模块27;
所述录入模块25,用于录入所述测试内容关联的OBD终端的标识号;
所述配置模块26,用于配置所述测试内容关联的测试用例参数;
所述创建模块27,用于创建所述测试内容,并将所述测试内容关联的OBD终端的标识号和所述测试内容关联的测试用例参数关联到所述测试内容。
在该实施方式中,配置的测试用例参数包括但不限于传感器参数、车况参数、OBD终端参数、GPS参数。
请参考图4所示,在另一种实施方式中,所述自动化测试装置还包括展现模块28;
所述展现模块28,用于展现以下中的至少一个:OBD终端上报的业务数据、测试报告、根据测试报告统计的内容。
为了更好地阐述本实施例,以下仍结合图2对OBD终端的自动化测试平台的测试过程进行说明:
在进行OBD终端测试之前,首先录入OBD终端ID和数据加解密KEY,并存入数据库;配置测试用例参数,有sensor参数、车况参数、OBD终端系统参数、GPS参数,并存入数据库;然后创建测试内容,有测试任务描述、创建人、测试开始时间和结束时间,关联OBD终端ID和配置的测试用例参数,并存入数据库。
定时模块以定时时间间隔来扫描数据库的测试内容报表,当测试任务有效时,启动执行模块。当测试任务没有效时,以定时时间间隔来轮询数据库的测试内容报表。
当OBD终端在线时,执行模块会逐一依据测试内容关联的测试用例参数,通过数据接入模块下发测试用例参数到OBD终端,当OBD终端终接收了测试用例参数时,在运行过程中,产生业务数据并上报到平台,通过数据接入模块存储在数据库中。执行模块会以测试任务开始时间并以定时时间间隔来扫描数据库的测试内容报表,并依据测试用例来进行数据分析与统计,从而形成BUG数据,并录入数据库进行存储。BUG数据展现单元读取数据库的Bug数据报表中的内容显示。图表统计单元从数据库的Bug数据报表中读取并统计OBD终端的版本bug分布及产品的bug分布,并展现给测试人员和用户。接入数据展现单元从数据库的接入数据报表中读取OBD终端的接入数据并展现,供研发人员进行bug定位分析。
本申请实施例的自动化测试装置,通过定时扫描数据库中存储的测试内容,将测试用例参数下发到OBD终端,并根据OBD终端上报的业务数据生成测试报告;简化了OBD终端的功能测试步骤,提升了测试效率,并可系统性统计相关批量的实车测试数据。
第三实施例
本申请第三实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有自动化测试程序,所述自动化测试程序被处理器执行时用于实现第一实施例所述的自动化测试方法的步骤。
需要说明的是,本实施例的计算机可读存储介质,与第一实施例的方法属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在本实施例中均对应适用,这里不再赘述。
本申请实施例的计算机可读存储介质,通过定时扫描数据库中存储的测试内容,将测试用例参数下发到OBD终端,并根据OBD终端上报的业务数据生成测试报告;简化了OBD终端的功能测试步骤,提升了测试效率,并可系统性统计相关批量的实车测试数据。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本申请的优选实施例,并非因此局限本申请的权利范围。本领域技术人员不脱离本申请的范围和实质内所作的任何修改、等同替换和改进,均应在本申请的权利范围之内。