首页 / 专利库 / 电脑图像 / 图形对象 / 一种基于GoogleTest测试框架实现区域控制器设备测试的方法

一种基于GoogleTest测试框架实现区域控制器设备测试的方法

阅读:674发布:2020-05-08

专利汇可以提供一种基于GoogleTest测试框架实现区域控制器设备测试的方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于GoogleTest测试 框架 实现区域 控制器 设备测试的方法,其中,包括:S1、编写案例;S2、通过图形化界面操作将案例转化为测试案例代码;S3、设置自动化测试执行次数;S4、根据测试案例启动对应的测试模型,并启动被测对象;S5、根据案例设置相应的状态值;S6、通过 断言 的方式判断被测对象计算出的是否与预期一致;S7、判断是否达到测试的次数,如果没有达到则执行步骤S3,否则继续;S8、显示测试结果。本发明基于GTest的测试系统既可以实现图形化也可以直接通过C++语言快速实现案例脚本的编写。,下面是一种基于GoogleTest测试框架实现区域控制器设备测试的方法专利的具体信息内容。

1.一种基于GoogleTest测试框架实现区域控制器设备测试的方法,其特征在于,包括:
S1、编写案例;
S2、通过图形化界面操作将案例转化为测试案例代码;
S3、设置自动化测试执行次数;
S4、根据测试案例启动对应的测试模型,并启动被测对象;
S5、根据案例设置相应的状态值;
S6、通过断言的方式判断被测对象计算出的是否与预期一致;
S7、判断是否达到测试的次数,如果没有达到则执行步骤S3,否则继续;
S8、显示测试结果。
2.如权利要求1所述的基于GoogleTest测试框架实现区域控制器设备测试的方法,其特征在于,所有模与底层结构建立在GTest框架的基础之上,通过对开放的接口操作来实现案例的执行,通过GTest的框架,基于断言的方法,将测试对象执行结果与预期结果进行比较,并得到测试结果来判断案例是否执行成功。
3.如权利要求1所述的基于GoogleTest测试框架实现区域控制器设备测试的方法,其特征在于,对于列车升级为CBTC级别的列车包括:
启动列车模型,启动目标机被测对象ZC,CI模型会将所排列的进路上区段进行闭,列车模型先与被测对象ZC发起注册事件,当注册成功后,列车模型发送列车位置,列车根据设定的速度值向上行方向移动,根据CI模型列车模型的数据解包验证通过后,当列车满足最大安全前端距离当前占压的计轴小于25m的时候且当前列车通信正常,就给当前列车模型计算MA信息,列车收到的MA信息后,列车模型会设置当前等级为CBTC,软件通过断言的方式不断检测列车模型的等级是否为CBTC等级,若在设定时间范围内检测到等级为CBTC等级后则当前案例测试通过,否则为失败。
4.如权利要求3所述的基于GoogleTest测试框架实现区域控制器设备测试的方法,其特征在于,设置列车长度120米,速度15km/h方向向右。
5.如权利要求3所述的基于GoogleTest测试框架实现区域控制器设备测试的方法,其特征在于,排列一条上行进路,并将列车放置距离进路当前计轴末端点前方50米的距离上。
6.如权利要求1所述的基于GoogleTest测试框架实现区域控制器设备测试的方法,其特征在于,
启动CI模型以及ATS模型,设置某一个计轴的临时限速值为30km/h,ATS模型向被测对象ZC发送该计轴30km/h的验证命令,被测对象ZC收到命令后回复验证确认成功,ATS模型收到验证确认成功命令后继续向ZC模型发送30km/h的限速执行命令,当ATS模型收到被测对象ZC的限速执行确认成功命令后完成临时限速设置功能,通过断言形式检测被测对象ZC发送的当前区段的临时限速值看是否满足30km/h的值,在设定的时间内满足即为案例运行成功,否则失败。

说明书全文

一种基于GoogleTest测试框架实现区域控制器设备测试的

方法

技术领域

[0001] 本发明的目的在于提供一种轨道交通测试技术,特别涉及一种基于GoogleTest测试框架实现区域控制器设备测试的方法

背景技术

[0002] CBTC(Communication Based Train Control System基于通信的列车自动控制)系统作为城轨列车控制的中枢系统,在保障列车安全运行和提升运营效率方面发挥了巨大作用,作为CBTC系统的轨旁安全设备的区域控制器子系统通过与CI、ATS、ATP、相邻ZC、维护设备接口,根据所控列车的状态、其控制范围内的走行位置、联进路信息、临时限速命令等信息,实时生成列车行车许可命令,并通过无线通信系统传输给ATP车载子系统,保证其管辖内的所有列车的运行安全,并实现移动闭塞。
[0003] 由于区域控制器子系统无人机接口界面,相对于其他CBTC子系统,测试难度较大。作为安全等级要求较高的系统,如何保证测试的完整性和利用率是一个亟待解决的课题。
[0004] 传统的区域控制器设备软件测试或是基于测试人员通过仿真测试平台进行的测试,此种测试对于一次覆盖完整的测试需要的时间久,操作复杂。或是基于XML自动化脚本的测试软件,基于XML脚本编制效率低,且仅仅针对于没有编程经验的测试人员,而基于GTest的测试系统可以实现对于没有编程基础的测试人员或有编程经验的研发人员来实现。

