一种测试脚本生成方法、装置、服务器及存储介质制造方法及图纸

技术编号:22329972 阅读:31 留言:0更新日期:2019-10-19 12:15
本发明专利技术实施例公开了一种测试脚本生成方法、装置、服务器及存储介质。测试脚本生成方法,包括:获取被测试语句;根据被测试语句和测试脚本模板,生成测试脚本;其中,测试脚本模板包括:文件类型模板、数据库连接模板、测试集模板和环境清理模板。无需测试人员每次人工编写测试脚本,通过一次编写测试脚本模板,即可实现自动将被测试SQL语句转化为测试脚本,提高了测试脚本模板的可复用性,增强了测试脚本的可维护性,提高了测试人员的工作效率。

A test script generation method, device, server and storage medium

【技术实现步骤摘要】
一种测试脚本生成方法、装置、服务器及存储介质
本专利技术实施例涉及计算机
,尤其涉及一种测试脚本生成方法、装置、服务器及存储介质。
技术介绍
结构化查询语言(StructuredQueryLanguage,SQL)是一种数据库查询和程序设计语言,可以用于数据的存取、查询、更新和管理关系数据库系统,被广泛应用到各个领域。无论是使用数据库还是开发数据库都要用到SQL语句,而对于SQL语句的测试是一个不可或缺的重要环节。目前在测试环节,测试人员不仅需要编写大量的测试脚本,还要保证测试脚本为可解析执行的标准格式。这样对于工作人员来说,编写一个正确的测试脚本,一方面要保证SQL语句的正确性,另一方面要保证测试脚本格式的正确性。现有测试脚本的编写过程复杂,测试人员工作量大,测试工作效率低。
技术实现思路
本专利技术提供一种测试脚本生成方法、装置、服务器及存储介质,以实现自动将所编写的SQL语句转化为测试脚本,提高测试人员的工作效率。第一方面,本专利技术实施例提供了一种测试脚本生成方法,包括:获取被测试语句;根据所述被测试语句和测试脚本模板,生成测试脚本;其中,所述测试脚本模板包括:文件类型模板、数据库连接模板、测试集模板和环境清理模板。第二方面,本专利技术实施例还提供了一种测试脚本生成装置,包括:语句获取模块,用于获取被测试语句;测试脚本生成模块,用于根据所述被测试语句和测试脚本模板,生成测试脚本;其中,所述测试脚本模板包括:文件类型模板、数据库连接模板、测试集模板和环境清理模板。第三方面,本专利技术实施例还提供了一种服务器,所述服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例提供的测试脚本生成方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如本专利技术任意实施例提供的测试脚本生成方法。本专利技术实施例由测试人员预先编写包括文件类型、数据库连接、测试集和环境清理这五个部分的测试脚本模板并存储;根据获取的被测试语句,可自动生成测试集脚本和环境清理脚本,并写入测试脚本模板中的对应部分,拼接为测试脚本。无需测试人员每次人工编写测试脚本,通过一次编写测试脚本模板,即可实现自动将被测试SQL语句转化为测试脚本,提高了测试脚本模板的可复用性,增强了测试脚本的可维护性,提高了测试人员的工作效率。附图说明图1是本专利技术实施例一中的一种测试脚本生成方法的流程图;图2是本专利技术实施例二中的一种测试脚本生成方法的流程图;图3是本专利技术实施例二中的一种测试脚本生成方法的流程图;图4是本专利技术实施例三中的一种测试脚本生成装置的结构示意图;图5是本专利技术实施例四中的一种服务器的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种测试脚本生成方法的流程图,本实施例可适用于将编写的SQL语句自动转化为测试脚本进行测试的情况,该方法可以由本实施例提供的测试脚本生成装置来执行,该装置可采用软件和/或硬件的方式实现。参见图1,该方法具体包括如下步骤:步骤110、获取被测试语句。数据库通常采用的是结构化查询语言(StructuredQueryLanguage,SQL),在数据库开发和使用过程中,测试人员需要对编写的SQL语句进行测试。可选的,被测试语句可以为测试人员所编写的一组SQL语句。可选的,获取被测试语句的方式可以为:测试人员输入一组被测试SQL语句,获取用户输入的被测试SQL语句,并对被测试SQL语句进行语法分析,例如,可以对被测试SQL语句分段,并逐段对SQL语句进行分析。示例性地,一组被测试SQL语句可以为:CREATETABLET1(C1INT);INSERTINTOT1VALUES(1);SELECT*FROMT1;其中,一组被测试SQL语句中可以包含查询项和非查询项。查询项可以是SELECT查询项子句;非查询项可以为除SELECT查询项子句以外的其他子句。可选的,可以通过语法解析器对输入的被测试SQL语句进行解析得到查询项和非查询项。可选的,为了进一步提高测试效率,在获取被测试语句之后,还可以对被测试语句进行语法检查。当被测试语句不符合语法规则时,修改为正确的被测试语句。具体地,语法规则为SQL语句通用的语法规则。可以通过语法解析器,对获取的被测试SQL语句进行语法规则检查。若语法规则检查结果为通过,则记录被测试SQL语句中所创建对象类型和对象名,并执行步骤120;否则,将不符合语法规则的被测试SQL语句修改为正确的被测试SQL语句后,记录正确的被测试SQL语句中所创建对象类型和对象名,并执行步骤120。其中,所创建对象类型和对象名可以为被测试SQL语句中CREATE创建项子句对应的对象类型和对象名。在上述实施例的基础上,以被测试SQL语句中的“CREATETABLET1(C1INT);”子句为例,所创建的对象类型为数据表“TABLE”,对象名为“T1”。步骤120、根据被测试语句和测试脚本模板,生成测试脚本。其中,测试脚本模板包括:文件类型模板、数据库连接模板、测试集模板和环境清理模板。文件类型模板用于声明测试脚本的文件类型;数据库连接模板、测试集模板和环境清理模板均为成对出现的标签语言形式。可选的,可以由测试人员在文件类型模板中设置包含测试脚本的文件版本号信息和文件编码方式信息,以声明测试脚本的文件类型。其中,文件版本号和文件编码方式为测试脚本文件的固有属性,文件版本号代表了测试脚本的版本,文件编码方式由encoding属性指定编码方式,默认为“UTF-8”编码方式。示例性地,文件类型模板可以为:<?xmlversion=""encoding=""?>。可选的,可以在数据库连接模板中设置用于连接到目标数据库的连接信息,以实现对目标数据库的操作。示例性地,数据库连接模板可以为:<CONTENT></CONTENT><!--请在这里加入对脚本的简要描述--><CONNECT></CONNECT><!--连接数据库-->可选的,可以根据被测试SQL语句,得到每条被测试SQL语句的预期执行结果和/或结果集,并将被测试SQL语句以及对应的预期执行结果和/或结果集转化为脚本格式写入测试集模板中,形成测试集脚本。示例性地,测试集模板可以为:<SQL_CASE></SQL_CASE>。可选的,可以根据被测试SQL语句中所创建对象类型和对象名,生成环境清理语句,并转化为对应的脚本格式写入环境清理模板,形成环境清理脚本。示例性地,环境清理模板可以为:<CLEAR><!—脚本清除模块,该关键字标识清除块开始--><SQL_CASE></SQL_CASE></CLEAR>可选的,数据库连接模板、测试集模板和环境清理模板可以共同包含本文档来自技高网...

