测试代码生成方法及装置、测试框架代码执行方法及装置的制造方法

文档序号:10654475阅读:277来源:国知局
测试代码生成方法及装置、测试框架代码执行方法及装置的制造方法
【专利摘要】本发明公开了测试代码生成方法、装置,测试框架代码执行方法及装置,测试框架代码执行方法包括:接收用户输入的运行文件选择,根据该运行文件选择加载相应类型的所有测试用例代码;其中,该类型包括失败用例代码和其他测试用例代码;分别执行所述测试用例代码,并记录执行结果;判断所有测试用例代码是否执行完毕,若是,则判断测试用例代码是否测试通过,若是,则生成测试报告,否则,标记该测试用例代码为失败用例代码;所述测试用例代码由测试代码生成方法获得。本发明根据不同的脚步文件生成测试代码文件,在应用不同的测试代码文件时间不需要更改代码,使得用户在接到测试任务时,大大节省测试时间,降低人工测试成本。
【专利说明】
测试代码生成方法及装置、测试框架代码执行方法及装置
技术领域
[0001]本发明涉及自动化技术领域,尤其涉及一种测试代码生成方法及装置、测试框架代码执行方法及装置。
【背景技术】
[0002]目前在测试过程中几乎都是人工撰写测试用例,以及人工进行用例测试,人工成本和时间成本高,在变化快、版本迭代多、接口类型多样化、测试时间紧迫、测试用例维护成本高等需求下,原来的测试方式不再适合。

【发明内容】

[0003]为了克服现有技术的不足,本发明的目的之一在于提供测试代码生成方法,其能自动化根据现有测试模板文件生成测试代码。
[0004]本发明的目的之二在于提供测试代码生成装置,其能实现本发明的目的之一。
[0005]本发明的目的之三在于提供测试框架代码执行方法,其能自动加载测试用例代码,执行测试工作。
[0006]本发明的目的之四在于提供测试框架代码执行装置,其能实现本发明的目的之
_- O
[0007]本发明的目的之一采用以下技术方案实现:
[0008]—种测试代码生成方法,包括如下步骤:
[0009]步骤一:读取测试框架模板的脚本文件,并根据该脚本文件生成测试代码文件;
[0010]步骤二:加载测试代码文件,接收用户输入的项目名称,判断是否生成用例代码,若是,执行步骤三,否则,根据项目名称以及测试代码文件生成相应的测试框架代码和该测试框架代码目录;
[0011 ]步骤三:根据测试代码文件判断是否生成接口测试代码,若是,则执行步骤四,否贝IJ,根据项目名称和测试代码文件生成一整套测试代码;
[0012]步骤四:访问接口数据产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码;
[0013]步骤五:重复步骤四,根据所有测试用例代码和项目名称生成一整套测试代码;
[0014]其中,所述一整套测试代码包括用例测试代码和测试框架代码。
[0015]优选的,所述步骤四包括如下子步骤:
[0016]步骤41:接收用户输入的存储路径,以进入相应的存储文件夹;
[0017]步骤42:解析该存储文件夹中的接口文件,并处理得到接口数据;
[0018]步骤43:访问接口数据并产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码。
[0019]本发明的目的之二采用以下技术方案实现:
[0020]一种测试代码生成装置,包括如下模块:
[0021]读取模块:用于读取测试框架模板的脚本文件,并根据该脚本文件生成测试代码文件;
[0022]加载模块:用于加载测试代码文件,接收用户输入的项目名称,判断是否生成用例代码,若是,执行判断模块,否则,根据项目名称以及测试代码文件生成相应的测试框架代码和该测试框架代码目录;
[0023]判断模块:用于根据测试代码文件判断是否生成接口测试代码,若是,则执行步骤四,否则,根据项目名称和测试代码文件生成一整套测试代码;[〇〇24]访问模块:用于访问接口数据产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码;
[0025]生成模块:用于重复访问模块,根据所有测试用例代码和项目名称生成一整套测试代码;
[0026]其中,所述一整套测试代码包括用例测试代码和测试框架代码。[〇〇27]优选的,访问模块具体包括如下子模块:
[0028]接收子模块:用于接收用户输入的存储路径,以进入相应的存储文件夹;
[0029]解析子模块:用于解析该存储文件夹中的接口文件,并处理得到接口数据;
[0030]访问子模块:用于访问接口数据并产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码。
[0031]本发明的目的之三采用以下技术方案实现:
[0032]—种测试框架代码执行方法,包括如下步骤:
[0033]A1:接收用户输入的运行文件选择,根据该运行文件选择加载相应类型的所有测试用例代码;其中,该类型至少包括失败用例代码;
[0034]A2:分别执行所述测试用例代码,并记录执行结果;
[0035]A3:判断所有测试用例代码是否执行完毕,若是,则执行A4,否则返回A2;
[0036]A4:判断测试用例代码是否测试通过,若是,则生成测试报告,否则,标记该测试用例代码为失败用例代码;
[0037]所述测试用例代码由测试代码生成方法获得。
[0038]本发明的目的之四采用以下技术方案实现:
[0039]—种测试框架代码执行装置,包括如下模块:
[0040]加载子模块:用于接收用户输入的运行文件选择,根据该运行文件选择加载相应类型的所有测试用例代码;其中,该类型至少包括失败用例代码;
[0041]执行子模块:用于分别执行所述测试用例代码,并记录执行结果;
[0042]第一判断子模块:用于判断所有测试用例代码是否执行完毕,若是,则执行第二判断子模块,否则返回执行子模块;
[0043]第二判断子模块:用于判断测试用例代码是否测试通过,若是,则生成测试报告, 否则,标记该测试用例代码为失败用例代码;
[0044]所述测试用例代码由测试代码生成方法获得。
[0045]相比现有技术,本发明的有益效果在于:
[0046]本发明根据不同的脚步文件生成测试代码文件,在应用不同的测试代码文件时间不需要更改代码,使得用户在接到测试任务时,大大节省测试时间,降低人工测试成本。
【附图说明】
[0047]图1为本发明的测试代码生成方法的流程图。
[0048]图2为本发明的测试框架代码执行方法的流程图。
【具体实施方式】
[0049 ]下面,结合附图以及【具体实施方式】,对本发明做进一步描述:
[0050]参见图1,本发明提供一种测试代码生成方法,其包括如下步骤:
[0051 ] S1:读取测试框架模板的脚本文件,并根据该脚本文件生成测试代码文件;
[0052]将写好的脚本文件保存在指定目录下,通过update工具运行,自动读取指定模板下的脚本文件,通过一系列算法常量替换得到测试代码文件,测试代码文件为data.db文件,保存至data.tb文件中。测试代码文件为加密文件,防止异常更改,在后面应用到测试代码文件的操作中,实际上有先对该测试代码文件进行解密操作得到代码框架。
[0053]S2:加载测试代码文件,接收用户输入的项目名称;
[0054]运行工具为obj_create,自动data.db文件,并提示用户输入项目名称,以对将要生产的测试代码的项目名称进行创建。
[0055]S3:判断是否生成用例代码,若是,执行S4,否则,根据项目名称以及测试代码文件生成相应的测试框架代码和该测试框架代码目录;
[0056]如果不生成用例代码则直接生产测试框架代码和目录,不保护测试用例代码。
[0057]S4:根据测试代码文件判断是否生成接口测试代码,若是,则执行S5,否则,根据项目名称和测试代码文件生成一整套测试代码;
[0058]S4也是判断测试类型,如果步骤SI所读取的现有的测试框架模板为接口模板,则由于测试用例需要,须访问接口获得接口数据,如果是app测试模板,则不需要对接口进行访问,直接生成一整套测试代码。
[0059]S5:访问接口数据产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码;
[0060]步骤S5具体可包括如下子步骤:
[0061 ]步骤51:接收用户输入的存储路径,以进入相应的存储文件夹;
[0062]步骤52:解析该存储文件夹中的接口文件,并处理得到接口数据;
[0063]步骤53:访问接口数据并产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码。
[0064]Postman工具导出保存的接口文件,相关代码对接口文件进行解析,并记录到内存中,解析后对每个接口文件进行一次访问,在访问一条http请求后记录返回数据,经过算法处理得到校验的测试代码。
[0065]S6:重复S5,根据所有测试用例代码和项目名称生成一整套测试代码;
[0066]其中,所述一整套测试代码包括用例测试代码和测试框架代码。
[0067]也就是说,前面用户选择了生成用例代码,则会同时生成用例测试代码和测试框架代码,否则直接生成测试框架代码及其目录。
[0068]相应的,本发明还提供一种测试代码生成装置,其包括如下模块:
[0069]读取模块:用于读取测试框架模板的脚本文件,并根据该脚本文件生成测试代码文件;
[0070]加载模块:用于加载测试代码文件,接收用户输入的项目名称,判断是否生成用例代码,若是,执行判断模块,否则,根据项目名称以及测试代码文件生成相应的测试框架代码和该测试框架代码目录;
[0071]判断模块:用于根据测试代码文件判断是否生成接口测试代码,若是,则执行步骤四,否则,根据项目名称和测试代码文件生成一整套测试代码;
[0072]访问模块:用于访问接口数据产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码;
[0073]生成模块:用于重复访问模块,根据所有测试用例代码和项目名称生成一整套测试代码;
[0074]其中,所述一整套测试代码包括用例测试代码和测试框架代码。
[0075]其中,访问模块具体包括如下子模块:
[0076]接收子模块:用于接收用户输入的存储路径,以进入相应的存储文件夹;
[0077]解析子模块:用于解析该存储文件夹中的接口文件,并处理得到接口数据;[〇〇78]访问子模块:用于访问接口数据并产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码。
[0079]参见图2,本发明还提供测试框架代码执行方法,这里的测试框架代码由测试代码生成方法获得,这里提出的执行方法也就是对测试框架代码的应用,包括如下步骤:
[0080]A1:接收用户输入的运行文件选择,根据该运行文件选择加载相应类型的所有测试用例代码;
[0081]这里的类型包括失败用例代码和全部用例代码,全部用例代码包括了失败和非失败的。用户可对需要运行的文件进行选择,选择运行全部测试用例代码还是所有的失败用例代码。通过这个操作,对于上一次执行失败的测试用例代码再一次进行测试检测时,不需要将全部测试用例代码都重新测试一遍,只需要测试失败测试用例代码即可,减低了回归测试时间。
[0082]A2:分别执行所述测试用例代码,并记录执行结果;
[0083]A3:判断所有测试用例代码是否执行完毕,若是,则执行A4,否则返回A2;
[0084]A4:判断测试用例代码是否测试通过,若是,则生成测试报告,否则,标记该测试用例代码为失败用例代码;这里的失败用例代码即是前面所述的类型中的识别用例代码。实际上,这里的判断是对每一条测试用例代码进行判断测试是否通过,对于不同的测试用例代码则标记为失败用例代码,如果下一次要进行用例测试,并且只对失败用例代码进行测试时,则对于这次所标记的全部失败用例代码进行重新测试。
[0085]测试用例代码由测试代码生成方法获得。
[0086]相应的,本发明还提出一种测试框架代码执行装置,包括如下模块:
[0087]加载子模块:用于接收用户输入的运行文件选择,根据该运行文件选择加载相应类型的所有测试用例代码;
[0088]执行子模块:用于分别执行所述测试用例代码,并记录执行结果;
[0089]第一判断子模块:用于判断所有测试用例代码是否执行完毕,若是,则执行第二判断子模块,否则返回执行子模块;
[0090]第二判断子模块:用于判断测试用例代码是否测试通过,若是,则生成测试报告,否则,标记该测试用例代码为失败用例代码;
[0091]所述测试用例代码由测试代码生成方法获得,其中,所述类型包括失败用例代码和全部测试用例代码。
[0092]对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
【主权项】
1.一种测试代码生成方法,其特征在于,包括如下步骤: 步骤一:读取测试框架模板的脚本文件,并根据该脚本文件生成测试代码文件; 步骤二:加载测试代码文件,接收用户输入的项目名称,判断是否生成用例代码,若是,执行步骤三,否则,根据项目名称以及测试代码文件生成相应的测试框架代码和该测试框架代码目录; 步骤三:根据测试代码文件判断是否生成接口测试代码,若是,则执行步骤四,否则,根据项目名称和测试代码文件生成一整套测试代码; 步骤四:访问接口数据产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码; 步骤五:重复步骤四,根据所有测试用例代码和项目名称生成一整套测试代码; 其中,所述一整套测试代码包括用例测试代码和测试框架代码。2.如权利要求1所述的测试代码生成方法,其特征在于,所述步骤四包括如下子步骤: 步骤41:接收用户输入的存储路径,以进入相应的存储文件夹; 步骤42:解析该存储文件夹中的接口文件,并处理得到接口数据; 步骤43:访问接口数据并产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码。3.一种测试代码生成装置,其特征在于,包括如下模块: 读取模块:用于读取测试框架模板的脚本文件,并根据该脚本文件生成测试代码文件;加载模块:用于加载测试代码文件,接收用户输入的项目名称,判断是否生成用例代码,若是,执行判断模块,否则,根据项目名称以及测试代码文件生成相应的测试框架代码和该测试框架代码目录; 判断模块:用于根据测试代码文件判断是否生成接口测试代码,若是,则执行步骤四,否则,根据项目名称和测试代码文件生成一整套测试代码; 访问模块:用于访问接口数据产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码; 生成模块:用于重复访问模块,根据所有测试用例代码和项目名称生成一整套测试代码; 其中,所述一整套测试代码包括用例测试代码和测试框架代码。4.如权利要求3所述的测试代码生成装置,其特征在于,访问模块具体包括如下子模块: 接收子模块:用于接收用户输入的存储路径,以进入相应的存储文件夹; 解析子模块:用于解析该存储文件夹中的接口文件,并处理得到接口数据; 访问子模块:用于访问接口数据并产生返回数据,根据返回数据处理得到校验的测试代码,根据校验的测试代码和接口数据生成一条相应的测试用例代码。5.一种测试框架代码执行方法,其特征在于,包括如下步骤: Al:接收用户输入的运行文件选择,根据该运行文件选择加载相应类型的所有测试用例代码;其中,该类型至少包括失败用例代码; A2:分别执行所述测试用例代码,并记录执行结果; A3:判断所有测试用例代码是否执行完毕,若是,则执行A4,否则返回A2;A4:判断测试用例代码是否测试通过,若是,则生成测试报告,否则,标记该测试用例代 码为失败用例代码;所述测试用例代码由权利要求1所述的测试代码生成方法获得。6.—种测试框架代码执行装置,其特征在于,包括如下模块:加载子模块:接收用户输入的运行文件选择,根据该运行文件选择加载相应类型的所 有测试用例代码;其中,该类型至少包括失败用例代码;执行子模块:用于分别执行所述测试用例代码,并记录执行结果;第一判断子模块:用于判断所有测试用例代码是否执行完毕,若是,则执行第二判断子 模块,否则返回执行子模块;第二判断子模块:用于判断测试用例代码是否测试通过,若是,则生成测试报告,否则, 标记该测试用例代码为失败用例代码;所述测试用例代码由权利要求1所述的测试代码生成方法获得。
【文档编号】G06F11/36GK106021118SQ201610443187
【公开日】2016年10月12日
【申请日】2016年6月20日
【发明人】王振飞, 郑明伟, 邵福兴
【申请人】深圳充电网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1