发明内容

[0005] 本发明的目的在于提供一种基于GoogleTest测试框架实现区域控制器设备测试的方法,用于解决人工测试繁琐问题,可以用脚本代替人工操作,难度系数比较大且涉及模型太多操作复杂,容易产生意想不到的问题。
[0006] 本发明一种基于GoogleTest测试框架实现区域控制器设备测试的方法,其中,包括:S1、编写案例;S2、通过图形化界面操作将案例转化为测试案例代码;S3、设置自动化测试执行次数;S4、根据测试案例启动对应的测试模型,并启动被测对象;S5、根据案例设置相应的状态值;S6、通过断言的方式判断被测对象计算出的是否与预期一致;S7、判断是否达到测试的次数,如果没有达到则执行步骤S3,否则继续;S8、显示测试结果。
[0007] 根据本发明的基于GoogleTest测试框架实现区域控制器设备测试的方法的一实施例,其中,所有模与底层结构建立在GTest框架的基础之上,通过对开放的接口操作来实现案例的执行,通过GTest的框架,基于断言的方法,将测试对象执行结果与预期结果进行比较,并得到测试结果来判断案例是否执行成功。
[0008] 根据本发明的基于GoogleTest测试框架实现区域控制器设备测试的方法的一实施例,其中,对于列车升级为CBTC级别的列车包括:启动列车模型,启动目标机被测对象ZC,CI模型会将所排列的进路上区段进行锁闭,列车模型先与被测对象ZC发起注册事件,当注册成功后,列车模型发送列车位置,列车根据设定的速度值向上行方向移动,根据CI模型列车模型的数据解包验证通过后,当列车满足最大安全前端距离当前占压的计轴小于25m的时候且当前列车通信正常,就给当前列车模型计算MA信息,列车收到的MA信息后,列车模型会设置当前等级为CBTC,软件通过断言的方式不断检测列车模型的等级是否为CBTC等级,若在设定时间范围内检测到等级为CBTC等级后则当前案例测试通过,否则为失败。
[0009] 根据本发明的基于GoogleTest测试框架实现区域控制器设备测试的方法的一实施例,其中,设置列车长度120米,速度15km/h方向向右。
[0010] 根据本发明的基于GoogleTest测试框架实现区域控制器设备测试的方法的一实施例,其中,排列一条上行进路,并将列车放置距离进路当前计轴末端点前方50米的距离上。
[0011] 根据本发明的基于GoogleTest测试框架实现区域控制器设备测试的方法的一实施例,其中,启动CI模型以及ATS模型,设置某一个计轴的临时限速值为30km/h,ATS模型向被测对象ZC发送该计轴30km/h的验证命令,被测对象ZC收到命令后回复验证确认成功,ATS模型收到验证确认成功命令后继续向ZC模型发送30km/h的限速执行命令,当ATS模型收到被测对象ZC的限速执行确认成功命令后完成临时限速设置功能,通过断言形式检测被测对象ZC发送的当前区段的临时限速值看是否满足30km/h的值,在设定的时间内满足即为案例运行成功,否则失败。
[0012] 本发明解决了对于自动测试的XML案例编写效率低,基于GTest的测试系统既可以实现图形化也可以直接通过C++语言快速实现案例脚本的编写。附图说明
[0013] 图1为软件架构图;
[0014] 图2为具体实现框架图;
[0015] 图3为基于GoogleTest测试框架实现区域控制器设备测试的方法流程图

具体实施方式

