CN110989549A - 用于列车控制系统的软件测试通用自动化控制方法及装置 - Google Patents
用于列车控制系统的软件测试通用自动化控制方法及装置 Download PDFInfo
- Publication number
- CN110989549A CN110989549A CN201911094308.6A CN201911094308A CN110989549A CN 110989549 A CN110989549 A CN 110989549A CN 201911094308 A CN201911094308 A CN 201911094308A CN 110989549 A CN110989549 A CN 110989549A
- Authority
- CN
- China
- Prior art keywords
- test
- variable
- model
- file
- stage
- 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
Classifications
-
- 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
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0221—Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种用于列车控制系统的软件测试通用自动化控制方法及装置,该方法步骤包括:S1.预先对不同类型的列车控制系统的通信协议进行解析,由解析得到的各变量得到通信接口变量,将通信接口变量与通用型变量以及模型变量进行存储;S2.进行测试时,控制获取测试过程中所需的所有变量数据的配置信息,以及获取变量数据之间关联关系的配置信息,根据构建的模型以及各变量数据控制执行各测试阶段,并控制将上一阶段的测试结果传递至下一阶段,直至完成测试。本发明能够实现列车控制系统软件测试的自动控制,且具有实现方法简单、自动化程度及测试效率高、通用性强等优点。
Description
技术领域
本发明涉及列车软件测试技术领域,尤其涉及一种用于列车控制系统的软件测试通用自动化控制方法及装置。
背景技术
列车控制系统中涉及众多的控制软件程序,在列车控制系统设计过程中需要对该控制软件程序进行测试。如图1所示,常规软件测试整个流程通常分为五个阶段:第一阶段为测试需求,即进行测试需求的整理与建模;第二阶段为测试设计,即基于需求模型作为测试设计的输入,进行测试设计建立测试模型形成测试用例;第三阶段为测试执行,即基于测试设计阶段的成果物(即测试用例)作为该阶段的输入进行测试执行,形成测试结果记录;第四阶段为测试报告编制,即基于测试结果记录形成最终的测试报告;第五阶段为缺陷入库,即基于测试结论将缺陷导入缺陷库。
针对列车控制系统的软件测试,目前通常都是人工按照测试阶段采用不同的测试工具分别进行,如在需求建模阶段采用测试需求工具,在测试设计阶段采用测试设计工具,在测试执行工具再选用测试执行工具,各工具之间的数据接口、各阶段的测试过程相互独立,而上述基于人工的软件测试方式会存在以下问题:
1、在实现整个软件测试流程中,下一阶段的输入即为上一阶段的输出,每一个阶段的数据的完整性与准确性会直接影响后续每一个阶段,上述基于人工的软件测试方式需要人为进行数据的传递,即人工将上一阶段的结果导出提供给下一阶段,在该数据传递过程中极易于出现疏漏或偏差,甚至会造成软件测试最终无法执行等问题;
2、从需求建模到测试执行的各个测试阶段,均需要人工分别控制启动、执行,测试效率低,完成整个测试流程需要不断的人工导出数据、导入数据及控制切换等,难以高效完成整个测试流程;
3、不同类型列车控制系统的通信协议可能是不同的,采用上述基于人工的测试方式对列车控制系统的软件程序测试时,每次需要人工依据通信协议类型重新进行配置及设计,这会造成大量的重复操作,进一步增加了测试复杂度以及降低测试效率。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、自动化程度及测试效率高、通用性强的用于列车控制系统的软件测试通用自动化控制方法及装置。
为解决上述技术问题,本发明提出的技术方案为:
一种用于列车控制系统的软件测试通用自动化控制方法,步骤包括:
S1. 变量管理:预先对不同类型的列车控制系统的通信协议进行解析,由解析得到的各变量得到通信接口变量,并配置测试过程中所需的通用型变量以及用于测试过程中仿真模型数据收发的模型变量进行存储;
S2. 自动测试控制:对待测列控系统软件进行测试时,控制根据通信协议类型获取测试过程中所需的所有变量数据的配置信息,以及获取变量数据中所述通信接口变量、模型变量与所述通用型变量之间关联关系的配置信息,根据构建的模型以及按照所述配置信息配置的各变量数据控制执行各测试阶段,并控制将上一阶段的测试结果传递至下一阶段,直至完成测试。
进一步的,所述步骤S1中还包括将所述通信接口变量、通用型变量、模型变量依次对应分层划分为通信接口变量层、通用变量层以及模型变量层步骤。
进一步的,所述分层划分时具体将所述通信接口变量层配置为顶层、所述通用变量层配置为中间层以及所述模型变量层配置为底层。
进一步的,所述步骤S2中,具体通过识别传递的数据/文件的类型,根据识别的类型控制将上一阶段的测试结果传递至下一阶段。
进一步的,所述步骤S2中控制执行测试的具体步骤包括:
S21.需求建模阶段时,按照指定模型构建需求模型后,控制将构建的所述需求模型以及测试所需的所有变量数据传递至测试设计阶段;
S22.测试设计阶段时,控制接收包括所述步骤S21传递的变量数据、需求模型的需求文件并进行解析,按照预设模型进行测试建模后控制根据解析后的需求文件执行测试设计,形成所需的测试脚本文件并传递至测试执行阶段;
S23.测试执行阶段时,控制接收所述步骤S22传递的测试脚本文件,并控制根据接收到的测试脚本文件执行测试,输出测试结果。
进一步的,所述步骤S21中构建需求模型时和/或步骤S22中构建测试模型时,根据待测列车控制系统软件中各功能点、各层次之间的逻辑关系,采用状态机、图形化逻辑以及流程图方式中任意一种模型进行建模。
进一步的,所述步骤S22中执行测试设计时还包括测试设计工具自动匹配步骤,具体步骤包括:预先构建不同需求文件类型与测试设计工具之间的对应关系,得到设计工具适配对应关系,接收到的步骤S21输出的数据文件时识别文件类型,根据识别出的结果按照所述设计工具适配对应关系选择对应的测试设计工具执行测试设计。
进一步的,所述步骤S23中执行测试时还包括测试执行工具自动匹配步骤,具体步骤包括:预先构建不同脚本文件类型与测试执行工具之间的对应关系,得到测试工具适配对应关系,接收到步骤S22输出的测试脚本文件时识别文件类型,根据识别出的结果按照所述测试工具适配对应关系选择对应的测试执行工具执行测试。
进一步的,所述测试设计工具自动匹配步骤和/或所述测试执行工具自动匹配步骤中,选择对应的工具时具体通过解析接收到的文件数据包的文件属性并设置属性标记,将设置有所述属性标记的文件数据包传递至对应的测试阶段,识别所述属性标记后将所述文件数据包适配导入至对应的工具中。
进一步的,所述属性标记包括待测软件的软件类型属性标记和/或所述测试脚本文件的文件格式、类型的属性标记。
一种用于列车控制系统的软件测试通用自动化控制装置,包括:
变量管理模块,用于预先对不同类型的列车控制系统的通信协议进行解析,由解析得到的各变量得到通信接口变量,并配置测试过程中所需的通用型变量以及用于测试过程中仿真模型数据收发的模型变量进行存储;
自动测试控制模块,用于对待测列控系统软件进行测试时,控制根据通信协议类型获取测试过程中所需的所有变量数据的配置信息,以及获取变量数据中所述通信接口变量、模型变量与所述通用型变量之间关联关系的配置信息,根据构建的模型以及按照所述配置信息配置的各变量数据控制执行各测试阶段,并控制将上一阶段的测试结果传递至下一阶段,直至完成测试。
进一步的,所述自动测试控制模块包括:
第一控制单元,用于需求建模阶段时,按照指定模型构建需求模型后,控制将构建的所述需求模型以及测试所需的所有所述变量数据传递至测试设计阶段;
第二控制单元,用于测试设计阶段时,控制接收包括所述第一控制单元传递的变量数据、需求模型的需求文件并进行接卸,按照预设模型进行测试建模后控制根据将解析后的需求文件执行测试设计,形成所需的测试脚本文件并传递至测试执行阶段;
第三控制单元,用于测试执行阶段时,控制接收所述第二控制单元传递的测试脚本文件,并控制根据接收到的测试脚本文件执行测试,输出测试结果。
进一步的,所述第二控制单元执行测试设计时,还包括预先构建不同需求文件类型与测试设计工具之间的对应关系,得到设计工具适配对应关系,接收到的所述第一控制单元输出的数据文件时识别文件类型,根据识别出的结果按照所述设计工具适配对应关系选择对应的测试设计工具执行测试设计。
进一步的,所述第三控制单元执行测试时,还包括预先构建不同脚本文件类型与测试执行工具之间的对应关系,得到测试工具适配对应关系,接收到所述第二控制单元输出的测试脚本文件时识别文件类型,根据识别出的结果按照所述测试工具适配对应关系选择对应的测试执行工具执行测试。
一种用于列车控制系统的软件测试通用自动化控制装置,包括计算机设备,其特征在于,所述计算机设备被编程以执行如上述方法的步骤,或者该计算机设备的存储介质上存储有被编程以执行上述方法的计算机程序。
与现有技术相比,本发明的优点在于:
1、本发明通过预先将对应不同类型列车控制系统的通信协议的通信接口变量、通用型变量以及模型变量进行存储,测试时控制获取各变量以及关联关系的配置信息,在测试的各个阶段依据配置后的变量数据执行控制,能够实现测试的全流程数据共享,同时控制自动将上一阶段的测试结果传递至下一阶段,能够实现不同测试阶段的数据自动流转,打通测试不同阶段的数据联系,可以将不同阶段数据完整准确地进行传递,从而实现列车控制系统软件测试整个测试流程的自动控制。
2、本发明自动化程度高,且可以通用于不同类型的列车控制系统软件测试中,实现不同列车控制系统的软件测试自动控制,可以有效减少大量的重复配置操作,极大的提高了测试效率以及测试便捷性。
3、本发明能够实现将整个列车控制系统从测试需求到测试设计再到测试执行阶段的串行关联,每个测试阶段中通过识别数据、文件类型实现数据传递,以及通过解析接收到的各文件得到所描述的关联关系或逻辑关系后控制执行各阶段测试,可以保证数据传递的可靠性及有效性,从而确保每个测试阶段执行的准确性。
4、本发明通过在测试设计阶段、测试执行阶段进行数据文件类型的识别,根据识别结果来自动匹配合适的测试设计工具,可以实现数据与测试工具的自动识别、调用而无需人工参与,可以进一步提高测试的自动化程度及测试效率,减少测试工作量,同时避免人为因素产生的错误。
附图说明
图1是软件测试的整个测试流程示意图。
图2是本实施例用于列车控制系统的软件测试通用自动化控制方法的实现流程示意图。
图3是本实施例中实现变量管理的原理示意图。
图4是本实施例中变量层划分的原理示意图。
图5是本发明具体应用实施例中所采用的有限状态机模型示意图。
图6是本发明具体应用实施例中所采用的流程图模型示意图。
图7本发明具体应用实施例中所采用的图形化语言模型示意图。
图8是本发明具体应用实施例中测试执行阶段的实现流程示意图。
图9是本实施例软件测试通用自动化控制装置的工作原理示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图2所示,本实施例用于列车控制系统的软件测试通用自动化控制方法的步骤包括:
S1. 变量管理:预先对不同类型的列车控制系统的通信协议进行解析,由解析得到的各变量得到通信接口变量,并配置测试过程中所需的通用型变量以及用于测试过程中仿真模型数据收发的模型变量进行存储;
S2. 自动测试控制:对待测列控系统软件进行测试时,控制根据通信协议类型获取测试过程中所需的所有变量数据的配置信息,以及获取变量数据中通信接口变量、模型变量与通用型变量之间关联关系的配置信息,根据构建的模型以及按照配置信息配置的各变量数据控制执行各测试阶段,并控制将上一阶段的测试结果传递至下一阶段,直至完成测试。
本实施例通过预先将对应不同类型列车控制系统的通信协议的通信接口变量、通用型变量以及模型变量进行配置存储,测试时控制获取各变量以及关联关系的配置信息,在测试的各个阶段依据配置后的变量数据执行控制,能够实现测试的全流程数据共享,同时控制自动将上一阶段的测试结果传递至下一阶段,能够实现不同测试阶段的数据自动流转,打通测试不同阶段的数据联系,可以将不同阶段数据完整准确地进行传递,从而实现列车控制系统软件测试整个测试流程的自动控制,且可以通用于不同类型的列车控制系统软件测试中,有效减少了大量的重复配置操作,极大的提高了测试效率以及测试便捷性。
本实施例步骤S1中还包括将通信接口变量、通用型变量、模型变量依次对应分层划分为通信接口变量层、通用变量层以及模型变量层步骤,可以实现变量的分层管理。由于软件测试业务流程中每个阶段的成果文件以及数据表现方式不同,通过变量分层管理可便于实现全流程数据共享,其中通用接口变量层中即为通信协议接口变量,通用变量层中存储为通用型变量,模型变量层中存储为用于测试过程中仿真模型数据收发的模型变量。上述分层划分时具体将通信接口变量层配置为顶层、通用变量层配置为中间层以及模型变量层配置为底层,即通信协议层数据即为通信接口变量为最顶层变量,不同的测试项目存在较大的差异,虽然通信接口变量命名因不同测试项目存在较大差异,但是所表示的含义是相同的,因此本实施例具体采用通用变量来进行去差异化以实现通用化,通用型变量则为中间层变量,底层变量为模型变量,实现仿真模型与通用变量进行直接交互。
如图2、3所示,本实施例在对待测列车控制系统软件进行测试时,具体先对各种不同类型的列车控制系统的通信协议(例如:MVB,WTB,485,以太网等)进行解析,对解析得到的通信协议变量进行管理,将变量进行层次化处理形成顶层通信接口变量层(通信协议层变量)以及底层模型变量层(模型变量),中间层为通用型变量,需求建模前通过变量配置建立通信协议变量与模型变量之间的关联关系,以将通信数据、模型数据进行关联,实现需求以及测试模型的实例化,从而作为后续自动化测试工具对数据的识别与传递的基础。
在具体应用实施例中,实现变量管理的详细步骤包括:
步骤S1中预先将不同类型的列车控制系统的通信协议按照统一格式进行编写,对各通信协议进行解析后,将各协议中的所有变量按照不同的协议类型(例如:MVB,WTB或以太网协议)分别进行存储,即形成顶层的通信接口变量;
步骤S2中测试时,获取顶层与中间层通用型变量之间关联关系的配置表,通过读取配置表中配置信息,实现顶层与中间层变量的数据交互,使得将数据作用于顶层变量;以及建立仿真模型时实现仿真模型数据与中间层变量之间的数据传递与交互。
本实施例步骤S2中,具体通过识别传递的数据/文件的类型,根据识别的类型控制将上一阶段的测试结果传递至下一阶段。每一种类型的数据/文件都具有对不同的属性与字段的定义,包括:项目名称、系统类型、硬件类型、软件类型、阶段名称等,本实施例具体通过每个测试阶段中通过识别数据、文件类型实现数据传递,可以保证数据传递的可靠性及有效性。
本实施例中,步骤S2中控制执行测试的具体步骤包括:
S21.需求建模阶段时,按照指定模型构建需求模型后,控制将构建的需求模型以及测试所需的所有变量数据传递至测试设计阶段;
S22.测试设计阶段时,控制接收包括步骤S21传递的变量数据、需求模型的需求文件并进行解析,按照预设模型进行测试建模后控制根据解析后的需求文件执行测试设计,形成所需的测试脚本文件并传递至测试执行阶段;
S23.测试执行阶段时,控制接收步骤S22传递的测试脚本文件,并控制根据接收到的测试脚本文件执行测试,输出测试结果。
通过上述步骤,能够实现将整个列车控制系统从测试需求到测试设计再到测试执行阶段的串行关联,从而实现整个测试流程的自动控制,每个测试阶段中通过识别数据、文件类型实现数据传递,以及通过解析接收到的各文件得到所描述的关联关系或逻辑关系后控制执行各阶段测试,确保每个测试阶段执行的准确性。
本实施例中,步骤S21中构建需求模型时、步骤S22中构建测试模型时,根据待测列车控制系统软件中各功能点、各层次之间的逻辑关系,采用状态机、图形化逻辑或流程图等模型进行建模。状态机、图形化逻辑以及流程图建模方式,可以针对车辆控制系统的特性,准确且无二义性地表达车辆控制系统软件架构中各功能点以及各层次之间的逻辑关系,形成的模型文件能够对需求进行准确而明确地描述,还能够在文件中获取各状态步骤以及逻辑之间的关联关系。
三种建模方式具体为:
a) 有限状态机模型:
有限状态机模型主要由状态和动作组成,状态由一组变量以及变量的值组成,表征被测软件的一种确定的状态。任一时刻,系统总是处于某一特定的状态,在特定的输入条件下从一个状态转移到另外一个状态,同时产生一个输出。本实施例基于有限状态机模型构建的基本有限状态机如图4所示,其中在状态S0,输入为b时转移到状态S1,而输入为d时转移到状态S2。
b) 流程图模型:
流程图是采用图框的形式将某个过程中的每个步骤进行模型描述与分析方式,本实施例基于流程图模型方式构建的测试执行流程如图5所示,测试开始后,执行各测试步骤,各测试步骤执行后判断是否为期望结果,如果是,测试用例不通过,否则测试用例通过。
c) 图形化语言
采用图形化语言模型来表示测试过程,通过图形化语言进行功能逻辑模型描述,结构清晰、可读性强。本实施例基于图形化语言模型构建的测试执行模型如图6所示,将测试步骤表示为各输入(输入1、2),经过逻辑与/或后得到输出结果。
本实施例中,步骤S22中执行测试设计时还包括测试设计工具自动匹配步骤,具体步骤包括:预先构建不同需求文件类型与测试设计工具之间的对应关系,得到设计工具适配对应关系,接收到的步骤S21输出的数据文件时识别文件类型,根据识别出的结果按照设计工具适配对应关系选择对应的测试设计工具执行测试设计。
本实施例中,步骤S23中执行测试时还包括测试执行工具自动匹配步骤,具体步骤包括:预先构建不同脚本文件类型与测试执行工具之间的对应关系,得到测试工具适配对应关系,接收到步骤S22输出的测试脚本文件时识别文件类型,根据识别出的结果按照测试工具适配对应关系选择对应的测试执行工具执行测试。
上述通过在测试设计阶段、测试执行阶段进行数据文件类型的识别,根据识别结果来自动匹配合适的测试设计工具,可以实现不同阶段数据与测试工具的自动识别与调用而无需人工参与,可以进一步提高测试的自动化程度及测试效率,减少测试工作量,同时避免人为因素产生的错误。
每一种类型的数据/文件都具有对不同的属性与字段的定义,包括:项目名称、系统类型、硬件类型、软件类型、阶段名称等,本实施例具体通过解析字段与属性判断所处的测试阶段,同时依据对数据/文件的解析与测试过程中不同节点(如测试设计阶段、测试执行阶段)的工具进行精准适配,成功适配后将数据传递并导入适配的工具,由适配的工具再对数据进行解析,能够将上一阶段的输出数据自动作为下一阶段的输入数据,实现数据在测试各个阶段的自动流转,同时能够实现不同阶段的工具自动适配。
在具体应用实施例中,上述测试设计工具自动匹配步骤、测试执行工具自动匹配步骤中,选择对应的工具时具体通过解析接收到的文件数据包的文件属性并设置属性标记,将设置有属性标记的文件数据包传递至对应的测试阶段,识别属性标记后将文件数据包适配导入至对应的工具中。上述属性标记具体包括待测软件的软件类型属性标记、测试脚本文件的文件格式、类型的属性标记等,具体可根据实际需求配置。通过设置属性标记,可以方便、快速的识别文件属性类型,从而高效的实现不同阶段的数据流转及工具适配。
如图7所示,以测试执行阶段为例,测试脚本具有多种不同的类型,例如XML、Excel以及Python等,本实施例测试执行阶段时,首先解析软件类型,将该脚本数据包进行软件类型标记;而后进行脚本格式与类型属性的解析,对脚本数据包增加脚本类型的标记;再将增加了属性标记的数据包传递到软件测试执行阶段,通过识别属性标记自动将脚本数据包自动适配导入相应的测试执行工具。
本实施例中,步骤S23中执行测试后,还包括控制根据测试脚本文件形成脚本数据包、控制根据测试结果生成测试报告,以及控制将由测试得出的缺陷导入至缺陷库步骤,可以控制自动完成整个软件测试流程,同时生成指定格式的测试报告。
本实施例完整的测试流程具体为:
需求建模阶段时,在建立需求建模工程后,获取输入的工程相关信息,包括软件类型以及适配硬件等,通过预先配置的需求建模工具按照状态机、图形化逻辑以及流程图任意一种建模方式构建需求模型,完成建模后针对三种建模方式可以生成三种不同格式的文件形式。
测试设计阶段时,根据不同的软件类型将需求文件适配到相应的测试设计工具,并接收需求阶段的所有变量数据以及需求模型。测试建模的方式与需求建模相同,可以采用状态机、图形化逻辑以及流程图任意一种方式,在建立测试模型时,将软件类型以及适配的硬件等信息均导入匹配的测试设计工具并内嵌在测试工程文件中,测试设计阶段完成后,最终产生的测试脚本(包括XML、Excel以及Python等格式)。
测试执行阶段时,接收测试设计阶段的测试脚本文件,并根据内嵌的软件类型等配置信息,将不同的测试脚本自动导入匹配的测试执行工具中,测试执行工具按照配置的测试执行计划在预设时间选择需要执行的测试脚本进行测试执行,测试执行完成后生成测试报告及发送。测试执行过程中,测试脚本采用Python脚本的方式进行编写,可执行的测试脚本文件格式后缀名为.py,在测试完成后由测试工具对测试结果进行记录,并将测试脚本数据进行打包或形成XML文件格式,对测试结果进行分析形成Excel格式的测试报告。进一步可配置部分测试用例采用Excel表格的形式进行测试用例编写,在执行完成后对表格进行回填记录测试结果,形成一份完整的测试执行记录,基于测试执行记录形成Excel格式的测试报告。
缺陷入库阶段时,对测试报告以及测试完成后的脚本文件进行自动筛选,将不通过脚本存入问题记录文件,将最终的缺陷项点形成缺陷文件后导入缺陷库,根据填写的缺陷项与不通过的测试脚本进行自动匹配,并控制将该项目最终的缺陷报告发送给指定位置。上述对缺陷采用条目化文本形式或需求建模等的方式对缺陷进行描述。
本实施例用于列车控制系统的软件测试通用自动化控制装置包括:
变量管理模块,用于预先对不同类型的列车控制系统的通信协议进行解析,由解析得到的各变量得到通信接口变量,并配置测试过程中所需的通用型变量以及用于测试过程中仿真模型数据收发的模型变量进行存储;
自动测试控制模块,用于对待测列控系统软件进行测试时,控制根据通信协议类型获取测试过程中所需的所有变量数据的配置信息,以及获取变量数据中通信接口变量、模型变量与通用型变量之间关联关系的配置信息,根据构建的模型以及按照配置信息配置的各变量数据控制执行各测试阶段,并控制将上一阶段的测试结果传递至下一阶段,直至完成测试。
本实施例中,自动测试控制模块包括:
第一控制单元,用于需求建模阶段时,按照指定模型构建需求模型后,控制将构建的需求模型以及测试所需的所有变量数据传递至测试设计阶段;
第二控制单元,用于测试设计阶段时,控制接收包括第一控制单元传递的变量数据、需求模型的需求文件并进行接卸,按照预设模型进行测试建模后控制根据将解析后的需求文件执行测试设计,形成所需的测试脚本文件并传递至测试执行阶段;
第三控制单元,用于测试执行阶段时,控制接收第二控制单元传递的测试脚本文件,并控制根据接收到的测试脚本文件执行测试,输出测试结果。
本实施例中,第二控制单元执行测试设计时,还包括预先构建不同需求文件类型与测试设计工具之间的对应关系,得到设计工具适配对应关系,接收到的第一控制单元输出的数据文件时识别文件类型,根据识别出的结果按照设计工具适配对应关系选择对应的测试设计工具执行测试设计。
本实施例中,第三控制单元执行测试时,还包括预先构建不同脚本文件类型与测试执行工具之间的对应关系,得到测试工具适配对应关系,接收到第二控制单元输出的测试脚本文件时识别文件类型,根据识别出的结果按照测试工具适配对应关系选择对应的测试执行工具执行测试。
如图9所示,本实施例上述软件测试通用自动化控制装置,通过接收各个阶段的数据、文件(需求模型、测试模型、测试脚本)进行识别,根据数据类型控制将上一阶段的数据传递至下一阶段实现数据的传输,同时根据通过文件解析适配对应的测试工具(测试需求工具、测试设计工具、测试执行工具),如在需求建模阶段,通过接收需求模型以及所有的变量数据进行文件识别后,将文件导入对应的测试需求工具中,在测试设计阶段,识别上一阶段的需求文件类型,将文件导入至匹配出的测试设计工具中,在测试执行阶段,则通过识别上一阶段的测试脚本文件,将文件导入至匹配出的测试执行工具中。
本实施例用于列车控制系统的软件测试通用自动化控制装置与上述用于列车控制系统的软件测试通用自动化控制方法为一一对应,在此不再一一赘述。
在另一实施例中,还包括用于列车控制系统的软件测试通用自动化控制装置,该装置包括计算机设备,计算机设备被编程以执行如上述用于列车控制系统的软件测试通用自动化控制方法的步骤,或者该计算机设备的存储介质上存储有被编程以执行上述用于列车控制系统的软件测试通用自动化控制方法的计算机程序。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (15)
1.一种用于列车控制系统的软件测试通用自动化控制方法,其特征在于,步骤包括:
S1. 变量管理:预先对不同类型的列车控制系统的通信协议进行解析,由解析得到的各变量得到通信接口变量,并配置测试过程中所需的通用型变量以及用于测试过程中仿真模型数据收发的模型变量进行存储;
S2. 自动测试控制:对待测列控系统软件进行测试时,控制根据通信协议类型获取测试过程中所需的所有变量数据的配置信息,以及获取变量数据中所述通信接口变量、模型变量与所述通用型变量之间关联关系的配置信息,根据构建的模型以及按照所述配置信息配置的各变量数据控制执行各测试阶段,并控制将上一阶段的测试结果传递至下一阶段,直至完成测试。
2.根据权利要求1所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于,所述步骤S1中还包括将所述通信接口变量、通用型变量、模型变量依次对应分层划分为通信接口变量层、通用变量层以及模型变量层步骤。
3.根据权利要求2所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于:所述分层划分时具体将所述通信接口变量层配置为顶层、所述通用变量层配置为中间层以及所述模型变量层配置为底层。
4.根据权利要求1或2或3所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于:所述步骤S2中,具体通过识别传递的数据/文件的类型,根据识别的类型控制将上一阶段的测试结果传递至下一阶段。
5.根据权利要求4所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于:所述步骤S2中控制执行测试的具体步骤包括:
S21.需求建模阶段时,按照指定模型构建需求模型后,控制将构建的所述需求模型以及测试所需的所有变量数据传递至测试设计阶段;
S22.测试设计阶段时,控制接收包括所述步骤S21传递的变量数据、需求模型的需求文件并进行解析,按照预设模型进行测试建模后控制根据解析后的需求文件执行测试设计,形成所需的测试脚本文件并传递至测试执行阶段;
S23.测试执行阶段时,控制接收所述步骤S22传递的测试脚本文件,并控制根据接收到的测试脚本文件执行测试,输出测试结果。
6.根据权利要求5所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于,所述步骤S21中构建需求模型时和/或步骤S22中构建测试模型时,根据待测列车控制系统软件中各功能点、各层次之间的逻辑关系,采用状态机、图形化逻辑以及流程图方式中任意一种模型进行建模。
7.根据权利要求5所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于,所述步骤S22中执行测试设计时还包括测试设计工具自动匹配步骤,具体步骤包括:预先构建不同需求文件类型与测试设计工具之间的对应关系,得到设计工具适配对应关系,接收到步骤S21输出的数据文件时识别文件类型,根据识别出的结果按照所述设计工具适配对应关系选择对应的测试设计工具执行测试设计。
8.根据权利要求5所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于,所述步骤S23中执行测试时还包括测试执行工具自动匹配步骤,具体步骤包括:预先构建不同脚本文件类型与测试执行工具之间的对应关系,得到测试工具适配对应关系,接收到步骤S22输出的测试脚本文件时识别文件类型,根据识别出的结果按照所述测试工具适配对应关系选择对应的测试执行工具执行测试。
9.根据权利要求7或8所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于,选择对应的工具时具体通过解析接收到的文件数据包的文件属性并设置属性标记,将设置有所述属性标记的文件数据包传递至对应的测试阶段,识别所述属性标记后将所述文件数据包适配导入至对应的工具中。
10.根据权利要求9所述的用于列车控制系统的软件测试通用自动化控制方法,其特征在于,所述属性标记包括待测软件的软件类型属性标记和/或所述测试脚本文件的文件格式、类型的属性标记。
11.一种用于列车控制系统的软件测试通用自动化控制装置,其特征在于,包括:
变量管理模块,用于预先对不同类型的列车控制系统的通信协议进行解析,由解析得到的各变量得到通信接口变量,并配置测试过程中所需的通用型变量以及用于测试过程中仿真模型数据收发的模型变量进行存储;
自动测试控制模块,用于对待测列控系统软件进行测试时,控制根据通信协议类型获取测试过程中所需的所有变量数据的配置信息,以及获取变量数据中所述通信接口变量、模型变量与所述通用型变量之间关联关系的配置信息,根据构建的模型以及按照所述配置信息配置的各变量数据控制执行各测试阶段,并控制将上一阶段的测试结果传递至下一阶段,直至完成测试。
12.根据权利要求11所述的用于列车控制系统的软件测试通用自动化控制装置,其特征在于,所述自动测试控制模块包括:
第一控制单元,用于需求建模阶段时,按照指定模型构建需求模型后,控制将构建的所述需求模型以及测试所需的所有所述变量数据传递至测试设计阶段;
第二控制单元,用于测试设计阶段时,控制接收包括所述第一控制单元传递的变量数据、需求模型的需求文件并进行接卸,按照预设模型进行测试建模后控制根据将解析后的需求文件执行测试设计,形成所需的测试脚本文件并传递至测试执行阶段;
第三控制单元,用于测试执行阶段时,控制接收所述第二控制单元传递的测试脚本文件,并控制根据接收到的测试脚本文件执行测试,输出测试结果。
13.根据权利要求12所述的用于列车控制系统的软件测试通用自动化控制装置,其特征在于,所述第二控制单元执行测试设计时,还包括预先构建不同需求文件类型与测试设计工具之间的对应关系,得到设计工具适配对应关系,接收到的所述第一控制单元输出的数据文件时识别文件类型,根据识别出的结果按照所述设计工具适配对应关系选择对应的测试设计工具执行测试设计。
14.根据权利要求12所述的用于列车控制系统的软件测试通用自动化控制装置,其特征在于,所述第三控制单元执行测试时,还包括预先构建不同脚本文件类型与测试执行工具之间的对应关系,得到测试工具适配对应关系,接收到所述第二控制单元输出的测试脚本文件时识别文件类型,根据识别出的结果按照所述测试工具适配对应关系选择对应的测试执行工具执行测试。
15.一种用于列车控制系统的软件测试通用自动化控制装置,包括计算机设备,其特征在于,所述计算机设备被编程以执行如权利要求1~10中任意一项所述方法的步骤,或者该计算机设备的存储介质上存储有被编程以执行权利要求1~10中任意一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094308.6A CN110989549B (zh) | 2019-11-11 | 2019-11-11 | 用于列车控制系统的软件测试通用自动化控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911094308.6A CN110989549B (zh) | 2019-11-11 | 2019-11-11 | 用于列车控制系统的软件测试通用自动化控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110989549A true CN110989549A (zh) | 2020-04-10 |
CN110989549B CN110989549B (zh) | 2021-10-12 |
Family
ID=70083710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911094308.6A Active CN110989549B (zh) | 2019-11-11 | 2019-11-11 | 用于列车控制系统的软件测试通用自动化控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110989549B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835419A (zh) * | 2021-11-29 | 2021-12-24 | 湖南中车时代通信信号有限公司 | 一种列控设备的测试方法、系统及存储介质 |
CN115447647A (zh) * | 2022-08-17 | 2022-12-09 | 交控科技股份有限公司 | 基于模型化开发的车辆仿真构建方法和装置 |
CN116932540A (zh) * | 2023-05-31 | 2023-10-24 | 中国能源建设集团广东省电力设计研究院有限公司 | 变电工程数据管理方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480826B2 (en) * | 2004-12-21 | 2009-01-20 | National Instruments Corporation | Test executive with external process isolation for user code modules |
CN101847123A (zh) * | 2010-05-26 | 2010-09-29 | 北京航空航天大学 | 一种机载计算机软件测试通用体系的构建方法 |
CN104239217A (zh) * | 2014-10-14 | 2014-12-24 | 北京全路通信信号研究设计院有限公司 | 铁路信号软件测试的方法及系统 |
CN109062777A (zh) * | 2018-08-10 | 2018-12-21 | 湖南中车时代通信信号有限公司 | 一种轨道交通信号设备通用自动化测试系统 |
CN110347603A (zh) * | 2019-07-12 | 2019-10-18 | 北京精密机电控制设备研究所 | 一种人工智能的自动化软件测试系统及方法 |
-
2019
- 2019-11-11 CN CN201911094308.6A patent/CN110989549B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480826B2 (en) * | 2004-12-21 | 2009-01-20 | National Instruments Corporation | Test executive with external process isolation for user code modules |
CN101847123A (zh) * | 2010-05-26 | 2010-09-29 | 北京航空航天大学 | 一种机载计算机软件测试通用体系的构建方法 |
CN104239217A (zh) * | 2014-10-14 | 2014-12-24 | 北京全路通信信号研究设计院有限公司 | 铁路信号软件测试的方法及系统 |
CN109062777A (zh) * | 2018-08-10 | 2018-12-21 | 湖南中车时代通信信号有限公司 | 一种轨道交通信号设备通用自动化测试系统 |
CN110347603A (zh) * | 2019-07-12 | 2019-10-18 | 北京精密机电控制设备研究所 | 一种人工智能的自动化软件测试系统及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835419A (zh) * | 2021-11-29 | 2021-12-24 | 湖南中车时代通信信号有限公司 | 一种列控设备的测试方法、系统及存储介质 |
CN115447647A (zh) * | 2022-08-17 | 2022-12-09 | 交控科技股份有限公司 | 基于模型化开发的车辆仿真构建方法和装置 |
CN116932540A (zh) * | 2023-05-31 | 2023-10-24 | 中国能源建设集团广东省电力设计研究院有限公司 | 变电工程数据管理方法、装置、计算机设备和存储介质 |
CN116932540B (zh) * | 2023-05-31 | 2024-06-04 | 中国能源建设集团广东省电力设计研究院有限公司 | 变电工程数据管理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110989549B (zh) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110989549B (zh) | 用于列车控制系统的软件测试通用自动化控制方法及装置 | |
CN100401265C (zh) | 关键字驱动的自动化测试系统及方法 | |
US20050028133A1 (en) | System and method for rapid design, prototyping, and implementation of distributed scalable architecture for task control and automation | |
US11651272B2 (en) | Machine-learning-facilitated conversion of database systems | |
CN105117215B (zh) | 汽车功能的开发方法及装置 | |
US8701079B2 (en) | Procedure and development environment for generation of an executable overall control program | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN112435072A (zh) | 一种模型创建方法、装置、电子设备及存储介质 | |
CN111651365B (zh) | 接口自动化测试方法及装置 | |
EP4365731A1 (en) | Device deployment method for ai model, system, and storage medium | |
CN114460925A (zh) | 一种电动汽车控制器can接口hil自动化测试方法 | |
CN117370217A (zh) | 一种基于python的接口测试结果自动生成方法 | |
CN109683865A (zh) | 动车组车载控制软件生成系统及方法 | |
CN115348200A (zh) | 一种can通信功能测试方法及测试系统 | |
CN104579837A (zh) | 一种OpenFlow协议一致性测试的方法和系统 | |
CN108521350A (zh) | 一种基于xml驱动脚本的工业网关设备自动化测试方法 | |
CN105607957B (zh) | 一种基于opc da的数据采集与监控系统 | |
CN113934619A (zh) | 基于Robot Framework测试框架的音源测试方法、系统及存储介质 | |
Hettig et al. | Toolchain for architecture development, modeling and simulation of battery electric vehicles | |
CN118276534B (zh) | 自动化系统的配置及开发方法、智能平台、系统、介质、设备 | |
Shaout et al. | Automotive embedded systems-model based approach review. | |
CN117574817B (zh) | 自适应时序变化的设计自动化验证方法、系统及验证平台 | |
CN116521143B (zh) | 一种故障诊断did读写服务处理方法及装置 | |
CN111176998B (zh) | 一种液压控制软件的配置项测试方法 | |
EP3974921A1 (en) | Integrated development module and method for engineering automation systems in an industrial automation environment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |