CN112306841A - 轨道业务的自动化测试方法、装置及设备 - Google Patents

轨道业务的自动化测试方法、装置及设备 Download PDF

Info

Publication number
CN112306841A
CN112306841A CN201910680662.0A CN201910680662A CN112306841A CN 112306841 A CN112306841 A CN 112306841A CN 201910680662 A CN201910680662 A CN 201910680662A CN 112306841 A CN112306841 A CN 112306841A
Authority
CN
China
Prior art keywords
lexical analysis
case
analysis result
lexical
syntactic
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
Application number
CN201910680662.0A
Other languages
English (en)
Other versions
CN112306841B (zh
Inventor
张志平
惠冰
陶雪莲
潘春梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BYD Co Ltd
Original Assignee
BYD Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BYD Co Ltd filed Critical BYD Co Ltd
Priority to CN201910680662.0A priority Critical patent/CN112306841B/zh
Publication of CN112306841A publication Critical patent/CN112306841A/zh
Application granted granted Critical
Publication of CN112306841B publication Critical patent/CN112306841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出了一种轨道业务的自动化测试方法、装置及设备,其中,方法包括:预先设置业务关键字,并设计基于专用语言的文法规则;根据业务关键字、文法规则和案例需求,生成案例脚本;对案例脚本中的字符串进行词法分析,获取词法分析结果;根据预设的语法规则确定与词法分析结果关联的语法属性;根据词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。由此,可以方便的对案例进行复杂的逻辑操作。

Description

轨道业务的自动化测试方法、装置及设备
技术领域
本发明涉及自动化测试技术领域,尤其涉及一种轨道业务的自动化测试方法、装置及设备。
背景技术
列车的运行安全需要依靠轨道信号系统,而信号自动化测试系统是为保证轨道信号系统运行安全的关键系统,通过信号自动化测试系统进行案例测试,保证列车上线时的运行安全。
相关技术中,在进行案例测试时,通常采用XML(EXtensible Markup Language,可扩展标记语言)语言制作案例脚本,并基于案例脚本进行测试。然而,该方案对于循环次数较多及分支逻辑较多结合的案例,难以设计案例控制逻辑,产生的案例脚本也较为冗长。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种轨道业务的自动化测试方法,通过专用语言实现测试案例,可以方便的对案例进行复杂的逻辑操作。
本发明的第二个目的在于提出一种轨道业务的自动化测试装置。
本发明的第三个目的在于提出一种电子设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
本发明第一方面实施例提出了一种轨道业务的自动化测试方法,包括:
预先设置业务关键字,并设计基于专用语言的文法规则;
根据所述业务关键字、所述文法规则和案例需求,生成案例脚本;
对所述案例脚本中的字符串进行词法分析,获取词法分析结果;
根据预设的语法规则确定与所述词法分析结果关联的语法属性;
根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
本发明实施例的轨道业务的自动化测试方法,通过预先设置业务关键字,并设计基于专用语言的文法规则。进而,根据业务关键字、文法规则和案例需求,生成案例脚本。进一步,对案例脚本中的字符串进行词法分析,获取词法分析结果,根据预设的语法规则确定与词法分析结果关联的语法属性。进一步,根据词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。由此,在对循环次数较多及分支逻辑较多的案例进行测试时,逻辑简练,可以方便的对案例进行复杂的逻辑操作,降低了文件长度。
另外,根据本发明上述实施例的轨道业务的自动化测试方法还可以具有如下附加技术特征:
可选地,在对所述案例脚本中的字符串进行词法分析,获取词法分析结果之后,还包括:根据预设的词法检查规则检测所述词法分析结果中是否存在未定义关键字;若否,则判断词法检查通过。
可选地,所述语法属性包括对象、值、操作的至少一种。
可选地,所述对所述案例脚本中的字符串进行词法分析,获取词法分析结果包括:将所述案例脚本中的字符串按行读入,进行词法分析处理,输出关键字单元流;将所述关键字单元流按语句进行分类,生成所述词法分析结果。
可选地,在所述根据预设的语法规则确定与所述词法分析结果关联的语法属性之后,还包括:根据所述语法属性对所述词法分析结果进行语义分析,判断所述词法分析结果之间是否存在关联;所述根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试包括:根据存在关联的词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
可选地,所述根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试包括:根据所述词法分析结果和所述语法属性查询预设的映射关系表,确定对应的驱动指令与设备和系统中的至少一种;根据所述驱动指令驱动所述设备和系统中的至少一种执行相应操作。
本发明第二方面实施例提出了一种轨道业务的自动化测试装置,包括:
设置模块,用于预先设置业务关键字,并设计基于专用语言的文法规则;
生成模块,用于根据所述业务关键字、所述文法规则和案例需求,生成案例脚本;
词法分析模块,用于对所述案例脚本中的字符串进行词法分析,获取词法分析结果;
确定模块,用于根据预设的语法规则确定与所述词法分析结果关联的语法属性;
测试模块,用于根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
本发明实施例的轨道业务的自动化测试装置,通过预先设置业务关键字,并设计基于专用语言的文法规则。进而,根据业务关键字、文法规则和案例需求,生成案例脚本。进一步,对案例脚本中的字符串进行词法分析,获取词法分析结果,根据预设的语法规则确定与词法分析结果关联的语法属性。进一步,根据词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。由此,在对循环次数较多及分支逻辑较多的案例进行测试时,逻辑简练,可以方便的对案例进行复杂的逻辑操作,降低了文件长度。
另外,根据本发明上述实施例的轨道业务的自动化测试装置还可以具有如下附加技术特征:
可选地,所述的装置还包括:检测模块,用于根据预设的词法检查规则检测所述词法分析结果中是否存在未定义关键字;若否,则判断词法检查通过。
可选地,所述语法属性包括对象、值、操作的至少一种。
可选地,所述词法分析模块具体用于:将所述案例脚本中的字符串按行读入,进行词法分析处理,输出关键字单元流;将所述关键字单元流按语句进行分类,生成所述词法分析结果。
可选地,所述的装置还包括:语义分析模块,用于根据所述语法属性对所述词法分析结果进行语义分析,判断所述词法分析结果之间是否存在关联;
所述测试模块具体用于:根据存在关联的词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
可选地,所述测试模块具体用于:根据所述词法分析结果和所述语法属性查询预设的映射关系表,确定对应的驱动指令与设备和系统中的至少一种;根据所述驱动指令驱动所述设备和系统中的至少一种执行相应操作。
本发明第三方面实施例提出了一种电子设备,包括处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的轨道业务的自动化测试方法。
本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的轨道业务的自动化测试方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明实施例所提供的一种轨道业务的自动化测试方法的流程示意图;
图2为基于XML语言的一种案例控制逻辑示意图;
图3为基于专用语言的一种案例控制逻辑示意图;
图4为本发明实施例所提供的另一种轨道业务的自动化测试方法的流程示意图;
图5为案例测试与系统交互的时序图;
图6为本发明实施例所提供的一种轨道业务的自动化测试装置的结构示意图;
图7为本发明实施例所提供的另一种轨道业务的自动化测试装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的轨道业务的自动化测试方法、装置及设备。
图1为本发明实施例所提供的一种轨道业务的自动化测试方法的流程示意图,如图1所示,该方法包括:
步骤101,预先设置业务关键字,并设计基于专用语言的文法规则。
本实施例中,可以先根据轨道业务提取业务关键字。可选地,根据业务关键字进行操作对象归类处理。
作为一种示例,业务关键字参照下表,例如业务关键字可以包括VOBC、信号机、加速、减速等,归类内容包括CI(Computer Interlocking,计算机联锁)、VOBC(Vehicle on-board Controller,车载控制器)、ATE(Automatic Test Equipment,自动测试系统)、ZC(Zone Controller,区域控制器)等。
Figure BDA0002144664950000041
Figure BDA0002144664950000051
本实施例中,在获得业务关键字后,可以设计专用语言的文法规则。其中,在获取业务关键字和文法规则后,可以进一步为测试案例设计案例脚本,文法规则用于对轨道业务的案例脚本进行词法和语法分析,以判断案例脚本是否正确,而语法分析器是根据文法规则设计的。其中,专用语言是用于轨道业务测试场景的开发语言,为轨道业务测试过程提供一种软件解决方案,由于在轨道业务测试的过程中涉及许多轨道信号系统的术语和过程描述,专用语言可以通过文法规则和业务关键字实现轨道业务案例测试,执行速度更加高效。
步骤102,根据业务关键字、文法规则和案例需求,生成案例脚本。
本发明实施例中,在进行轨道业务的案例自动化测试时,可以先获取基于专用语言的案例脚本。作为一种可能的实现方式,可以预先设置轨道业务相关的业务关键字,并设计基于专用语言的文法规则。进而,根据轨道业务自动化测试的实际测试需求确定案例需求,根据业务关键字、文法规则和案例需求,生成与案例需求对应的基于专用语言的案例脚本。
步骤103,对案例脚本中的字符串进行词法分析,获取词法分析结果。
本实施例中,可以获取案例脚本中的代码字符串,并对字符串进行词法分析处理,获取案例脚本中的关键字信息。其中,词法分析用于根据案例脚本中的字符串提取关键字。
作为一种可能的实现方式,可以将案例脚本中的字符串按行读入,进行词法分析处理,输出关键字单元流。进而,将关键字单元流按所属的语句进行分类,根据按语句的分类结果存储为不同的数组,从而生成词法分析结果。其中,关键字单元流的形式为二进制数据,用于表示业务关键字。
作为一种示例,对案例脚本中的代码字符串进行词法分析处理,输出代表业务关键字“信号灯”“打开红灯”“道岔”“打开定位”的关键字单元流。进而按语句进行分类,确定“信号灯”与“打开红灯”属于同一语句,“道岔”与“打开定位”属于同一语句,分别存储“信号灯”“打开红灯”以及“道岔”“打开定位”。
步骤104,根据预设的语法规则确定与词法分析结果关联的语法属性。
本实施例中,在获取案例脚本的词法分析结果之后,可以根据预设的语法规则对词法分析结果进行语法分析,通过分析语法规则定义的语句特征,确定与词法分析结果关联的语法属性。
其中,语法属性用于表示词法分析结果在语句中扮演的语法角色,语法属性包括但不限于对象、值、操作。其中,对象用于表示被操作对象,例如“信号灯”对应的语法属性为对象;值用于标识对象,例如信号灯1、信号灯2;操作用于表示执行的动作,例如“打开红灯”对应的语法属性为操作。
步骤105,根据词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。
作为一种示例,根据语法属性和词法分析结果查询预设的映射关系表,确定执行操作的对象以及需要执行的操作,进而确定对应的驱动指令与设备和系统中的至少一种,根据驱动指令驱动设备和系统中的至少一种执行相应操作。其中,系统可以包括VOBC、CI等,设备可以包括信号灯、屏蔽门等。
可选地,在驱动设备和系统中的至少一种执行相应操作之后,还可以查询设备和系统中的至少一种的状态,以获取设备和系统中的至少一种的反馈信息。进而,根据操作过程和反馈信息生成案例的自动化测试结果文件。
可以理解,本实施例中通过专用语言编写案例脚本,在对循环次数较多及分支逻辑较多的案例进行测试时,逻辑简练,可以方便的对案例进行复杂的逻辑操作。比如,以一个打开运行的进路,同时加3辆车分别以人工模式升级到FAM(Full Automatic Mode,全自动驾驶模式)模式的过程为例,通过XML(eXtensible Markup Language,可扩展标记语言)方式实现是按条目顺序解析执行的,条目一旦执行过后就不再执行,此时如果需要对循环次数过多,或考虑循环内容有变化的部分,则案例条目需要反复的复制,导致执行文件冗长。XML方式的脚本控制逻辑参照图2所示,而本申请基于业务关键字的专用语言的脚本控制逻辑参照图3所示,由于专用语言基于业务相关关键字,因此逻辑思路清晰可见。
此外,本实施例中通过对脚本解析处理,将文法规则转成业务关键字标识定位处理,业务关键字包括被操作对象、操作和值,有效的解决了采用XML语言实现案例测试条件多、很难响应的问题,提高了程序的运行解析效率,可以响应性能更高的案例。
本发明实施例的轨道业务的自动化测试方法,通过预先设置业务关键字,并设计基于专用语言的文法规则。进而,根据业务关键字、文法规则和案例需求,生成案例脚本。进一步,对案例脚本中的字符串进行词法分析,获取词法分析结果,根据预设的语法规则确定与词法分析结果关联的语法属性。进一步,根据词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。由此,在对循环次数较多及分支逻辑较多的案例进行测试时,逻辑简练,可以方便的对案例进行复杂的逻辑操作,降低了文件长度。并且,解决了采用XML语言实现案例测试文法条件多、很难响应的问题,提高了程序的运行解析时间,可以响应性能更高的案例。
基于上述实施例,进一步地,在进行案例脚本解析时,还可以基于词法检查和/或语义检查检测案例脚本的准确性,下面针对案例脚本解析过程进行说明。
图4为本发明实施例所提供的另一种轨道业务的自动化测试方法的流程示意图,如图4所示,该方法包括:
步骤201,对案例脚本中的字符串进行词法分析,获取词法分析结果。
步骤202,根据预设的词法检查规则检测词法分析结果中是否存在未定义关键字。
在本发明的一个实施例中,在获取词法分析结果之后,还可以对词法分析的结果进行词法检查,以确定词法分析结果是否正确。
作为一种可能的实现方式,可以预先设置词法检查规则,根据预设的词法检查规则检测词法分析结果中是否存在未定义关键字,即未在业务关键字中定义的关键字。若不存在未定义关键字,则判断词法检查通过,并将词法分析结果标识为词法结构正确的结果,以便于进一步根据该结果进行语法分析;若存在未定义关键字,例如对象(比如步骤101表格中的VOBC)、子对象(比如表格中的信号机)或动作(比如表格中的加速)中出现未定义关键字,则判定该关键字无效,词法检查未通过。
作为一种示例,预设的业务关键字包括VOBC,根据词法分析结果确定的关键字包括VOBC和VBOC,通过词法检查判断VOBC为业务关键字,判断VBOC为未定义关键字,该关键字VBOC无效。
步骤203,根据预设的语法规则确定与词法分析结果关联的语法属性。
步骤204,根据语法属性对词法分析结果进行语义分析,判断词法分析结果之间是否存在关联。
在本发明的一个实施例中,还可以根据语法属性对词法分析结果进行语义分析,判断词法分析结果之间是否存在关联。
本实施例中,在确定各词法分析结果对应的语法属性之后,可以根据语法属性对词法分析结果进行语义分析,以通过语义判断每一语句的业务关键字之间是否存在合理的关联,比如判断对象和操作对应的业务关键字之间是否存在关系。
作为一种示例,词法分析结果与对应的语法属性为“信号灯-对象”“亮灯-操作”,根据语义分析确定信号灯可以关联亮灯操作,则判断存在关联。
作为另一种示例,词法分析结果与对应的语法属性为“站台-对象”“亮灯-操作”,根据语义分析确定站台不可以关联亮灯操作,则判断不存在关联。
步骤205,根据存在关联的词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。
作为一种可能的实现方式,可以根据存在关联的词法分析结果查询预设的接口映射关系表,确定对应的驱动指令与设备和系统中的至少一种。进而,根据驱动指令驱动设备和系统中的至少一种执行相应操作。
下面结合实际测试场景对实现脚本解析过程进行说明。
执行专用语言词法解析器分析输出事件的关键字,产生事件的关键字序列。通过专用语言词法检查器分析输出事件的关键字是否正确,产生得到验证后的事件的关键字序列。进而,执行专用语言语法解析器分析输出事件的关键字,得到关联语法属性后的事件的关键字序列。通过语义分析检查关联语法属性后的事件的关键字序列,产生语义得到验证的事件语法关键字序列。根据序列指令找到接口映射关系表,产生驱动执行。发送相关接口指令与交互系统产生联动。
本发明实施例的轨道业务的自动化测试方法,可以检测词法分析结果中是否存在未定义字符串,以及根据语法属性对词法分析结果进行语义分析,判断词法分析结果之间是否存在关联。由此,可以基于词法检查和/或语义检查检测案例脚本的准确性,从而提高案例测试的准确性。
下面针对根据专用语言设计的案例脚本,在执行的过程中与所涉及的相关系统交互的流程进行说明。
参照图5,以升级列车模式为例,首先,向VOBC、ATE及CI等相关系统发送初始化命令,如VOBC的方向、速度、列车模式和门控模式等,ATE需要加入增加列车的初始位置相关信息,对相关进路状态进行锁定操作。当加上列车后,进行发车操作相关的控制命令,如操作加速度值等。当列车在ATE上运行时,根据案例分别定时向CI系统发送检查的影响列车运行定位的2个应答器状态,当检查到列车通过应答器,暂停列车运行后,将列车的运行模式升级至已定位状态。
为了实现上述实施例,本发明还提出一种轨道业务的自动化测试装置。
图6为本发明实施例所提供的一种轨道业务的自动化测试装置的结构示意图,如图6所示,该装置包括:设置模块10,生成模块20,词法分析模块30,确定模块40,测试模块50。
其中,设置模块10,用于预先设置业务关键字,并设计基于专用语言的文法规则。
生成模块20,用于根据业务关键字、文法规则和案例需求,生成案例脚本。
词法分析模块30,用于对案例脚本中的字符串进行词法分析,获取词法分析结果。
确定模块40,用于根据预设的语法规则确定与词法分析结果关联的语法属性。
测试模块50,用于根据词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。
在图6的基础上,图7所示的装置还包括:检测模块60,语义分析模块70。
其中,检测模块60,用于根据预设的词法检查规则检测所述词法分析结果中是否存在未定义关键字;若否,则判断词法检查通过。
语义分析模块70,用于根据语法属性对词法分析结果进行语义分析,判断词法分析结果之间是否存在关联。测试模块50具体用于:根据存在关联的词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。
可选地,语法属性包括对象、值、操作。
可选地,词法分析30模块具体用于:将案例脚本中的字符串按行读入,进行词法分析处理,输出关键字单元流;将关键字单元流按语句进行分类,生成词法分析结果。
可选地,测试模块50具体用于:根据词法分析结果和语法属性查询预设的映射关系表,确定对应的驱动指令与设备和系统中的至少一种;根据驱动指令驱动设备和系统中的至少一种执行相应操作。
需要说明的是,前述实施例对轨道业务的自动化测试方法的解释说明同样适用于本实施例的轨道业务的自动化测试装置,此处不再赘述。
本发明实施例的轨道业务的自动化测试装置,通过预先设置业务关键字,并设计基于专用语言的文法规则。进而,根据业务关键字、文法规则和案例需求,生成案例脚本。进一步,对案例脚本中的字符串进行词法分析,获取词法分析结果,根据预设的语法规则确定与词法分析结果关联的语法属性。进一步,根据词法分析结果和语法属性驱动设备和系统中的至少一种进行案例测试。由此,在对循环次数较多及分支逻辑较多的案例进行测试时,逻辑简练,可以方便的对案例进行复杂的逻辑操作,降低了文件长度。并且,解决了采用XML语言实现案例测试文法条件多、很难响应的问题,提高了程序的运行解析时间,可以响应性能更高的案例。
为了实现上述实施例,本发明还提出一种电子设备,包括处理器和存储器;其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如前述任一实施例所述的轨道业务的自动化测试方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令被处理器执行时实现如前述任一实施例所述的轨道业务的自动化测试方法。
为了实现上述实施例,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述任一实施例所述的轨道业务的自动化测试方法。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (14)

1.一种轨道业务的自动化测试方法,其特征在于,包括:
预先设置业务关键字,并设计基于专用语言的文法规则;
根据所述业务关键字、所述文法规则和案例需求,生成案例脚本;
对所述案例脚本中的字符串进行词法分析,获取词法分析结果;
根据预设的语法规则确定与所述词法分析结果关联的语法属性;
根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
2.如权利要求1所述的方法,其特征在于,在对所述案例脚本中的字符串进行词法分析,获取词法分析结果之后,还包括:
根据预设的词法检查规则检测所述词法分析结果中是否存在未定义关键字;
若否,则判断词法检查通过。
3.如权利要求1所述的方法,其特征在于,所述语法属性包括对象、值、操作的至少一种。
4.如权利要求1所述的方法,其特征在于,所述对所述案例脚本中的字符串进行词法分析,获取词法分析结果包括:
将所述案例脚本中的字符串按行读入,进行词法分析处理,输出关键字单元流;
将所述关键字单元流按语句进行分类,生成所述词法分析结果。
5.如权利要求1所述的方法,其特征在于,在所述根据预设的语法规则确定与所述词法分析结果关联的语法属性之后,还包括:
根据所述语法属性对所述词法分析结果进行语义分析,判断所述词法分析结果之间是否存在关联;
所述根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试包括:
根据存在关联的词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
6.如权利要求1所述的方法,其特征在于,所述根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试包括:
根据所述词法分析结果和所述语法属性查询预设的接口映射关系表,确定对应的驱动指令与设备和系统中的至少一种;
根据所述驱动指令驱动所述设备和系统中的至少一种执行相应操作。
7.一种轨道业务的自动化测试装置,其特征在于,包括:
设置模块,用于预先设置业务关键字,并设计基于专用语言的文法规则;
生成模块,用于根据所述业务关键字、所述文法规则和案例需求,生成案例脚本;
词法分析模块,用于对所述案例脚本中的字符串进行词法分析,获取词法分析结果;
确定模块,用于根据预设的语法规则确定与所述词法分析结果关联的语法属性;
测试模块,用于根据所述词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
8.如权利要求7所述的装置,其特征在于,还包括:
检测模块,用于根据预设的词法检查规则检测所述词法分析结果中是否存在未定义关键字;
若否,则判断词法检查通过。
9.如权利要求7所述的装置,其特征在于,所述语法属性包括对象、值、操作的至少一种。
10.如权利要求7所述的装置,其特征在于,所述词法分析模块具体用于:
将所述案例脚本中的字符串按行读入,进行词法分析处理,输出关键字单元流;
将所述关键字单元流按语句进行分类,生成所述词法分析结果。
11.如权利要求7所述的装置,其特征在于,还包括:
语义分析模块,用于根据所述语法属性对所述词法分析结果进行语义分析,判断所述词法分析结果之间是否存在关联;
所述测试模块具体用于:
根据存在关联的词法分析结果和所述语法属性驱动设备和系统中的至少一种进行案例测试。
12.如权利要求7所述的装置,其特征在于,所述测试模块具体用于:
根据所述词法分析结果和所述语法属性查询预设的映射关系表,确定对应的驱动指令与设备和系统中的至少一种;
根据所述驱动指令驱动所述设备和系统中的至少一种执行相应操作。
13.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-6中任一所述的轨道业务的自动化测试方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的轨道业务的自动化测试方法。
CN201910680662.0A 2019-07-26 2019-07-26 轨道业务的自动化测试方法、装置及设备 Active CN112306841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910680662.0A CN112306841B (zh) 2019-07-26 2019-07-26 轨道业务的自动化测试方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910680662.0A CN112306841B (zh) 2019-07-26 2019-07-26 轨道业务的自动化测试方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112306841A true CN112306841A (zh) 2021-02-02
CN112306841B CN112306841B (zh) 2022-09-09

Family

ID=74329126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910680662.0A Active CN112306841B (zh) 2019-07-26 2019-07-26 轨道业务的自动化测试方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112306841B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205276A (zh) * 2021-12-01 2022-03-18 北京数码大方科技股份有限公司 用于产品管理系统的性能测试方法及装置、电子设备
CN115774558A (zh) * 2023-01-30 2023-03-10 北京全路通信信号研究设计院集团有限公司 一种测试案例自动扩展方法及装置
CN115794119A (zh) * 2023-01-30 2023-03-14 北京全路通信信号研究设计院集团有限公司 一种案例自动解析方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541730A (zh) * 2011-12-08 2012-07-04 北京空间飞行器总体设计部 一种航天器测试脚本语义识别与自动生成方法
US20140108410A1 (en) * 2012-10-17 2014-04-17 International Business Machines Corporation Software system test case creation
CN104391793A (zh) * 2014-11-27 2015-03-04 中国联合网络通信集团有限公司 测试步骤及测试脚本生成方法及装置
CN105068927A (zh) * 2015-08-04 2015-11-18 株洲南车时代电气股份有限公司 基于关键字驱动的城轨传动控制单元自动化测试方法
US20180322035A1 (en) * 2017-05-04 2018-11-08 Hcl Technologies Limited Automation testing platform for facilitating automatic testing of an information technology (it) enabled application
CN109446059A (zh) * 2018-09-12 2019-03-08 北京邮电大学 测试模板脚本的生成方法及装置
CN109508536A (zh) * 2017-09-15 2019-03-22 华为技术有限公司 一种篡改程序流攻击的检测方法和装置
CN109710518A (zh) * 2018-12-13 2019-05-03 中国联合网络通信集团有限公司 脚本审核方法及装置
CN109885488A (zh) * 2019-01-30 2019-06-14 上海卫星工程研究所 用例表驱动的卫星轨道计算软件自动化测试方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541730A (zh) * 2011-12-08 2012-07-04 北京空间飞行器总体设计部 一种航天器测试脚本语义识别与自动生成方法
US20140108410A1 (en) * 2012-10-17 2014-04-17 International Business Machines Corporation Software system test case creation
CN104391793A (zh) * 2014-11-27 2015-03-04 中国联合网络通信集团有限公司 测试步骤及测试脚本生成方法及装置
CN105068927A (zh) * 2015-08-04 2015-11-18 株洲南车时代电气股份有限公司 基于关键字驱动的城轨传动控制单元自动化测试方法
US20180322035A1 (en) * 2017-05-04 2018-11-08 Hcl Technologies Limited Automation testing platform for facilitating automatic testing of an information technology (it) enabled application
CN109508536A (zh) * 2017-09-15 2019-03-22 华为技术有限公司 一种篡改程序流攻击的检测方法和装置
CN109446059A (zh) * 2018-09-12 2019-03-08 北京邮电大学 测试模板脚本的生成方法及装置
CN109710518A (zh) * 2018-12-13 2019-05-03 中国联合网络通信集团有限公司 脚本审核方法及装置
CN109885488A (zh) * 2019-01-30 2019-06-14 上海卫星工程研究所 用例表驱动的卫星轨道计算软件自动化测试方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VINODKUMAR H KIRANAGI 等: ""Feature Driven Hybrid Test Automation Framework (FDHTAF) for web based or cloud based application testing"", 《2017 INTERNATIONAL CONFERENCE ON SMART TECHNOLOGIES FOR SMART NATION (SMARTTECHCON)》 *
闫小勇 等: ""基于最佳路径搜索的二进制协议格式关键词边界确定方法"", 《计算机应用》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205276A (zh) * 2021-12-01 2022-03-18 北京数码大方科技股份有限公司 用于产品管理系统的性能测试方法及装置、电子设备
CN114205276B (zh) * 2021-12-01 2023-07-14 北京数码大方科技股份有限公司 用于产品管理系统的性能测试方法及装置、电子设备
CN115774558A (zh) * 2023-01-30 2023-03-10 北京全路通信信号研究设计院集团有限公司 一种测试案例自动扩展方法及装置
CN115794119A (zh) * 2023-01-30 2023-03-14 北京全路通信信号研究设计院集团有限公司 一种案例自动解析方法及装置

Also Published As

Publication number Publication date
CN112306841B (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN112306841B (zh) 轨道业务的自动化测试方法、装置及设备
US8875110B2 (en) Code inspection executing system for performing a code inspection of ABAP source codes
US8539475B2 (en) API backward compatibility checking
US7945438B2 (en) Automated glossary creation
CN109446107B (zh) 一种源代码检测方法及装置、电子设备
CN111240687A (zh) 源代码静态分析装置
CN111240982A (zh) 源代码静态分析方法
CN1908895B (zh) 验证应用程序全球化问题的系统和方法
CN105718370A (zh) 一种Android设备测试方法及测试装置
US20110307488A1 (en) Information processing apparatus, information processing method, and program
CN102054100A (zh) 一种基于静态分析的rtl设计错误检测方法和系统
KR101979329B1 (ko) 바이너리의 취약점을 유발하는 입력데이터 위치 추적 방법 및 그 장치
CN109710518A (zh) 脚本审核方法及装置
CN115794119B (zh) 一种案例自动解析方法及装置
CN110286912B (zh) 代码检测方法、装置及电子设备
EP2535813B1 (en) Method and device for generating an alert during an analysis of performance of a computer application
CN108959085B (zh) 一种检测内核模块在原子上下文中休眠错误的方法及系统
CN111221728B (zh) 用于轨道交通自动控制软件的自适应测试脚本系统及方法
CN112631944A (zh) 基于抽象语法树的源码检测方法及装置、计算机存储介质
Feng et al. NiCad+: Speeding the detecting process of nicad
CN115774558B (zh) 一种测试案例自动扩展方法及装置
Liu et al. Modeling of Natural Language Requirements based on States and Modes
CN117311806B (zh) 基于加权有向耦合网络的软件结构风险识别方法与装置
Birkemeyer Sampling strategies for generating scenarios for simulation-based validation of advanced driver assistance systems
Svendsen et al. Analyzing variability: Capturing semantic ripple effects

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