【技术保护点】
1.一种测试脚本生成方法,其特征在于,包括:获取被测试语句;根据所述被测试语句和测试脚本模板,生成测试脚本;其中,所述测试脚本模板包括:文件类型模板、数据库连接模板、测试集模板和环境清理模板。

【技术特征摘要】
1.一种测试脚本生成方法,其特征在于,包括:获取被测试语句;根据所述被测试语句和测试脚本模板,生成测试脚本;其中,所述测试脚本模板包括:文件类型模板、数据库连接模板、测试集模板和环境清理模板。2.根据权利要求1所述的方法,其特征在于,在所述根据所述被测试语句和测试脚本模板,生成测试脚本之后,还包括:根据所述测试脚本,检查被测试语句逻辑功能的正确性。3.根据权利要求1所述的方法,其特征在于,在所述获取被测试语句之后,在所述根据所述被测试语句和测试脚本模板,生成测试脚本之前,还包括:对所述被测试语句进行语法检查;当所述被测试语句不符合语法规则时,修改为正确的被测试语句。4.根据权利要求1所述的方法,其特征在于,所述根据所述被测试语句和测试脚本模板,生成测试脚本的步骤,包括:将文件版本号和文件编码方式写入所述文件类型模板,生成文件类型脚本;将数据库连接信息写入所述数据库连接模板中,生成数据库连接脚本;根据所述被测试语句和所述测试集模板,生成测试集脚本;根据所述被测试语句和所述环境清理模板,生成环境清理脚本;所述文件类型脚本、所述数据库连接信息脚本、所述测试集脚本和所述环境清理脚本构成测试脚本;其中,所述文件类型脚本用于声明所述测试脚本的文件类型;所述数据库连接信息脚本、所述测试集脚本和所述环境清理脚本均为成对出现的标签语言形式。5.根据权利要求4所述的方法,其特征在于,所述根据所述被测试语句和所述测试集模板,生成测试集脚本的步骤,包括:顺序执行每条被测试语句,并判断预期执行结果是否成功;当所述预期执行结果为成功时,判断是否有结果集;根据所述每条被测试语句、所述预期执行结果、所述结果集和所述...

【专利技术属性】
技术研发人员:杨超尹淑彬安沛贤
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海,31

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

1