CN114624525A - Cbtc自动自测试方法及装置 - Google Patents
Cbtc自动自测试方法及装置 Download PDFInfo
- Publication number
- CN114624525A CN114624525A CN202111520343.7A CN202111520343A CN114624525A CN 114624525 A CN114624525 A CN 114624525A CN 202111520343 A CN202111520343 A CN 202111520343A CN 114624525 A CN114624525 A CN 114624525A
- Authority
- CN
- China
- Prior art keywords
- test
- event
- cbtc
- test sequence
- sequence
- 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
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/005—Testing of electric installations on transport means
- G01R31/008—Testing of electric installations on transport means on air- or spacecraft, railway rolling stock or sea-going vessels
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种CBTC自动自测试方法及装置,该方法包括:获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
Description
技术领域
本发明涉及列车测试技术领域,尤其涉及一种CBTC自动自测试方法及装置。
背景技术
目前基于通信的列车控制(Communication-based Train Control,CBTC)是信号系统的主要制式,CBTC采用移动闭塞以及车地双向无线通信技术大大提升了轨道交通的运行效率。
CBTC作为一个复杂分布式系统具有安全苛求特征,针对其各子系统的内部软件需要进行安全可靠的软件测试工作。现场测试的过程中不仅会占用大量的人力物力资源,而且还会因为CBTC系统维度大、复杂度高等因素,导致运营场景复杂多变难以重构和复现,给测试结果的分析评估工作带来极大的困难。
因此,如何更好对于CBTC进行测试已经成为业界亟待解决的问题。
发明内容
本发明提供一种CBTC自动自测试方法及装置,用以解决现有技术中如何对CBTC有效进行测试的问题。
本发明提供一种CBTC自动自测试方法,包括:
获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;
基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;
基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
根据本发明提供的一种CBTC自动自测试方法,包括:所述获取基于事件图的第一测试序列,包括:
基于被测系统的测试项信息构建基于事件图CBTC的功能模型;
将所述基于事件图CBTC的功能模型转换为时间自动机模型;
基于测试序列生成算法和所述时间自动机模型,可以得到所述基于事件图的第一测试序列。
根据本发明提供的一种CBTC自动自测试方法,在所述基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试之前,所述方法还包括:
基于区域控制系统信息、设计约束信息、运行环境信息、开发环境信息、体系框架信息以及交互数据设计信息中的至少一项,构建基于事件驱动模型的CBTC自动化测试平台。
根据本发明提供的一种CBTC自动自测试方法,所述CBTC自动化测试平台,具体包括;
CI仿真子系统、VOBC仿真子系统、ATS仿真子系统、轨旁仿真子系统和ZC仿真子系统中的一项或多项。
根据本发明提供的一种CBTC自动自测试方法,所述基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列,包括:
对所述基于事件图的第一测试序列中各个测试项的覆盖率和冗余度进行优化处理,得到多个并行的事件树序列;
基于多个所述并行的事件树序列,得到冗余程度较低的第二测试序列。
本发明还提供一种CBTC自动自测试装置,包括:
第一获取模块,用于获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;
优化模块,用于基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;
测试模块,用于基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
根据本发明提供的一种CBTC自动自测试装置,所述第一获取模块,具体用于:
基于被测系统的测试项信息构建基于事件图CBTC的功能模型;
将所述基于事件图CBTC的功能模型转换为时间自动机模型;
基于测试序列生成算法和所述时间自动机模型,可以得到所述基于事件图的第一测试序列。
根据本发明提供的一种CBTC自动自测试装置,所述装置还包括:
构建模块,用于基于区域控制系统信息、设计约束信息、运行环境信息、开发环境信息、体系框架信息以及交互数据设计信息中的至少一项,构建基于事件驱动模型的CBTC自动化测试平台。
根据本发明提供的一种CBTC自动自测试装置,所述CBTC自动化测试平台,具体包括;
CI仿真子系统、VOBC仿真子系统、ATS仿真子系统、轨旁仿真子系统和ZC仿真子系统中的一项或多项。
根据本发明提供的一种CBTC自动自测试装置,所述优化模块,具体用于:
对所述基于事件图的第一测试序列中各个测试项的覆盖率和冗余度进行优化处理,得到多个并行的事件树序列;
基于多个所述并行的事件树序列,得到冗余程度较低的第二测试序列。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述CBTC自动自测试方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述CBTC自动自测试方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述CBTC自动自测试方法的步骤。
本发明提供的一种CBTC自动自测试方法及装置,通过构建基于事件图的第一测试序列,通过事件树优化算法获取冗余程度较低的第二测试序列。以及,基于事件驱动模型开发了高拟真度的CBTC自动化测试平台,对所述测试环境与所述被测模块进行测试,提高了系统测试自动化程度以及测试效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的CBTC自动自测试方法流程示意图,;
图2为本申请实施例提供的EG和TA之间的图元对应关系图;
图3为本申请实施例提供的ZC仿真软件功能模块示意图;
图4为本申请实施例以供的优化处理流程示意图;
图5为本申请实施例提供的服务端同步界面示意图;
图6为本申请实施例提供的客户端同步界面示意图;
图7为本申请实施例提供的VOBC配置模块示意图;
图8为本申请实施例提供的CBTC自动自测试装置结构示意图图9是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例提供的CBTC自动自测试方法流程示意图,如图1所示,包括:
步骤110,获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;
具体地,在本申请实施例中,首先构建基于事件图(Event Graph,EG)CBTC的功能模型;
所述建模方式是将事件以及事件之间的执行逻辑关系来表述为有向图模型。目前的离散仿真系统只考虑导致系统发生状态改变的事件,所述事件的发生不仅导致所述系统状态发生转移,同时也会导致下一事件的发生,在测试过程中根据因果关系进行行为描述存在一定的必要性,因为在所述EG模型中事件之间的调度关系与系统行为因果关系可以等价划分
所述功能模型实现了对软件复杂执行逻辑的精准描述,提出了一种事件树优化算法,基于迁移覆盖准则搜索完整的事件序列;
所述功能模型根据事件调度关系降低事件树之间的耦合关系,填充测试数据,生成高可用性、低冗余度、高覆盖率的可执行测试序列。
在所述EG测试模型中定义一组基于事件的被测系统应该遵循的行为,产生用于积极测试的测试序列和用于消极测试的测试序列。
所述积极测试的所述测试序列的一个典型示例就是实现测试项遍历的完整事件序列(complete event sequence,CES),即从可达到的初始事件开始到预期事件结束的事件序列,所述序列通过定义一组正确的,指定的系统理想行为,可以进行所述积极测试。所述CES可用于测试被测系统的安全功能。
所述消极测试的测试用例是故障的完整事件序列(faulty complete eventsequence,FCES),所述序列中初始部分由一系列有效事件组成,最后两个事件称为故障事件对(faulty event pair,FEP),所述FEP指定了所述系统不被期望的行为,所以初始部分用于到达所述FEP提供相应路径。所以所述FCES可用于测试所述被测系统的故障处理功能。
最终由基于EG的所述测试模型所抽象得到的所述测试序列是所述CES和所述FCES的组合,可以达到所述被测软件的故障场景实现全覆盖的测试目的。
步骤120,基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;
具体地,EG模型作为一种图结构,为了获取事件序列,需要对该模型进行搜索遍历。事件树优化算法考虑事件属性以及事件调度关系的影响,确定搜索方向,达到事件序列之间耦合程度最小化的目的。事件图中顶点代表事件,事件之间的连通关系涉及多种因素如调度/取消关系、传递参数、优先级等。
根据事件图模型中的节点的度分类,事件树优化算法针对不同的顶点进行特殊的处理方式。优化的目标为覆盖率和冗余度,优化后能够得到冗余程度较低的第二测试序列。
步骤130,基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
具体地,本申请实施例中,基于集中管理分散控制的开发理念构建所述asp.net框架的CBTC自动化测试平台,以测试控制中心为代表的“集中管理”实现对测试流程的管控,以仿真测试环境为代表的“分散控制”实现对被测单元测试活动的分布式执行;引入所述事件驱动模型,对所述测试环境与所述被测模块进行闭环测试,实现所述测试序列自动生成和测试结果的自动分析。
在本申请实施例中,通过构建基于事件图的第一测试序列,通过事件树优化算法获取冗余程度较低的第二测试序列。以及,基于事件驱动模型开发了高拟真度的CBTC自动化测试平台,对所述测试环境与所述被测模块进行测试,提高了系统测试自动化程度以及测试效率。
可选地,所述获取基于事件图的第一测试序列,包括:
基于被测系统的测试项信息构建基于事件图CBTC的功能模型;
将所述基于事件图CBTC的功能模型转换为时间自动机模型;
基于测试序列生成算法和所述时间自动机模型,可以得到所述基于事件图的第一测试序列。
具体地,首先在EG测试模型中定义了一组基于事件的被测系统应该遵循的行为,可产生用于积极测试的测试序列和用于消极测试的测试序列。
积极测试的测试序列的一个典型示例就是实现测试项遍历的完整事件序列(complete event sequence,CES),即从可达到的初始事件开始到预期事件结束的事件序列,该序列通过定义一组正确的,指定的系统理想行为,可以进行积极测试。CES可用于测试被测系统的安全功能。
消极测试的测试用例是故障的完整事件序列(f aulty complete eventsequence,FCES),该序列中初始部分由一系列有效事件组成,最后两个事件称为故障事件对(faulty event pair,FEP),FEP指定了系统不被期望的行为,所以初始部分用于到达FEP提供相应路径。所以FCES可用于测试被测系统的故障处理功能。
最终由基于EG的测试模型所抽象得到的测试序列是CES和FCES的组合,可以达到被测软件的故障场景实现全覆盖的测试目的。最后将事件图模型等价转换为时间自动机(Time Automation,TA)模型,利用UPPAAL等工具及相关测试序列生成算法可以得到基于事件图模型的测试序列集。如表一所示为基于状态的TA模型与基于事件的EG的模型之间的图元对应关系。
图2为本申请实施例提供的EG和TA之间的图元对应关系图,基于上述模型转换规则,利用ATL插件进行转换即可得到基于事件图的第一测试序列。
在本申请实施例中,通过根据事件调度关系降低事件树之间的耦合关系,填充测试数据,生成高可用性、低冗余度、高覆盖率的可执行测试序列,有利于测试的有效进行。
可选地,在所述基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试之前,所述方法还包括:
基于区域控制系统信息、设计约束信息、运行环境信息、开发环境信息、体系框架信息以及交互数据设计信息中的至少一项,构建基于事件驱动模型的CBTC自动化测试平台。
具体地,本申请实施例中,所述自动化测试平台中各仿真子系统模块开发较为完备,可以针对所述CBTC系统中ATS、CI、VOBC等关键子系统进行软件功能测试,根据所述系统设计需求设定测试项,所述测试项一般以某项功能为测试目的,针对所述测试项建立特定子系统的功能场景模型,以所述事件为基本单元建立所述功能模型,通过赋予所述事件丰富的语义,描述所述CBTC系统复杂的场景功能。
更具体的,所述CBTC系统的功能测试平台采取基于所述事件的离散仿真技术。将所述各个子系统内部引起状态变化的行为抽象为事件,所述各项事件赋予内容与属性,拥有全局的唯一标识。各子系统内部事件均存储在一张独立的维护列表中,统称为事件集。
模拟关键系统行为与接口行为,使得所述CBTC系统在测试过程中处于关闭状态,并完成双向闭环测试有利于最后测试结果分析。测试命令下发至所述各个仿真节点,在完成双向闭环测试的过程中,所述测试环境的所述仿真节点模拟用户层向被测系统发出“用户请求”的信息。引入所述事件驱动模型的开发方式,一个仿真节点以非堵塞的方式完成多个信息请求的进行。
在所述平台中通过下发测试驱动指令完成整个自动化测试
每一项测试指令都包含需要完成的操作步骤、操作对象以及所携带的测试数据。将所述测试指令以事件的形式完成封装、存储,并形成事件规则库。所述事件规则库内部通过定义测试场景,重新划分事件属性,根据所述测试序列所对应的事件节点ID,完成所述事件规则库内部事件查询工作,按照所述事件调度关系以一定的顺序完成事件序列的组合工作。将所述携带实例参数的完整事件序列最终下发至各仿真节点。
本申请实施例中,通过CBTC自动化测试平台的构建,能够有效实现自动测试。
可选地,所述CBTC自动化测试平台,具体包括;
CI仿真子系统、VOBC仿真子系统、ATS仿真子系统、轨旁仿真子系统和ZC仿真子系统中的一项或多项。
具体地,本申请实施例中所描述的自动化测试平台的仿真软件采用C#的编程语言,选用.Net Framework控制台应用便于打印调试。仿真软件开发思想依据《区域控制器仿真软件设计规范》文档进行开发搭建。该文档编写来源于城轨信号系统种的地面核心安全设备区域控制器的防护功能设计方案,解释了仿真软件的功能设计以及内部关系,包括ZC系统概述、设计约束、运行环境、开发环境,以及体系框架、功能模块、交互数据设计、需求与模块的对应关系等。
真实线路数据信息存储在Access数据库中,利用Access应用程序同数据库之间的API接口来完成数据的读取与共享,位于DataBase固定文件夹的.accdb文件方便测试人员替换与更改,保持测试线路数据的可管理性与可配置性。图3为本申请实施例提供的ZC仿真软件功能模块示意图,如图3所示,按照项目文档要求ZC的功能模块划分,具体为:列车管理单元的主要功能函数有Login()、Logout()和PaiXu()等四个功能函数,分别代表注册、注销和排序三个主要管理功能。计算MA模块主要功能函数为Search()、RouteCheck()和Calculate()等三个主要功能函数,分别表示计算MA的三个步骤,即搜索前车,进路检查和综合计算。更新轨道占用模块的功能函数Logic()函数负责列车逻辑定位功能。通信模块的功能函数除了send与receive的socket通信函数外还有UnPacking()与Packt(),负责应用数据的解包与打包工作。以上各个功能模块的基本函数GetData()负责对DataBase中的线路数据搜索与应用。
列车位置的基本单位是link+offset,如果来自某个VOBC的传输信息超过6s未解到对应标识数据包,则退出功能单元代码模块,并初始化对应VOBC信息,继而主动关闭通信接口。对应所控区域列车最大数量为10,利用存储管控列车信息列表List<VOBC>link_lists=new List<Link>()存储列车位置、方向、模式等信息。一旦达到出注册最大标准,则对于所超出列车的注册请求不予通过。
可选地,所述基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列,包括:
对所述基于事件图的第一测试序列中各个测试项的覆盖率和冗余度进行优化处理,得到多个并行的事件树序列;
基于多个所述并行的事件树序列,得到冗余程度较低的第二测试序列。
具体地,图4为本申请实施例以供的优化处理流程示意图,如图4所示,为了获取事件序列,需要对该模型进行搜索遍历。事件树优化算法考虑事件属性以及事件调度关系的影响,确定搜索方向,达到事件序列之间耦合程度最小化的目的。事件图中顶点代表事件,事件之间的连通关系涉及多种因素如调度/取消关系、传递参数、优先级等。
根据事件图模型中的节点的度分类,事件树优化算法针对不同的顶点进行特殊的处理方式。优化的目标为覆盖率和冗余度。
覆盖率C作为事件序列的优化指标之一,测试项中所涉及的测试案例个数N,事件树中出现过的测试案例种类(事件节点)个数n,其计算公式为:
C=(n/N)×100%
冗余度R作为事件序列优化的另一个重要指标,事件树中所有的事件节点个数为S,重复出现的事件节点个数为re,其计算公式为
R=(re/S)×100%
多入单出节点处理流程如图所示。遍历过程中依据输入该节点的各项调度边的优先级以及调度关系来确立当前路径是否可以访问该节点,其中know代表当下事件树对于该节点的输入调度边的优先级,kx代表其它输入调度边对于该节点的输入调度边的优先级,gnow代表该节点唯一输出调度边的优先级,Cx表示其它事件节点对于该节点的调度关系,如果Cx=1代表调度关系一直满足。
事件图模型经过上述事件树优化算法得到若干个并行的事件树序列,每一个序列包含测试过程中所包含的测试场景,操作及迁移条件(填充写入测试数据),代表测试过程中的完整事件调度活动。
本申请实施例通过对于各个测试项的覆盖率和冗余度进行优化处理,能够得到冗余程度较低的第二测试序列,有效加快的测试的速度。
可选地,以测试项“计算MA功能”进行测试,在测试前期需要完成测试资源的准备工作,包括硬件资源,软件资源和人力资源。将PC机、交换机、网线等硬件装置按照设备分布结构完成配置搭建工作,再利用Visual Studio 2019,Network Time Protocol以及Microsoft Office等应用软件进行相应的安装与调试,完成测试环境的搭建。
在正式进行功能测试之前,平台需要完成各个仿真子节点的时钟同步,启动测试控制中心所在PC机上NTP服务器,在服务端和客户端分别以管理员身份运行cmd,输入ntpq–p命令出现则表示同步成功,图5为本申请实施例提供的服务端同步界面示意图,图6为本申请实施例提供的客户端同步界面示意图,如图5和图6所示。
完成时钟同步之后,考虑到在站场线路较为复杂,针对不同的线路场景,计算MA的方式不同。在测试环境中的事件集内部通过初始事件设定营造虚拟场景,并完成不同场景下的MA计算。该平台允许测试人员对外界测试环境、应用和通信数据设定以及用户负载等方面进行灵活配置,例如通过设置VOBC内部事件集可完成摆车操作,设置CI内部事件集可完成线路轨旁设备障碍物摆放操作,完成线路场景上的测试前提设定工作。通过VOBC仿真节点内部事件集界面可完成外部操作,图7为本申请实施例提供的VOBC配置模块示意图,如图7所示。将该功能场景下的xml模型文件上传至测试控制中心,进行模型解析,产生测试命令等工作,完成测试,并进行相关测试记录。
表1-测试记录
所以该测试项通过。
即使测试序列已完成优化工作,由于缺乏点对点测试方案特点,如果选用在传统仿真测试平台上完成不同线路段的MA测试活动,测试场景依赖于外部设备的功能逻辑,需要较多的运行等待时间来完成特定的线路段场景设置工作,时间成本较高。表2为关于MA的各个测试场景,是为了更加全面验证MA的正确性。完成上述各类场景的测试工作,采用传统仿真测试平台,至少需要1.5个小时,包括测试环境配置时间以及测试序列执行时间,而利用本文所开发的基于事件驱动的测试仿真平台只需要30min即可完成。
表2 MA测试场景
(2)性能测试
同样选用被测系统ZC为被测对象,性能测试指标选用该软件在最大控车容量10辆的前提下最大反应时间不超过200ms。
相对于ZC仿真软件而言,外部产生大量的并发用户,无论是网络带宽还是应用程序数据处理能力都面临着较大的负载压力,在此状况下软件是否能满足在最大反应时间内完成对列车移动授权信息的发送就成为值得验证的指标。
该测试平台首先选定系统测试种类为性能测试。因为涉及到多辆仿真车的环境,需要完成多辆仿真车的设置工作,即将VOBC所在PC仿真节点绑定10个IP地址,分配至各个虚拟列车。VOBC仿真节点的事件驱动模型需要绑定多个列车的特定的消息流程标识,模拟多用户向被测ZC仿真软件进行闭环测试。经过理论值计算,单个列车每个通信周期分别会发送400字节和接收360字节长度数据。
在性能测试环境完成搭建后,经过一个小时的系统模拟运行,将实际的车地通信时间做了数据记录。采集并监听各个虚拟列车所在IP地址的数据收发间隔以及接收到的数据长度,统计结果证明该仿真软件的反应时间均不超过200ms,满足性能指标要求。
传统仿真方式进行性能测试时为了满足大规模的集群测试要求,会占用更多的线程或者PC硬件节点,通过搭建自动化测试平台的方式实现对于软件的性能测试,极大的避免了人工测试所花费的时间成本和风险成本。
可选地,自动化测试方法在不断调整与改进的过程中,需要对测试效率和测试成本进行综合评估。
本发明实施例所搭建的基于事件驱动的CBTC测试平台需要引入一种专门应用于测试平台的评估方式,来验证其相比于其它测试方法的优越性。
效益评估模型是目前针对软件自动化测试整个过程中投资成本和收益进行归纳分析的主流评估模型,借助该模型可以直观地展示自动化测试方案的质量,查看测试效率和测试成本等方面存在的问题,为后续测试方案的改进提供理论基础。
在效益评估模型中计算测试方案的投资回报率,所涉及到的计算指标分别为开发自动化测试平台的软硬件成本Cs、开发成本Ce、执行成本Ct、平台维护成本Cr以及测试驱动命令执行次数Ts等五项计算指标。另外进行人工测试时测试用例开发成本Ci、手工测试用例执行成本Cm、手工测试用例维护成本Co以及测试用例执行次数Ti等四项计算指标。
自动化测试成本为Ca,计算方案如下:
Ca=Cs+Ce+(Ct×Ts+Cr×Ts)
人工测试成本为Cn,计算方案如下:
Cn=Ci+(Cm×Ti+Co×Ti)
其中自动化测试方案利益为P=Cn-Ca,最终自动化测试方案评估标准为ROI(投资回报率),计算方案如下:
ROI=(Cn-Ca)/Ca×100%
在进行上述效益评估过程中所涉及到的计算指标均可以用时间来量化表述,Ci、Cm、Ct和Cr等指标参数均可从项目进行测试过程中直接获取或者通过以往测试历史记录中大致估算获取,其中Cs软硬件成本以货币为表述单位,不能直接以时间描述,需要将货币单位转换为有效工时即可进行转换。以本论文所依托项目数据为例,结合以往实验室测试相关数据推算出如表3所示各项测试成本数据。(其中,维护成本指标指的是测试用例,脚本或者数据库等维护成本,未考虑其它成本)
表3测试成本
根据上述相关成本数据,基于事件的自动化测试平台结合效益评估模型计算出投资回报率(ROI(n),其中n表示执行测试用例执行次数):
ROI(1)=((24+18*1+4*1)-(50+100+4*1+8*1))/(50+100+4*1+8*1)=-71.6%
同理ROI(2)=-60.9%,ROI(3)=-51.6%......直到ROI(13)=1.3%大于0。
根据上述计算结果可得,在进行少数测试项工作时ROI均小于0,自动化测试成本高于人工测试成本,直到进行第13次测试项ROI才大于0(包括第13次),整个ROI值随着测试次数的增加呈上升趋势。为突出数据特点,利用数据处理工具生成的各类自动化测试ROI值与测试用例执行次数关系图
通过分析关系图可以得出以上三种自动化测试方案,有一个共同特性,在进行少量测试次数时,收益是负值,此现象说明如果只进行少量测试,为此搭建一个自动化测试平台是得不偿失的,投资回报率为负值。随着执行次数的增加,各类自动化测试ROI均呈上升趋势,各种不同的自动化测试平台会迎来各自的平衡点,所花费成本与人工测试成本持平。同时随着测试执行次数和时间的增加,基于事件驱动的自动化测试平台ROI值迎来正增长,且明显高于其它两种自动化测试平台。根据效益评估模型,可以验证基于事件驱动的自动化测试技术的优越性,尤其在进行性能测试或者涉及较多的测试次数和测试时间的功能测试过程中其优越性愈加明显,相较于其它自动化测试方案,该方案测试效率更高,测试成本更低。
下面对本发明提供的CBTC自动自测试装置进行描述,下文描述的CBTC自动自测试装置与上文描述的CBTC自动自测试方法可相互对应参照。
图8为本申请实施例提供的CBTC自动自测试装置结构示意图,如图8所示,包括:
第一获取模块810用于获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;
优化模块820用于基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;
测试模块830用于基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
在本申请实施例中,通过构建基于事件图的第一测试序列,通过事件树优化算法获取冗余程度较低的第二测试序列。以及,基于事件驱动模型开发了高拟真度的CBTC自动化测试平台,对所述测试环境与所述被测模块进行测试,提高了系统测试自动化程度以及测试效率。
图9是本发明提供的电子设备的结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行CBTC自动自测试方法,该方法包括:获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的CBTC自动自测试方法,该方法包括:获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的CBTC自动自测试方法,该方法包括:获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种CBTC自动自测试方法,其特征在于,包括:
获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;
基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;
基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
2.根据权利要求1所述的CBTC自动自测试方法,其特征在于,所述获取基于事件图的第一测试序列,包括:
基于被测系统的测试项信息构建基于事件图CBTC的功能模型;
将所述基于事件图CBTC的功能模型转换为时间自动机模型;
基于测试序列生成算法和所述时间自动机模型,可以得到所述基于事件图的第一测试序列。
3.根据权利要求1所述的CBTC自动自测试方法,其特征在于,在所述基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试之前,所述方法还包括:
基于区域控制系统信息、设计约束信息、运行环境信息、开发环境信息、体系框架信息以及交互数据设计信息中的至少一项,构建基于事件驱动模型的CBTC自动化测试平台。
4.根据权利要求3所述的CBTC自动自测试方法,其特征在于,所述CBTC自动化测试平台,具体包括;
CI仿真子系统、VOBC仿真子系统、ATS仿真子系统、轨旁仿真子系统和ZC仿真子系统中的一项或多项。
5.根据权利要求1所述的CBTC自动自测试方法,其特征在于,所述基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列,包括:
对所述基于事件图的第一测试序列中各个测试项的覆盖率和冗余度进行优化处理,得到多个并行的事件树序列;
基于多个所述并行的事件树序列,得到冗余程度较低的第二测试序列。
6.一种CBTC自动自测试装置,其特征在于,包括:
第一获取模块,用于获取基于事件图的第一测试序列,其中,所述第一测试序列中包括正确的完整事件序列和故障的完整事件序列;
优化模块,用于基于事件树优化的测试序列优化算法对所述第一测试序列进行优化,得到冗余程度较低的第二测试序列;
测试模块,用于基于事件驱动模型的CBTC自动化测试平台对所述第二测试序列进行测试,得到测试结果。
7.根据权利要求6所述的CBTC自动自测试装置,其特征在于,所述第一获取模块,具体用于:
基于被测系统的测试项信息构建基于事件图CBTC的功能模型;
将所述基于事件图CBTC的功能模型转换为时间自动机模型;
基于测试序列生成算法和所述时间自动机模型,可以得到所述基于事件图的第一测试序列。
8.根据权利要求6所述的CBTC自动自测试装置,其特征在于,所述装置还包括:
构建模块,用于基于区域控制系统信息、设计约束信息、运行环境信息、开发环境信息、体系框架信息以及交互数据设计信息中的至少一项,构建基于事件驱动模型的CBTC自动化测试平台。
9.根据权利要求8所述的CBTC自动自测试装置,其特征在于,所述CBTC自动化测试平台,具体包括;
CI仿真子系统、VOBC仿真子系统、ATS仿真子系统、轨旁仿真子系统和ZC仿真子系统中的一项或多项。
10.根据权利要求6所述的CBTC自动自测试装置,其特征在于,所述优化模块,具体用于:
对所述基于事件图的第一测试序列中各个测试项的覆盖率和冗余度进行优化处理,得到多个并行的事件树序列;
基于多个所述并行的事件树序列,得到冗余程度较低的第二测试序列。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述CBTC自动自测试方法的步骤。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述CBTC自动自测试方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述CBTC自动自测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111520343.7A CN114624525A (zh) | 2021-12-13 | 2021-12-13 | Cbtc自动自测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111520343.7A CN114624525A (zh) | 2021-12-13 | 2021-12-13 | Cbtc自动自测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114624525A true CN114624525A (zh) | 2022-06-14 |
Family
ID=81898537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111520343.7A Pending CN114624525A (zh) | 2021-12-13 | 2021-12-13 | Cbtc自动自测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114624525A (zh) |
-
2021
- 2021-12-13 CN CN202111520343.7A patent/CN114624525A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106154865B (zh) | 一种车载总线仿真模型自生成方法及系统 | |
CN109656820B (zh) | 基于cbtc的智能自动化测试系统 | |
CN102523030B (zh) | 通信卫星有效载荷测试系统仿真平台 | |
CN106802862A (zh) | 列车运行控制系统安全关键软件自动测试平台 | |
CN113010393A (zh) | 基于混沌工程的故障演练方法及装置 | |
Lv et al. | The search-based mutation testing of the chinese train control system level 3 on board a train control system | |
CN110413595A (zh) | 一种应用于分布式数据库的数据迁移方法和相关装置 | |
CN113343422A (zh) | 轨道交通运行仿真方法及系统 | |
CN114217769A (zh) | 基于mbse模型的机载光纤捷联航姿系统的设计方法 | |
Wu et al. | Scenario-based modeling of the on-board of a satellite-based train control system with colored petri nets | |
CN106802865B (zh) | 用于软件测试的应答模拟装置及方法 | |
CN109710513B (zh) | 一种用于cbtc系统自动化测试的引擎 | |
CN114896108A (zh) | 测试验证系统 | |
CN110611312A (zh) | 一种变电站间隔层全景数据在线模拟系统及方法 | |
CN114356757A (zh) | 一种基于有限自动驾驶仿真场景的测试条件配置方法 | |
CN103281160B (zh) | 一种控制器局域网帧传输验证方法 | |
Wang et al. | Cloud-based simulated automated testing platform for virtual coupling system | |
CN114624525A (zh) | Cbtc自动自测试方法及装置 | |
Middelkoop et al. | Train network simulator for support of network wide planning of infrastructure and timetables | |
Xu et al. | Parallel testing for centralized traffic control systems of intelligent railways | |
CN115150787A (zh) | 基于深度强化学习的能量管理策略包的部署系统及方法 | |
CN102075523A (zh) | 一种用于动车组网络控制逻辑验证的仿真装置 | |
CN114896802A (zh) | 基于VISSIM和Python的混合自动驾驶交通流仿真方法 | |
CN109101424A (zh) | 一种实现数据激励的方法及装置 | |
CN113868766A (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 |