一种自动化可执行的脚本测试方法及系统与流程

文档序号:23260842发布日期:2020-12-11 18:49阅读:124来源:国知局
一种自动化可执行的脚本测试方法及系统与流程

本发明涉及一种计算机处理方法,具体是一种自动化可执行的脚本测试方法及系统。



背景技术:

在实现嵌入式软件测试过程中,往往需要按照测试目的及要求预先定义一系列操作动作,通过对预先定义的一组执行动作进行封装,然后在程序执行的过程中对封装的动作进行解析和执行,从而实现嵌入式软件的测试。

在程序测试过程中如何高效的组织、编辑和执行测试用例是各专业软件测试面临的困境,对于测试人员需要投入大量的精力了解被测系统,如何通过简化测试用例编写,设计出一种可执行的脚本测试语法,结合系统进行解析执行。测试人员只需关注测试方案制定,按部就班的操作图形界面即可编辑测试脚本,将测试人员重心投入到测试方案的制定中。



技术实现要素:

基于上述背景技术中所提到的现有技术中的不足之处,为此本发明提供了一种自动化可执行的脚本测试方法及系统。

本发明通过采用如下技术方案克服以上技术问题,具体为:

一种自动化可执行的脚本测试方法,包括如下步骤:

步骤一,根据测试内容设计嵌入式软件测试方案,并按照脚本测试语法编写测试动作;

系统根据测试方案梳理出的有限且可执行的动作,将固定的动作进行编码,然后开发对应的动作函数,将对应的动作操作开发对应的页面,界面尽可能简单,在规定的操作步骤内完成一个动作的编辑,按照测试方案先后顺序,先添加相应的动作,后台根据前台页面添加的动作完成脚本语法动作;

步骤二,将执行的测试动作调整顺序并生成可执行的脚本文件;

根据脚本测试语法编写的一系列的执行动作,按照脚本文件格式将这一系列的操作生成可执行的脚本文件;

步骤三,系统自动化执行脚本,进行软件测试;

将生成的可执行的脚本文件导入到系统中,系统根据按照脚本测试语法的预定解析脚本文件,系统创建一个解释器的实例,然后再内存中建立脚本文件的树形结构,解析脚本文件从根元素开始。

作为本发明进一步的方案:所述步骤一中,完成脚本语法动作按照下列顺序执行:

s1,完成执行动作组开始标签添加;根据具体的添加动作内容完成动作开始标签的添加,获取前台传过来的动作编码和动作名称

s2,添加动作编码和动作名称标签,获取动作的具体内容或者值添加;

s3,添加动作值或内容标签,系统自动完成动作结束标签增加完整,通过顺序s1到s4的顺序循环将有限的执行动作分别增加完成;

s4,添加执行动作组的结束标签,系统完成全部动作的添加后,根据测试需要将对应的测试脚本进行生成。

作为本发明再进一步的方案:所述步骤二中,所述可执行的脚本文件为一个或多个,多个脚本文件可同时编辑并存储在系统中,或多个脚本文件可相互组合,形成一个测试脚本;

多个脚本文件可同时编辑并存储在系统中。

作为本发明再进一步的方案:所述步骤三中,解析脚本文件为将编辑的动作按照树形结构进行解析,同时系统将解析后的脚本文件装载为具体的测试动作对象,系统根据动作对象获取动作编码,按照动作编码执行具体操作,最后系统逐一的执行脚本中定义的所有动作,完成一个完整测试方案的测试。

作为本发明再进一步的方案:所述步骤一中,嵌入式软件测试方案包括动作分类描述单元,所述动作分类描述单元根据嵌入式软件测试过程中常用的执行动作,预先定义一系列的动作编码,分别是判断、循环、定义变量、写操作、读操作、系统延时、输入信息、运算、退出动作。

作为本发明再进一步的方案:所述步骤三中还包括脚本导入,所述脚本导入基于解析可扩展标记语言执行,系统通过解析可扩展标记语言对数据进行解析,在解析的同时系统将解析后的动作进行装载,装载成为一个一个的动作对象,系统根据脚本测试语法排列的先后顺序获取动作对象的属性内容,然后按照动作编码执行相应的动作函数,最后完成整个测试方案的执行。

一种自动化可执行的脚本测试系统,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述所述自动化可执行的脚本测试方法的步骤。

采用以上方法后,本发明相较于现有技术,具备以下优点:。

附图说明

图1为自动化可执行的脚本测试系统的工作流程图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以多种不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。

另外,本发明中的元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。

请参阅图1,本发明实施例中,一种自动化可执行的脚本测试方法,包括如下步骤:

步骤一,根据测试内容设计嵌入式软件测试方案,并按照脚本测试语法编写测试动作;

系统根据测试方案梳理出的有限且可执行的动作,将固定的动作进行编码,然后开发对应的动作函数,将对应的动作操作开发对应的页面,界面尽可能简单,在规定的操作步骤内完成一个动作的编辑,按照测试方案先后顺序,先添加相应的动作,后台根据前台页面添加的动作完成脚本语法动作;

步骤二,将执行的测试动作调整顺序并生成可执行的脚本文件;

根据脚本测试语法编写的一系列的执行动作,按照脚本文件格式将这一系列的操作生成可执行的脚本文件;

步骤三,系统自动化执行脚本,进行软件测试;

将生成的可执行的脚本文件导入到系统中,系统根据按照脚本测试语法的预定解析脚本文件,系统创建一个解释器的实例,然后再内存中建立脚本文件的树形结构,解析脚本文件从根元素开始。

在本发明的一个实施例中,所述步骤一中,完成脚本语法动作按照下列顺序执行:

s1,完成执行动作组开始标签添加;根据具体的添加动作内容完成动作开始标签的添加,获取前台传过来的动作编码和动作名称

s2,添加动作编码和动作名称标签,获取动作的具体内容或者值添加;

s3,添加动作值或内容标签,系统自动完成动作结束标签增加完整,通过顺序s1到s4的顺序循环将有限的执行动作分别增加完成;

s4,添加执行动作组的结束标签,系统完成全部动作的添加后,根据测试需要将对应的测试脚本进行生成。

在本发明的另一个实施例中,所述步骤二中,所述可执行的脚本文件为一个或多个,多个脚本文件可同时编辑并存储在系统中,或多个脚本文件可相互组合,形成一个测试脚本;

多个脚本文件可同时编辑并存储在系统中,什么时候使用什么时候生成;

多个脚本文件可相互组合,随着测试方案的变更,随时可以将已经编辑好的脚本进行增加或者删除动作,以达到测试脚本可扩展。

在本发明的又一个实施例中,所述步骤三中,解析脚本文件为将编辑的动作按照树形结构进行解析,同时系统将解析后的脚本文件装载为具体的测试动作对象,系统根据动作对象获取动作编码,按照动作编码执行具体操作,最后系统逐一的执行脚本中定义的所有动作,完成一个完整测试方案的测试。

在本发明的又一个实施例中,所述步骤一中,嵌入式软件测试方案包括动作分类描述单元,所述动作分类描述单元根据嵌入式软件测试过程中常用的执行动作,预先定义一系列的动作编码,分别是判断、循环、定义变量、写操作、读操作、系统延时、输入信息、运算、退出动作,随着测试方案的丰富可以随时扩充动作分类。

在本发明的又一个实施例中,所述步骤三中还包括脚本导入,所述脚本导入基于解析可扩展标记语言执行,系统通过解析可扩展标记语言对数据进行解析,在解析的同时系统将解析后的动作进行装载,装载成为一个一个的动作对象,系统根据脚本测试语法排列的先后顺序获取动作对象的属性内容,然后按照动作编码执行相应的动作函数,最后完成整个测试方案的执行。

在本发明的一个实施例中,一种自动化可执行的脚本测试系统,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述实施例所述自动化可执行的脚本测试方法的步骤。

详细的来说,作为列举,本发明的目的是简化嵌入式软件的自动化测试过程,提高测试人员编写测试用例的工作效率,提供了一套较为成熟的自动化可执行的脚本测试语法和系统。主要通过图形界面简化嵌入式软件的自动化测试的过程,提高编写及执行效率,提供了良好的扩展性。

通过预先定义一组描述执行动作的脚本语法,按照简本语法约定将测试过程的步骤进行排列组合形成一套完整的测试用例,同时随着测试方案的扩展,随时可以按照脚本语法约定进行扩充新的动作,主要脚本语法包含执行动作组(detect_item)、动作(action)、动作编码(action_code)、动作名称(action_name)、动作值或内容(action_value),该脚本语法定义了一组通用的脚本编辑规则,只要符合该脚本语法定义即可扩展测试用例,脚本测试语法与测试方案无关,随着增加测试方案增加可以任意执行动作进行扩充,然后将通俗易懂脚本语法通过可视化的界面对外进行展示,使用者通过界面即可编辑相关的测试用例,可视化的界面提供了文字描述,通过文字的描述即可知其意,并且页面支持拖拽,可以任意拖拽编辑的动作实现脚本执行顺序的自由变动。按照本脚本测试语法的规约,通过测试语法定义、语法动作分类相结合的方式进行组合产生可执行的脚本文件。同时,为支持脚本语法的实现,本发明提供了一个系统,负责对脚本语法的编辑和生成可执行脚本文件,并且系统还提供了对脚本执行文件导入功能,将生成好的脚本文件导入系统中,系统可以预先检测脚本文件的合法性;系统对导入的脚本在执行过程中进行文件解析,解析脚本获取执行的动作内容;在进行系统装载,将执行的动作内容装载为一个一个的对象,通过获取执行动作对象的属性内容即可判断将要执行的动作函数、每一个动作编码都对应着一个动作函数,该动作函数封装了动作执行的具体操作步骤,测试人员无需了解;系统根据动作函数完成具体的执行,在执行过程中系统会根据动作对象转载的先后顺序进行执行,执行的完成会形成测试记录。经过系统对脚本的导入、解析、装载、执行等步骤即可完成一个测试方案的自动化执行。

本发明采用下述具体方案:

(1)动作语法描述文件:定义了一组动作语法,包括动作项、动作编码及名称、动作内容,然后将一系列动作项组成一套可执行的脚本。

动作语法有:

<detect_item>…<detect_item>该语法中的内容代表一系列动作;

<action>…<action>该语法中的内容一项具体的动作;

<action_code>…<action_code>该语法中的内容代表动作编码;

<action_name>…<action_name>该语法中的内容代表该动作具体名称;

<action_value>…<action_value>该语法中的内容代表执行动作所需或内容;

(2)动作分类描述文件:根据嵌入式软件测试过程中常用的执行动作,预先定义一系列的动作编码,分别是判断、循环、定义变量、写操作、读操作、系统延时、输入信息、运算、退出等动作,随着测试方案的丰富可以随时扩充动作分类。

判断,可以判断数字、字符串、对象等内容;

循环,定义一组动作连续执行,达到某种判断的条件结束;

定义变量,用于存储动作执行过程的数据临时存储;

写操作,通过命令改变动作值,观察嵌入式软件的反应以达到测试目的;

读操作,读取固定存储区域的数据内容,观察存储区域的数据瞬间变化;

系统延时,设置测试过程中的等待时间,完成某一动作需要等待固定的时间使用该动作;

输入信息;编辑一些重要操作的提示性语言描述;

运算,对数据进行加、减、乘、除、取模等运算;

退出,系统执行达到某一限定条件时,进行系统退出;

(3)动作脚本的编辑、生成及系统导入、解析、装载和执行。脚本测试语法基于dom4j解析可扩展标记语言(extensiblemarkuplanguage)文档功能实现,dom4j是一个易用的、开源的类库,允许读取、写入、遍历、创建和修改xml文档。dom4j基于java接口,允许即插即用文档,对象模型的实现,并鼓励创建小型、只读、快速的实现,或者较大的、有高速索引导航的实现。目前大部数据在客户端与服务端的传递以xml形式为主,建立在以xml脚本文件上,dom4j解析模型首先创建一个解释器的实例saxreader,然后再内存中建立xml文件的树形结构,接着判断是xml文件还是生成一个新的xml文件。解析xml文件从根元素开始。生成xml文件由element对象中的方法完成。系统将xml的生成过程对用户进行屏蔽,用户只需要按照可视化的界面将对应的动作进行添加即可,测试人员将测试方案的动作逐一编辑,组成一个一个的动作组,然后将动作进行顺序调整,最后生成可执行脚本文件(脚本文件后缀是.xml),

将脚本文件导入到系统中,系统通过dom4j来对数据进行解析,在解析的同时系统将解析后的动作进行装载,装载成为一个一个的动作对象,最后系统根据脚本测试语法排列的先后顺序获取动作对象的属性内容,然后按照动作编码执行相应的动作函数,最后完成整个测试方案的执行。

以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅限于以上实施例,其具体结构允许有变化。但凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1