一种测试脚本自动化融合方法、存储介质技术

技术编号:21140776 阅读:39 留言:0更新日期:2019-05-18 05:04
一种测试脚本自动化融合方法,包括以下步骤:步骤1:从脚本文件中筛选待融合脚本列表;步骤2:对筛选出的待融合脚本列表,为每个待融合脚本中的操作元素按照操作元素的发生时间建立操作元素的时间线;步骤3:针对待融合脚本列表中的每个待融合脚本,选择不同待融合脚本中操作要素位于设定时间内的所有同类型操作要素,并选择其一作为融合后脚本的操作要素之一;步骤4:针对选择出的所有操作要素,根据各操作要素的发生时间,将各操作要素串联组合起来,生成新的融合脚本文件。本发明专利技术改进后,减少了手工操作的工作量,减少错误的发生。操作元素的选择有了明确的标准,避免人为感觉影响。

A Test Script Automation Fusion Method and Storage Medium

【技术实现步骤摘要】
一种测试脚本自动化融合方法、存储介质
本专利技术涉及一种测试脚本的自动化融合方法。
技术介绍
在自动化测试系统中,一般用内置的文本式的测试脚本来描述测试逻辑和预期结果。自动化测试系统解释执行测试脚本,触发相应的软硬件动作,产生信号或条件,在特定的条件下获取系统反馈,与预期结果相比较,判断系统反馈是否符合预期,从而判定系统功能是否符合设计要求。测试脚本一般是可由软件解释执行的文本文件,可以采用通用的编程语言来编写,也可以采用自定义的文件格式。因考虑的因素不同,采用的测试脚本方式也不同,各家公司一般不公布自家的脚本格式定义。行业内可以查询到部分厂家使用XML来作为脚本语言定义测试脚本,XML作为一种结构化的数据表达方法,可以很好地定义数据结构,但XML不能被软件直接实行,存在效率问题。同时,在自动化测试系统中,一般用内置的文本式的测试脚本来描述测试逻辑和预期结果。自动化测试系统解释执行测试脚本,触发相应的软硬件动作,产生信号或条件,在特定的条件下获取系统反馈,与预期结果相比较,判断系统反馈是否符合预期,从而判定系统功能是否符合设计要求。测试脚本可以由测试人员手工编辑生成,也可以由测试人员录制手工测试过程,系统转化生成。手工编辑生成的脚本是明确的文本,不存在二义性。手工录制脚本时测试人员对操作过程、条件可能考虑不周到,不完善,从而导致录制生成的脚本不完善,因此需要对同一功能的脚本进行多次录制。多次录制出来的测试脚本内容不同,需要进行融合。目前列控设备中的脚本融合一般通过手工进行。由测试人员手工选择各段测试脚本,组成新的测试脚本。手工操作时,脚本挑选的工作量大,并且选择的脚本文件质量难以度量,缺乏明确的判断标准,随意性大。
技术实现思路
本专利技术提供一种测试脚本自动化融合的方法,该方法依据脚本文件的定义,进行测试脚本的自动化融合,以解决现有技术存在的问题。本专利技术采用以下技术方案:一种测试脚本自动化融合方法,包括:步骤1:从测试脚本的脚本文件集中筛选待融合脚本列表;步骤2:对筛选出的待融合脚本列表,为每个待融合脚本中的操作元素按照操作元素的发生时间建立操作元素的时间线;步骤3:针对待融合脚本列表中的每个待融合脚本,选择不同待融合脚本中操作要素位于设定时间内的所有同类型操作要素,并选择其一作为融合后脚本的操作要素之一;步骤4:针对选择出的所有操作要素,根据各操作要素的发生时间,将各操作要素串联组合起来,生成新的融合脚本文件。所述测试脚本包括文件头和文件体;所述文件头定义为:1)脚本名称;2)脚本种类;3)脚本ID;4)脚本功能简述;5)脚本当前版本;6)脚本发布日期;7)脚本初创人;8)脚本来源;9)脚本运行所要求的LKJ软件版本;10)脚本运行所要求的LKJ数据版本。所述文件体内至少设置以下功能:1)设定仿真测试平台的输出信号;2)设定LKJ运行状态;3)获取LKJ反馈信息;4)测试结果判断;5)测试进度控制。所述步骤1中,从脚本文件中筛选待融合脚本列表的方法包括:步骤101:根据文件名称、功能、运行环境、版本、录制人、录制时间建立评价矩阵,评价矩阵包括操作要素以及其对应的向量;步骤102:遍历待融合脚本,根据评价矩阵分析各融合脚本的相似性,进行聚类分析,罗列出待融合脚本列表;步骤103:用户选择确定待融合的N个脚本文件。所述步骤101中,首先定义关键词数据库,关键词数据库至少包括文件名称关键词数据库,功能描述关键词数据库,运行环境关键词数据库,版本关键词数据库;所述关键词数据库中包括关键词及其对应的向量;对待融合脚本文件的文本进行分析并且切词,然后针对切词后的脚本文件,与关键词数据库进行比对,获取待融合脚本的功能种类。所述步骤2中,对筛选出的待融合脚本列表根据时序建立时间线的方法包括:步骤201:为待融合脚本列表中的每个脚本建立数据结构,数据结构中的元素至少包括操作要素、相对时刻;所述相对时刻根据该脚本中的第一个操作要素获取;且所述第一个待融合脚本列表的相对时刻为零;步骤202:根据待融合脚本中各操作要素的相对时刻的时序,对待融合脚本列表中每个待融合脚本的操作要素建立时间线。所述步骤3中,针对待融合脚本列表中的每个待融合脚本,选择不同待融合脚本中操作要素位于设定时间内的所有同类型操作要素,并选择其一作为融合后脚本的操作要素之一的方法包括:步骤301:从相对时刻为0的脚本开始,往后推进,遍历各待融合脚本的数据结构;步骤302:寻找相对时刻在设定时间内的不同待融合脚本的同类型操作要素,并选择其一作为融合后脚本的操作要素之一;步骤303:选定操作要素后,根据各操作要素的发生时间,将各操作要素串联组合起来,生成新的融合脚本文件。所述步骤302中,寻找相对时刻在设定时间内的不同待融合脚本的同类型操作要素,并选择其一作为融合后脚本的操作要素之一的选择策略为:选择测试时间最短、最安全测试、操作最少策略中的一个策略。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述方法的步骤。本专利技术的有益效果:1)改进后,减少了手工操作的工作量,减少错误的发生。2)操作元素的选择有了明确的标准,避免人为感觉影响。3)新定义的测试脚本文件,满足人工图形化编辑、手动测试录制生成的要求,易于理解,采用Python和C语言结合的方式,既能满足LKJ业务逻辑灵活变更的需求,也能实时操控硬件,具备很高的执行效率。具体实施方式下面结合具体实施方式对本专利技术作进一步详细说明。基于现有手工融合脚本工作量大、随意性大的缺点,本专利技术提供一种自动化的脚本融合方法,能够自动选取合适的脚本进行融合,减少手工操作的工作量和手工融合的错误发生。脚本文件通常包括以下几个要素:(1)文件头,包括文件名称、功能描述、运行的环境要求、录制人、录制时间;(2)操作要素序列:是一系列的操作要素及其前提条件,操作要素内容包括时间、动作名称、动作参数等,比如“20秒设定速度输出数值80”。操作要素可以有多种,比如设定速度、设定信号灯、设定柴油机转速等。(3)期望的结果:包含条件输出结果。比如“紧急制动状态=输出”。脚本融合的方法包括:步骤1:从脚本文件中自动筛选功能相同的脚本文件,组成待融合脚本列表;该步骤具体包括以下步骤:步骤101:脚本文件中包含定义本脚本文件的文件名称、功能描述、运行环境、版本的文件头。首先定义关键词数据库,关键词数据库至少包括文件名称关键词数据库,功能描述关键词数据库,运行环境关键词数据库,版本关键词数据库。关键词数据库中包括关键词及其对应的向量(长度及方向),向量用于后续的关键词相关性分析。对脚本文件的文件头进行分析并且切词,然后针对切词后的获得的关键词,与关键词数据库进行比对,获取脚本的主要功能种类,比如脚本是红灯制动控制模式的测试脚本、临时限速控制模式的测试脚本等。步骤102:针对切词后的脚本文件,与关键词数据库进行比对,然后以文件名称、功能、运行环境、版本等关键词和录制人、录制时间建立评价矩阵,评价矩阵包括文件名称、功能、运行环境等关键词以及其对应的向量。步骤103:基于上述方法遍历没有融合的脚本文件,分别计算每个脚本文件评价矩阵中各关键词的向量和,以向量和为依据,对所有没有融合的脚本文件进行聚类分析,根本文档来自技高网
...

