CN103885879A - 用于联锁软件自动测试平台系统的脚本解析方法 - Google Patents
用于联锁软件自动测试平台系统的脚本解析方法 Download PDFInfo
- Publication number
- CN103885879A CN103885879A CN201410116831.5A CN201410116831A CN103885879A CN 103885879 A CN103885879 A CN 103885879A CN 201410116831 A CN201410116831 A CN 201410116831A CN 103885879 A CN103885879 A CN 103885879A
- Authority
- CN
- China
- Prior art keywords
- script
- platform system
- testing platform
- interlocking
- automatically 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,包括以下步骤:1)脚本读入:其中输入文件为通用测试脚本模板文件、联锁表配置文件、联锁确认测试表格和联锁表。2)脚本编译:包括词法解析、语法编译和创建语法树;3)脚本组建:根据语法树生成测试运行用最终脚本;4)脚本运行。与现有技术相比,本发明具有降低人工成本、提高效率等优点。
Description
技术领域
本发明涉及一种铁路信号设备系统,尤其是涉及一种用于联锁软件自动测试平台系统的脚本解析方法。
背景技术
当前在基于MMI站场模拟的模式下,办理进路、进路取消、占用出清等操作,检查站场中设备的状态,然后与脚本中预期结果数据相比较,来判定是否正确,都需要人工逐一审核。然而人工的测试方法,虽然较为灵活,能够考虑到很多特殊的情况,但缺点在于,由于每条线的车站数量较多,进行完一轮完整系统性的穷举测试,这个过程相对而言还是比较漫长的,通常需要几个月时间,而且一旦发现错误,则需要重新修改联锁逻辑,再进行新一轮的测试,这必将大大延长项目的工期。
经过对现有技术研究的文献检索发现,中国专利号文献CN201010226788.X介绍了一种用于移动通讯设备终端的浏览器脚本解析方法及其装置。使用该发明,能够较好的解决移动通讯设备终端浏览器脚本功能,并且解析移动通讯设备终端浏览器庞大和适配困难的问题。但这种脚本解析仅适用于特定领域,不使用于轨道交通领域,因此需要有一个在这种情况下的可替代方案。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种降低人工成本、提高效率的用于联锁软件自动测试平台系统的脚本解析方法。
本发明的目的可以通过以下技术方案来实现:
一种用于联锁软件自动测试平台系统的脚本解析方法,所述联锁软件自动测试平台系统由模拟下位机SimVLE、上位机人机交互界面MMI和集成测试工具ISTP构成,其特征在于,所述的方法包括以下步骤:
1)脚本读入;
2)脚本编译;
3)脚本组建;
4)脚本运行。
所述的脚本读入过程的输入文件为通用测试脚本模板文件、联锁表配置文件、联锁确认测试表格和联锁表。
所述的脚本编译包括词法解析、语法编译和创建语法树。
所述的词法编译为使用TAB命令查询数据库,并赋值给相应的变量,使用变量时,直接替换成变量所对应的值即可。
所述的TAB命令格式为NAME*=TAB[表名列名关键字(关键字索引值N)][目标列][目标列索引值N],具体功能为:联锁表中,在“表名”表中,“列名”列中查询“关键字”,返回第“关键字索引值N”个“关键字”所在行,“目标列”列与该行的交叉单元格中的内容即为表查询的结果,若“目标列索引值N”有值,则返回第N个搜索结果。
所述的语法编译具体为:对单条语句、WHILE循环语句和IF判断语句进行编译。
所述的单条语句包括如下命令:列车进路、调车进路、折返进路、模拟走车、道岔定操、道岔反操、道岔单锁、道岔解锁、引导总锁、区故解、总取消、总人解、道岔授权、道岔去授权、封锁、解封、信号重开、引导进路、设置TSR、取消TSR、全站解除、功能按钮、SET命令、GET命令、RESET命令。
所述的创建语法树为:每一个节点只有一个父节点,但有多个子节点。
所述的脚本组建过程为根据语法树生成测试运行用最终脚本。
所述的脚本运行为,在软件自动测试平台上运行生成的最终脚本。
与现有人工测试技术相比,人工测试由于每条线的车站数量较多,进行完一轮完整系统性的穷举测试,这个过程相对而言还是比较漫长的,通常需要几个月时间,而且一旦发现错误,则需要重新修改联锁逻辑,再进行新一轮的测试,这必将大大延长项目的工期,而使用本发明自动测试平台可以大大节省人力和时间,提高效率。
附图说明
图1为本发明应用层结构示意图;
图2为文件读入模块结构图;
图3为本发明实施的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实施例包括三层:应用层、逻辑层和接口层。所述的应用层包括文件读入模块。
如图2所示,所述的文件读入模块主要包括:联锁表、联锁表配置文件、联锁确认测试表格和通用测试脚本模板。
如图1所示,所述的逻辑层包括解析脚本模块、执行脚本生成模块。
如图1所示,所述的接口层包括脚本执行模块。
如图3所示,所述的读入脚本模块指读入一个测试用例文件;所述的词法解析指,将读入的测试用例按测试对象拆分测试用例成多个集合,对每个集合进行解析;所述的语法分析指,
如图3所示,所述的词法分析中拆分后的每个集合,包括词法定义和命令行两部分。词法定义使用特定的TAB命令查询数据库,并赋值给相应的变量,使用变量时,直接替换成变量所对应的值。
如图3所示,所述的TAB命令,格式为NAME*=TAB[表名_列名_关键字(关键字索引值N)][目标列][目标列索引值N]。功能为:联锁表中,在“表名”表中,“列名”列中查询“关键字”,返回第“关键字索引值N”个“关键字”所在行,“目标列”列与该行的交叉单元格中的内容即为表查询的结果,若“目标列索引值N”有值,则返回第N个搜索结果。
所述的语法分析,主要对单条语句、循环语句和判断语句进行编译。
所述的单条语句包括如下命令:列车进路、调车进路、折返进路、模拟走车、道岔定操、道岔反操、道岔单锁、道岔解锁、引导总锁、区故解、总取消、总人解、道岔授权、道岔去授权、封锁、解封、信号重开、引导进路、设置TSR、取消TSR、全站解除、功能按钮、SET命令、GET命令、RESET命令。
所述列车进路命令定义″ROUTE″。
所述调车进路命令定义″DROUTE″。
所述折返进路命令定义″ZFROUTE″。
所述模拟走车命令定义″TORR″。
所述道岔定操命令定义为″DC″。
所述道岔反操命令定义为″FC″。
所述道岔单锁命令定义为″DS″。
所述道岔解锁命令定义为″JS″。
所述引导总锁命令定义为″YDZS″。
所述区故解命令定义为″QGJ″。
所述总取消命令定义为″ZQX″。
所述总人解命令定义为″ZRJ″。
所述道岔授权命令定义为″DCSQ″。
所述道岔区授权命令定义为″DCQSQ″。
所述封锁命令定义为″FS″。
所述解封命令定义为″JF″。
所述信号重开命令定义为″CK″。
所述引导进路命令定义为″YD″。
所述设置TSR命令定义为″TSR″。
所述取消TSR命令定义为″QXTSR″。
所述全站解除TSR命令定义为″QZJCTSR″。
所述功能按钮命令定义为″FUNC″。
所述GET命令描述一条测试用例中的GET语句,获取一个码位值,是否是与设置的值相同。
所述SET命令描述一条测试用例中的SET语句,置码位。
所述RESET命令描述一条测试用例中的RESET语句,用于重置站场状态为空闲态。
所述的创建语法树,所述语法树每一个节点只有一个父节点,但有多个子节点。
所述的组建过程为根据所述的语法树生成测试运行用最终脚本。
所述的运行指,在软件自动测试平台上运行生成的最终脚本。
Claims (10)
1.一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,包括以下步骤:
1)脚本读入;
2)脚本编译;
3)脚本组建;
4)脚本运行。
2.根据权利要求1所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的脚本读入过程的输入文件为通用测试脚本模板文件、联锁表配置文件、联锁确认测试表格和联锁表。
3.根据权利要求1所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的脚本编译包括词法解析、语法编译和创建语法树。
4.根据权利要求3所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的词法编译为使用TAB命令查询数据库,并赋值给相应的变量,使用变量时,直接替换成变量所对应的值即可。
5.根据权利要求4所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的TAB命令格式为NAME*=TAB[表名_列名_关键字(关键字索引值N)][目标列][目标列索引值N],具体功能为:联锁表中,在“表名”表中,“列名”列中查询“关键字”,返回第“关键字索引值N”个“关键字”所在行,“目标列”列与该行的交叉单元格中的内容即为表查询的结果,若“目标列索引值N”有值,则返回第N个搜索结果。
6.根据权利要求3所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的语法编译具体为:对单条语句、WHILE循环语句和IF判断语句进行编译。
7.根据权利要求3所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的单条语句包括如下命令:列车进路、调车进路、折返进路、模拟走车、道岔定操、道岔反操、道岔单锁、道岔解锁、引导总锁、区故解、总取消、总人解、道岔授权、道岔去授权、封锁、解封、信号重开、引导进路、设置TSR、取消TSR、全站解除、功能按钮、SET命令、GET命令、RESET命令。
8.根据权利要求3所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的创建语法树为:每一个节点只有一个父节点,但有多个子节点。
9.根据权利要求8所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的脚本组建过程为根据语法树生成测试运行用最终脚本。
10.根据权利要求8所述的一种用于联锁软件自动测试平台系统的脚本解析方法,其特征在于,所述的脚本运行为,在软件自动测试平台上运行生成的最终脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116831.5A CN103885879B (zh) | 2014-03-26 | 2014-03-26 | 用于联锁软件自动测试平台系统的脚本解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116831.5A CN103885879B (zh) | 2014-03-26 | 2014-03-26 | 用于联锁软件自动测试平台系统的脚本解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103885879A true CN103885879A (zh) | 2014-06-25 |
CN103885879B CN103885879B (zh) | 2018-01-19 |
Family
ID=50954787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410116831.5A Active CN103885879B (zh) | 2014-03-26 | 2014-03-26 | 用于联锁软件自动测试平台系统的脚本解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103885879B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357180A (zh) * | 2017-07-07 | 2017-11-17 | 卡斯柯信号有限公司 | 一种信号和站台门的集成控制系统 |
CN108189861A (zh) * | 2017-12-29 | 2018-06-22 | 卡斯柯信号有限公司 | 基于模板化技术的铁路信号联锁表自动生成方法 |
CN108508867A (zh) * | 2018-03-23 | 2018-09-07 | 卡斯柯信号有限公司 | 基于行为驱动脚本的车载控制器软件测试系统及方法 |
CN109299005A (zh) * | 2018-09-05 | 2019-02-01 | 北京邮电大学 | 测试脚本的生成方法及装置 |
CN110908640A (zh) * | 2019-11-26 | 2020-03-24 | 京东数字科技控股有限公司 | 实现业务功能的方法和脚本引擎 |
CN112162921A (zh) * | 2020-09-15 | 2021-01-01 | 广州市方瞳科技有限责任公司 | 一种工业自动化测试与控制系统 |
CN113268415A (zh) * | 2021-05-11 | 2021-08-17 | 卡斯柯信号(成都)有限公司 | 一种基于测试用例的联锁规则自动测试系统及方法 |
CN113407229A (zh) * | 2020-03-17 | 2021-09-17 | 百度在线网络技术(北京)有限公司 | 用于生成离线脚本的方法及装置 |
CN114021530A (zh) * | 2021-11-09 | 2022-02-08 | 卡斯柯信号有限公司 | 一种联锁表的检查及修正的方法 |
CN114579203A (zh) * | 2022-03-07 | 2022-06-03 | 网易(杭州)网络有限公司 | 脚本文件检查方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207949B (zh) * | 2010-07-15 | 2012-11-21 | 优视科技有限公司 | 用于移动通讯设备终端的浏览器脚本解析方法及其装置 |
CN101976047B (zh) * | 2010-09-03 | 2013-09-11 | 北京全路通信信号研究设计院有限公司 | 一种ctcs-3的故障再现方法及系统 |
-
2014
- 2014-03-26 CN CN201410116831.5A patent/CN103885879B/zh active Active
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357180A (zh) * | 2017-07-07 | 2017-11-17 | 卡斯柯信号有限公司 | 一种信号和站台门的集成控制系统 |
CN107357180B (zh) * | 2017-07-07 | 2024-01-23 | 卡斯柯信号有限公司 | 一种信号和站台门的集成控制系统 |
CN108189861A (zh) * | 2017-12-29 | 2018-06-22 | 卡斯柯信号有限公司 | 基于模板化技术的铁路信号联锁表自动生成方法 |
CN108189861B (zh) * | 2017-12-29 | 2020-04-14 | 卡斯柯信号有限公司 | 基于模板化技术的铁路信号联锁表自动生成方法 |
CN108508867A (zh) * | 2018-03-23 | 2018-09-07 | 卡斯柯信号有限公司 | 基于行为驱动脚本的车载控制器软件测试系统及方法 |
CN108508867B (zh) * | 2018-03-23 | 2020-09-01 | 卡斯柯信号有限公司 | 基于行为驱动脚本的车载控制器软件测试系统及方法 |
CN109299005A (zh) * | 2018-09-05 | 2019-02-01 | 北京邮电大学 | 测试脚本的生成方法及装置 |
CN109299005B (zh) * | 2018-09-05 | 2020-07-07 | 北京邮电大学 | 测试脚本的生成方法及装置 |
CN110908640B (zh) * | 2019-11-26 | 2022-06-07 | 京东科技控股股份有限公司 | 实现业务功能的方法和脚本引擎 |
CN110908640A (zh) * | 2019-11-26 | 2020-03-24 | 京东数字科技控股有限公司 | 实现业务功能的方法和脚本引擎 |
CN113407229B (zh) * | 2020-03-17 | 2024-05-14 | 百度在线网络技术(北京)有限公司 | 用于生成离线脚本的方法及装置 |
CN113407229A (zh) * | 2020-03-17 | 2021-09-17 | 百度在线网络技术(北京)有限公司 | 用于生成离线脚本的方法及装置 |
CN112162921A (zh) * | 2020-09-15 | 2021-01-01 | 广州市方瞳科技有限责任公司 | 一种工业自动化测试与控制系统 |
CN113268415A (zh) * | 2021-05-11 | 2021-08-17 | 卡斯柯信号(成都)有限公司 | 一种基于测试用例的联锁规则自动测试系统及方法 |
CN114021530A (zh) * | 2021-11-09 | 2022-02-08 | 卡斯柯信号有限公司 | 一种联锁表的检查及修正的方法 |
CN114579203A (zh) * | 2022-03-07 | 2022-06-03 | 网易(杭州)网络有限公司 | 脚本文件检查方法、装置、电子设备及存储介质 |
CN114579203B (zh) * | 2022-03-07 | 2024-03-15 | 网易(杭州)网络有限公司 | 脚本文件检查方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103885879B (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885879A (zh) | 用于联锁软件自动测试平台系统的脚本解析方法 | |
CN103336742B (zh) | 一种基于Android的自动化软件黑盒测试系统及方法 | |
CN100515843C (zh) | 为基于火车站的重要计算机设备产生逻辑控制单元的方法和设备 | |
CN104599060B (zh) | 基于二次回路文件比对的智能变电站调试方案生成方法 | |
CN103559025B (zh) | 一种采用聚类方式进行软件重构的方法 | |
CN104063325A (zh) | 一种针对嵌入式软件的测试用例自动化生成装置及其方法 | |
CN107193917B (zh) | 基于iid的全站系统配置文件无损数据更新方法 | |
CN106126528B (zh) | 一种基于平台模型的小卫星测试基础信息生成方法 | |
CN105912381A (zh) | 一种基于规则库的编译期代码安全检测方法 | |
CN103235729B (zh) | 一种基于代码变更的软件模型同步方法 | |
CN102053912A (zh) | 一种基于uml图形对软件进行自动化测试的装置及方法 | |
CN103914564A (zh) | 基于ArcGIS的城市管线更新入库的方法及系统 | |
CN103777944A (zh) | 一种基于Eclipse的MIPS平台集成开发环境及其实现方法 | |
CN103049251A (zh) | 一种数据库持久层装置及数据库操作方法 | |
CN110020834A (zh) | 一种建模和调试融合的在线智能大数据开发方法 | |
CN102902547A (zh) | 一种命令行接口的命令构造与解析方法 | |
CN106095404A (zh) | 一种业务过程模型至服务组成模型的自动模型转换方法 | |
CN105955746B (zh) | 一种版本管理的方法及装置 | |
CN103400050A (zh) | 一种多人协同的核反应堆风险确定方法及系统 | |
Svendsen et al. | The future of train signaling | |
CN116955719B (zh) | 一种链式网络结构数字化存储的代码管理方法及系统 | |
CN105678022A (zh) | 面向方面的联锁系统安全需求形式化建模及验证方法 | |
Moutinho et al. | Ecore representation for extending PNML for Input-Output Place-Transition nets | |
Iliasov et al. | Formal verification of railway interlocking and its safety case | |
Van Alstine | Governance from below: contesting corporate environmentalism in Durban, South Africa |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |