本发明专利技术公开了一种自动生成测试脚本的方法,包括:S1:根据被测软件控件的属性,建立控件库;S2:根据被测软件控件的基本操作,建立关键字库;S3:编写测试用例文档;S4:运行测试用例时,根据编写的测试用例文档调用所述关键字库和/或所述控件库,自动生成测试脚本并执行;S5:生成测试报告,所述测试报告是将得到的测试结果写入到测试用例文档中。本发明专利技术通过使用关键字脚本技术,实现了编写测试用例从而执行测试脚本,如果被测软件修改了某控件,则只需修改测试脚本中的控件库和关键字库,而不用修改测试业务逻辑,保证了测试用例文档和测试脚本的一致性,减少了测试用例文档和测试脚本的维护工作。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了,包括:S1:根据被测软件控件的属性,建立控件库;S2:根据被测软件控件的基本操作,建立关键字库;S3:编写测试用例文档;S4:运行测试用例时,根据编写的测试用例文档调用所述关键字库和/或所述控件库,自动生成测试脚本并执行;S5:生成测试报告,所述测试报告是将得到的测试结果写入到测试用例文档中。本专利技术通过使用关键字脚本技术,实现了编写测试用例从而执行测试脚本,如果被测软件修改了某控件,则只需修改测试脚本中的控件库和关键字库,而不用修改测试业务逻辑,保证了测试用例文档和测试脚本的一致性,减少了测试用例文档和测试脚本的维护工作。【专利说明】
本专利技术涉及软件自动化测试领域,尤其是。
技术介绍
随着软件开发技术的不断发展,行业内对软件的质量要求越来越高,为了节省测 试成本,自动化测试技术被广泛应用,而通常采用首先编写测试用例文档,然后针对逐条用 例使用自动化测试工具编写脚本的方式,这种方式造成测试用例文档与测试脚本分离,当 软件开发中变更较多时,需要同时更新用例文档和修改测试脚本,容易造成用例文档和测 试脚本的不一致,不利于用例文档和测试脚本的维护。 传统的测试一般以手工测试为主,但是手工测试测试过程复用性差,测试结果无 法保证一致性,当再次执行回归测试时,必须重新执行,回归工作量大,具有重复性、机械 性,因此在手工测试的基础上兴起了自动化测试技术,自动化测试一般分为录制回放和人 工编写脚本两种方式,此两种方式都是基于测试工具的,离开测试工具脚本无法运行。 录制回放技术原理主要是在操作被测软件时,记录下键盘和鼠标的轨迹,并自动 生成测试脚本代码,这样生成的代码冗余度高,可读性差,而且被测软件业务逻辑代码与控 件代码杂糅在一起,不利于后期的维护。 人工编写脚本可以减少自动化脚本的冗余度,而且可以通过添加注释提高可读 性,但是无法克服被测软件业务逻辑与被测软件控件代码杂糅的问题,当测试用例个数成 千上万条时,如果修改了一个控件,则不但需要修改自动化脚本中该控件代码,还需要修改 所有涉及到该控件的测试业务逻辑代码,测试脚本的维护工作量就会很大,维护脚本时难 免会疏忽对测试用例文档的更新,造成测试文档中用例描述与测试脚本不一致。
技术实现思路
本专利技术要解决的技术问题在于克服现有技术的不足,提供一种自动生成测试脚本 的方法。通过使用关键字脚本技术,使自动化测试脚本中测试业务逻辑与被测对象控件代 码分离,测试业务逻辑以测试关系式形式在测试用例中体现,在研发期间,如果被测软件修 改了某控件,则可以只修改自动化脚本中的控件库和关键字库,而不用修改测试业务逻辑, 这样减少了脚本的维护工作量,保证了测试用例文档和脚本的一致性,减少了测试用例文 档和测试脚本的维护工作。 本专利技术提出,包括以下步骤: Sl:根据被测软件控件的属性,建立控件库,具体包括: SI. 1:获取被测软件控件的属性,并选取至少一个具有唯一性的属性作为搜索属 性,并编写控件代码,所述的搜索属性用于定位控件; SI. 2:将所有控件的代码集合在一个文件中管理,形成控件库; S2:根据被测软件的基本操作,建立关键字库,具体包括: S2. 1:将被测软件的基本操作定义为关键字,并将关键字形成代码, S2. 2:将所有关键字的代码集合在一个文件中管理,形成关键字库; S3:编写测试用例文档; S4:运行测试用例时,根据编写的测试用例文档调用所述关键字库和/或所述控 件库,自动生成测试脚本并执行; S5:生成测试报告,所述测试报告是将得到的测试结果写入到测试用例文档中; 优选的,被测软件的基本操作包括对控件的操作。 优选的,在步骤Sl中,所述的控件包括文本框、按钮、单选按钮、下拉框、菜单,通 过开发环境VS2010中的编码UI测试生成器获取每个控件的属性,根据所选取的搜索属性 编写控件代码,再将所有控件的代码集合在一个文件中,形成所述的控件库。 优选的,在步骤S2中,所述的被测软件的基本操作包括打开、输入、点击按钮,根 据每个基本操作的逻辑编写关键字代码,再将所有关键字的代码集合在一个文件中,形成 所述的关键字库。 优选的,在步骤S3中,所述的测试用例文档包括:用例名称、测试关系式、预期结 果以及实际结果;所述的测试关系式包括操作命令和参数;所述的操作命令以所述关键字 命名;所述的参数为要操作的控件或文件路径名或文件夹名称,且所述参数以双引号("") 内的内容表示。 优选的,在步骤S4中,包括: S4. 1:读取测试用例文档的第一条测试用例,作为当前测试用例,并读取用例名 称,表示测试的开始; S4. 2:读取测试关系式,所述的测试关系式为一条测试关系式或多条测试关系式, 并解析每条测试关系式中的关键字和参数; S4. 3:根据步骤S4. 2中解析到的关键字和参数调用执行函数,具体包括: (1)当参数为要操作的控件时,分别在所述的关键字库中调用对应的关键字代码, 和通过控件的搜索属性在控件库中调用对应的控件代码,自动生成测试脚本并执行; (2)当参数为文件路径名或文件夹名称,在所述的关键字库中调用对应的关键字 代码,并将文件路径名或文件夹名称带入到关键字代码,自动生成测试脚本并执行; (3)当解析到的关键字和参数在关键字库和/或控件库中没有找到对应的关键字 代码和/或控件代码时,则报错,表示测试脚本异常; S4. 4:读取预期结果,并和执行得到的结果比对,从而验证测试结果; S4. 5:如果当前测试用例为最后一条测试用例,则执行结束,否则读取下一条测试 用例为当前测试用例并读取用例名称,执行步骤(S4. 2)。 优选的,在步骤S5中,所述的测试报告是将步骤S4. 4验证得到的测试结果写入到 测试用例文档中的实际结果。 优选的,所述的解析关键字和参数的步骤为: (7-1)读取测试关系式的第一个字符,读取的字符是否为双引号字符,如果是则报 错,并运行下一个测试用例,否则默认为关键字并将关键字存入到关键字数组中; (7-2)继续读取下一个字符并判断是否为双引号字符,如果是则执行步骤(7-3), 否则为关键字并将关键字存入到关键字数组中,并继续读取下一个字符,直到读取到的字 符为双引号字符,并将双引号字符之前的所有字符存入到关键字数组中; (7-3)读取下一个字符并判断是否为双引号字符,如果是则执行结束,否则为参数 并将参数存入到参数数组中,并继续读取下一个字符,并将读取的字符存入到参数数组中, 直到读取的字符为双引号字符,则执行结束。 优选的,所述的关键字数组和所述的参数数组为字符串(string)数组。 优选的,所述的被测软件是核电站仪控系统中在测试阶段所涉及到的相关软件。 优选的,所述的测试用例文档为excel文档或txt文档。 本专利技术通过使用关键字脚本技术,实现了测试用例到自动化测试脚本的自动转 化,提高了自动化测试的效率,降低了资源消耗和维护复杂度。 【专利附图】【附图说明】 图1是本专利技术自动生成测试脚本的方法的流程图; 图2是本专利技术执行测试用例的流程图; 图3本文档来自技高网...
【技术保护点】
一种自动生成测试脚本的方法,其特征在于,包括以下步骤:S1:根据被测软件控件的属性,建立控件库,具体包括:S1.1:获取被测软件控件的属性,并选取至少一个具有唯一性的属性作为搜索属性,并编写控件代码,所述的搜索属性用于定位控件;S1.2:将所有控件的代码集合在一个文件中管理,形成控件库;S2:根据被测软件的基本操作,建立关键字库,具体包括:S2.1:将被测软件的基本操作定义为关键字,并将关键字形成代码,S2.2:将所有关键字的代码集合在一个文件中管理,形成关键字库;S3:编写测试用例文档;S4:运行测试用例时,根据编写的测试用例文档调用所述关键字库和/或所述控件库,自动生成测试脚本并执行;S5:生成测试报告,所述测试报告是将得到的测试结果写入到测试用例文档中;优选的,被测软件的基本操作包括对控件的操作。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘红刚,朱亮亮,宋立新,曹宗生,张海滨,黄太新,
申请(专利权)人:北京广利核系统工程有限公司,中国广核集团有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。