[0016] 为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0017] 图1为软件架构图,如图1所示,清晰的显示了软件的整体架构,测试人员可以接触到的只有显示界面与各模块的功能接口。底层接口只对开发人员开放。这样的好处是防止测试人员误操作导致整个环境被破坏。
[0018] 图2为具体实现框架图,如图2所示,所有模块与底层结构建立在Gtest(GoogleTest谷歌测试框架)框架的基础之上,案例编写者可以操控的包括程序的调度管理、基础模块、ATS(Automatic Train Supervision列车自动监控)模块、ZC(Zone Controller区域控制器)模块、VOBC(Vehicle On-Board Controller车载控制器)模块、CI(Computer Interlock计算机联锁)模块等。通过对开放的接口操作来实现案例的执行。通过GTest的框架,基于断言的方法,将测试对象执行结果与预期结果进行比较,并得到测试结果来判断案例是否执行成功。
[0019] 图3为基于GoogleTest测试框架实现区域控制器设备测试的方法流程图,如图3所示,基于GoogleTest测试框架实现区域控制器设备测试的方法包括:
[0020] S1、编写案例;
[0021] S2、通过图形化界面操作将案例转化为测试案例代码;
[0022] S3、设置自动化测试执行次数;
[0023] S4、根据测试案例启动对应的测试模型,并启动被测对象;
[0024] S5、根据案例设置相应的状态值;
[0025] S6、通过断言的方式判断被测对象计算出的是否与预期一致;
[0026] S7、判断是否达到测试的次数,如果没有达到则执行步骤S3,否则继续;
[0027] S8、显示测试结果。
[0028] 具体实施例子1:
[0029] 案例:列车1升级为CBTC级别的列车
[0030] 实现:
[0031] 准备需要启动的模型包括VOBC模型,CI模型,地图选取为标准站地图。
[0032] 排列一条上行进路,并将列车放置距离进路当前计轴末端点前方大概50米的距离上。
[0033] 设置列车长度120米,速度15km/h方向向右(上行默认从左至右)。
[0034] 启动列车模型,CI模型,启动目标机被测对象ZC。此时,CI模型会将所排列的进路上区段进行锁闭,列车模型先与被测对象ZC发起注册事件,当注册成功后,列车模型给被测对象ZC发送列车位置,列车根据设定的速度值向上行方向移动。被测对象ZC软件根据CI模型列车模型发过来的数据解包验证通过后,当列车满足最大安全前端距离当前占压的计轴小于25m的时候且当前列车通信正常,就给当前列车模型计算MA,列车收到被测对象ZC的MA信息后,列车模型会设置当前等级为CBTC,软件通过断言的方式不断检测列车模型的等级是否为CBTC等级,若在设定时间范围内检测到等级为CBTC等级后则当前案例测试通过,否则为失败。
[0035] 具体实施例子2:
[0036] 准备需要启动的模型包括CI模型、ATS模型,地图选取为标准站场地图。
[0037] 启动CI模型,ATS模型,设置某一个计轴的临时限速值为30km/h。ATS模型向被测对象ZC发送该计轴30km/h的验证命令,被测对象ZC收到命令后回复验证确认成功,ATS模型收到验证确认成功命令后继续向被测对象ZC发送30km/h的限速执行命令,当ATS模型收到被测对象ZC的限速执行确认成功命令后完成临时限速设置功能。通过断言形式检测被测对象ZC发送的当前区段的临时限速值看是否满足30km/h的值,在设定的时间内满足即为案例运行成功,否则失败。
[0038] 本发明基于GTest的带有VOBC模型、CI模型、ZC模型、ATS模型的区域控制器设备单元测试方法,通过断言的方式控制测试过程,直观的进行结果判定;图形化脚本编制可以便捷控制独有的VOBC模型、CI模型、ZC模型、ATS模型,更便捷的转化为基于GTest的测试脚本。
[0039] 本发明Google Test是由Google主导的一个开源的C++自动化测试框架,简称GTest。GTest基于xUnit单元测试体系,和CppUint类似,可以看作是JUnit、PyUnit等对C++的移植。本软件是基于GTest基础的自动测试解决方案,在城轨CBTC信号系统中,主要测试手段是通过人工操作各种模型来实现对案例的测试工作或者是通过XML语言编写脚本的自动测试。本发明提供了一种基于GoogleTest测试框架实现区域控制器设备测试的方法,该方法是一种优于既有自动测试的方法。本发明所采用的技术方案是:通过软件模拟与被测对象通信,通过C++或者图形界面来生成测试脚本,通过基于GTest断言的方式判断测试结果,可以通过Console和XML来显示,灵活的控制测试过程和直观的进行结果判定。
[0040] 本方案与现有技术相比,本发明有如下优点:
[0041] 1、基于GTest的区域控制器的测试系统可以共享相同的测试数据配置。不但解决了测试用例过多的时候,测试数据的定义会增大编码的工作量;还解决了测试用例维护管理比较麻烦;且每次修改测试用例的数据,都测试程序都需要重新编译的缺点。
[0042] 2、模拟真实情况:可以执行手工测试无法执行的测试,比如同时并发添加40辆VOBC车辆测试系统的负载量,现有仿真环境无法达到测试目的,而使用自动化测试工具可以模拟多VOBC并发过程。
[0043] 3、基于GTest的测试结果支持Console和XML文件的格式的两种输出方式,输出的内容包括测试用例的执行结果和时间。对于分析测试结果更直观,灵活的判断控制测试过程。
[0044] 4、独有的VOBC模型、CI模型、ZC模型、ATS模型,更便捷的模拟现实测试场景。
[0045] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