【技术保护点】
1.一种测试脚本自动化融合方法,其特征在于,包括:步骤1:从测试脚本的脚本文件集中筛选待融合脚本列表;步骤2:对筛选出的待融合脚本列表,为每个待融合脚本中的操作元素按照操作元素的发生时间建立操作元素的时间线;步骤3:针对待融合脚本列表中的每个待融合脚本,选择不同待融合脚本中操作要素位于设定时间内的所有同类型操作要素,并选择其一作为融合后脚本的操作要素之一;步骤4:针对选择出的所有操作要素,根据各操作要素的发生时间,将各操作要素串联组合起来,生成新的融合脚本文件。

【技术特征摘要】
1.一种测试脚本自动化融合方法,其特征在于,包括:步骤1:从测试脚本的脚本文件集中筛选待融合脚本列表;步骤2:对筛选出的待融合脚本列表,为每个待融合脚本中的操作元素按照操作元素的发生时间建立操作元素的时间线;步骤3:针对待融合脚本列表中的每个待融合脚本,选择不同待融合脚本中操作要素位于设定时间内的所有同类型操作要素,并选择其一作为融合后脚本的操作要素之一;步骤4:针对选择出的所有操作要素,根据各操作要素的发生时间,将各操作要素串联组合起来,生成新的融合脚本文件。2.根据权利要求1所述的一种测试脚本自动化融合方法,其特征在于:所述测试脚本包括文件头和文件体;所述文件头定义为:脚本名称;脚本种类;脚本ID;脚本功能简述;脚本当前版本;脚本发布日期;脚本初创人;脚本来源;脚本运行所要求的LKJ软件版本;脚本运行所要求的LKJ数据版本。3.根据权利要求2所述的一种测试脚本自动化融合方法,其特征在于:所述文件体内至少设置以下功能:设定仿真测试平台的输出信号;设定LKJ运行状态;获取LKJ反馈信息;测试结果判断;测试进度控制。4.根据权利要求1所述的一种测试脚本自动化融合方法,其特征在于:所述步骤1中,从脚本文件中筛选待融合脚本列表的方法包括:步骤101:根据文件名称、功能、运行环境、版本、录制人、录制时间建立评价矩阵,评价矩阵包括操作要素以及其对应的向量;步骤102:遍历待融合脚本,根据评价矩阵分析各融合脚本的相似性,进行聚类分析,罗列出待融合脚本列表;步骤103:用户选择确定待融合的N个脚本文件。5.根据权利要求2所述的一种测试脚本自动化融合方法,其特征在于:所述步骤101中,首先定义关键词数据库,关键词数据库至少包括文件名称关键词数据库,功能描述关键词数据库,运行环境关键词数据库,版本关键...

【专利技术属性】
技术研发人员:李冠军白鸿钧张明凯陈宇杨清祥
申请(专利权)人:河南思维轨道交通技术研究院有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1