自动化测试方法、装置、计算机设备及存储介质与流程

文档序号:15850826发布日期:2018-11-07 09:52阅读:138来源:国知局
自动化测试方法、装置、计算机设备及存储介质与流程

本申请涉及自动化测试技术领域,尤其涉及一种自动化测试方法、装置、计算机设备及存储介质。

背景技术

目前,在测试过程中对测试用例进行测试时,一般是在测试人员的本地终端上进行手动或自动的测试,这就导致大型的测试项目中只能对其进行拆分,拆分为多个小型的测试任务后再分配到各测试人员进行测试,这就导致很难集中统一且自动获取各测试任务的测试进度。



技术实现要素:

本申请提供了一种自动化测试方法、装置、计算机设备及存储介质,旨在解决现有技术中大型的测试项目中只能对其进行拆分,拆分为多个小型的测试任务后再分配到各测试人员进行测试,这就导致很难集中统一且自动获取各测试任务的测试进度的问题。

第一方面,本申请提供了一种自动化测试方法,其包括:

搭建测试框架;

获取上传的测试数据,在所述测试框架中对所述测试数据进行组装得到初始化测试案例;

对初始化案例进行解析,得到解析后的测试案例;

将解析后的测试案例分发至对应负载端;

获取所述负载端反馈的测试结果,将所述测试结果填充至预设的报告模板生成测试报告,将所述测试报告发送至预设的联系端。

第二方面,本申请提供了一种自动化测试装置,其包括:

框架搭建单元,用于搭建测试框架;

案例组装单元,用于获取上传的测试数据,在所述测试框架中对所述测试数据进行组装得到初始化测试案例;

案例解析单元,用于对初始化案例进行解析,得到解析后的测试案例;

案例分发单元,用于将解析后的测试案例分发至对应负载端;

结果反馈单元,用于获取所述负载端反馈的测试结果,将所述测试结果填充至预设的报告模板生成测试报告,将所述测试报告发送至预设的联系端。

第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的自动化测试方法。

第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的自动化测试方法。

本申请提供一种自动化测试方法、装置、计算机设备及存储介质。该方法通过搭建测试框架;获取上传的测试数据,在所述测试框架中对所述测试数据进行组装得到初始化测试案例;对初始化案例进行解析,得到解析后的测试案例;将解析后的测试案例分发至对应负载端;获取所述负载端反馈的测试结果,将所述测试结果填充至预设的报告模板生成测试报告,将所述测试报告发送至预设的联系端。该方法实现了测试数据的自动组装,并进行大批量的自动化测试,提高了自动化测试的效率。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种自动化测试方法的示意流程图;

图2是本申请实施例提供的一种自动化测试方法的子流程示意图;

图3为本申请实施例提供的一种自动化测试方法的另一示意流程图;

图4为本申请实施例提供的一种自动化测试方法的另一子流程示意图;

图5为本申请实施例提供的一种自动化测试方法的另一示意流程图;

图6为本申请实施例提供的一种自动化测试装置的示意性框图;

图7为本申请实施例提供的一种自动化测试装置的子单元示意性框图;

图8为本申请实施例提供的一种自动化测试装置的另一示意性框图;

图9为本申请实施例提供的一种自动化测试装置的另一子单元示意性框图;

图10为本申请实施例提供的一种自动化测试装置的另一示意性框图;

图11为本申请实施例提供的一种计算机设备的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1是本申请实施例提供的一种自动化测试方法的示意流程图。该方法应用于服务器中。如图1所示,该方法包括步骤s101~s105。

s101、搭建测试框架。

在本实施例中,需先搭建质量技术云平台(可以理解为服务器),该质量技术云平台上集成了自动化测试框架,在搭建自动化测试框架时,需要构建各api模块(具体是接口调用api模块、数据库api模块、excel表格处理api模块、日期处理api模块)、数据管理模块、接口管理模块、日志输出模块、异常处理模块、并发处理模块、分布式处理模块、案例管理模块、结果报告输出模块。

其中,接口调用api模块,封装了http、https、esg协议(esg协议是zookeeper协议的一种变形协议)的get、post等接口请求方式,支持多线程并发请求。其基于httpclient.jar、java多线程技术,而且已处理其中的线程安全问题。在自动化测试过程中,需要频繁调用接口,此接口调用api模块中的各类api可满足测试需求。

数据库api模块,封装了对oracle数据库进行增删改查,以及定时轮询等方法,数据源管理使用c3p0(c3p0是一种线程池技术),可配置化管理数据库连接、用户名/密码等信息,性能极佳,在自动化测试过程中,需要频繁访问oracle数据库,此数据库api模块中的api可满足需求。

excel表格处理api模块,封装了对excel2003、2007的读取、输入api,基于poi.jar(poi.jar是java中用于操作excel的jar包),模块中的api可支持根据左边单元格提示读取右边单元格值、根据上单元格提示读取下单元格值,根据对角线单元格获取整片区域单元格值。

日期处理api模块,封装了对日期处理的相关api,基于date、calendar、simpledateformat等工具类,可实现日期对比,获取以年、月、日、时、分、秒为单元差的任意时间,可根据时间获取当年哪周星期几,在自动化测试过程中,需要对日期频繁处理操作,此模块可满足需求。

数据管理模块,用于对测试数据进行分类管理。

接口管理模块,用于管理自动化测试框架中的多个api接口,因为在自动化测试过程中,同一个接口被调用的重复次数很多,为简化代码,缩短后期维护工作量,接口需要单独管理调用,后期在修改多条测试案例时,只需要维护一次接口。

日志输出模块,封装对自动化测试过程中日志输出管理等api,基于log4j.jar,可对日志设置成error、log、stdout、info等四个级别,针对不同的日志输出级别灵活调用相关api。

异常处理模块,封装对自动化测试过程中出现异常如何处理等api,基于exception接口,封装了大量自定义异常,便于在出现异常时快速定位问题根源。

并发处理模块,封装对自动化测试过程中需要使用多线程执行自动化案例等api,基础java多线程技术,此模块提供了初始化线程池、调用、挂起、销毁线程的api,并且通过锁技术处理了线程安全问题。

分布式处理模块,在自动化测试过程中,如果案例过多,一台执行机的效率太低,需要拆分案例在多台执行机上执行,这时候需要在testng.xml文件中配置分组,通过不同分组来指定唯一的执行机,提高执行效率。

案例管理模块,此模块是执行测试案例的模块,通过testng框架,@test注解来标示,assert静态方法来断言案例执行结果。

结果报告输出模块,此模块是管理测试案例执行完后,以报告的形式输出,测试案例总数,执行通过数,通过率,失败测试案例展示,失败原因展示,以邮件形式发出。

在完成了自动化测试框架的搭建后,即可进行自动化测试。即自动化测试框架包括多个模块,测试数据则在这多个模块中进行各种交互和处理后,得到测试结果。

s102、获取上传的测试数据,在所述测试框架中对所述测试数据进行组装得到初始化测试案例。

在一实施例中,如图2所示,所述步骤s102包括:

s1021、获取测试数据,根据测试数据对应生成各字段;

s1022、根据预设的测试流程,在测试数据对应生成的各字段中提取所需的字段组装成初始化测试案例。

在本实施例中,通过excel表格处理api模块获取测试数据,根据测试数据对应生成各字段;即通过excel处理api模块中,初始化测试数据以便后续组装不同的测试案例;在将测试数据导入excel表格中时,可根据测试数据对应生成各字段,然后将测试数据填充至excel表格中;例如,有一测试数据为张三、男、30、440305198801010013、广东深圳南山、贷款金额20000元,将其填充至excel表格中时,先生成姓名、性别、年龄、身份证号码、住址所在区域、贷款金额等字段,然后将测试数据按字段导入到excel表格中(将张三填充到姓名字段,以此类推)。

然后通过用例管理模块根据预设的测试流程,在测试数据对应生成的各字段中提取所需的字段组装成初始化测试案例。在案例管理模块中,开始根据测试数据组装测试案例,通过接口调用api模块中封装好的接口以及初始化好的测试数据,可以组装成一个初始化测试案例。

例如,在测试数据的基础上,增加一些测试流程进去,即可组装成初始化的测试案例;如excel表格的sheet1表格中初始的测试数据为张三,男,30,440305198801010013,广东深圳南山,贷款金额20000元,通过在测试数据的基础上,增加一些测试流程,如1)select*fromsheet1where字段名=贷款金额(即从sheet1表格的贷款金额字段获取数据);2)updatesheet1set贷款金额-=20000(即从sheet1表格的贷款金额字段的个具体值均减去20000);3)deletefromsheet1where贷款金额<0(删除sheet1表格的贷款金额字段中值小于0的测试数据)等,通过将测试流程和测试数据组装,即可得到初始化测试案例。通过自动化测试框架,实现了对测试数据的自动组装以生成测试案例,无需测试人员编写测试案例。

s103、对初始化案例进行解析,得到解析后的测试案例。

在本实施例中,通过数据库api模块对初始化测试案例进行解析,得到解析后的测试案例;即初始化测试案例组装完成之后,需组装复杂测试案例,此时需要通过数据库api模块中所封装的方法来对初始化测试案例中sql语句进行解析,根据sql语句对测试数据进行对应处理,得到解析后的测试案例,这一过程也是数据库api模块通过sql脚本对对测试数据进行对应处理以进行解析,通过api接口的自动调用实现了解析过程。

在一实施例中,如图3所示,所述步骤s103之后还包括:

s103a、将初始化测试案例对应的初始组装日志,及解析初始化案例时所对应的解析日志进行存储。

在本实施例中,将对测试用例进行组装得到初始化测试案例所对应初始组装日志,及对初始化测试案例进行解析得到解析后的测试案例所对应解析日志存储至日志输出模块。在整个复杂案例组装过程中需要日志输出模块对自动化组装过程进行记录,以便于通过日志输出模块记录测试案例的组装过程。

s104、将解析后的测试案例分发至对应负载端。

在一实施例中,如图4所示,所述步骤s104包括:

s1041、将解析后的测试案例加入线程池;

s1042、获取多个负载端中测试状态为空闲状态的负载端,选择线程池中的一个子线程,将解析后的测试案例发送至其中一个负载端。

在本实施例中,当解析后的测试案例发送至并发处理模块中的队列进行排队(队列可以理解为线程池)时,按照并发处理模块的中设定分发规则将解析后的测试案例分发至对应负载端。即并发处理模块接收数据库api模块所发送的解析后的测试案例,将解析后的测试案例加入线程池;获取线程池中解析后的测试案例,并由分布式处理模块获取多个负载端中测试状态为空闲状态的负载端,并发送至其中一个负载端。若所获取的单个解析后的测试案例超出预设的案例文件大小(如50k),将分布式处理模块解析后的测试案例拆分至多个子测试案例,且每一子测试案例的大小都保持低于预设的案例文件大小,之后再由分布式处理模块将多个子测试案例分发至测试状态为空闲状态的其中一个负载端。

s105、获取所述负载端反馈的测试结果,将所述测试结果填充至预设的报告模板生成测试报告,将所述测试报告发送至预设的联系端。

其中,所述测试结果为测试成功结果或测试失败结果。

在本实施例中,通过结果报告输出模块获取案例管理模块中的测试结果,对所有测试案例的测试结果进行统计和整合后,以测试报告的形式输出,其中至少包括测试案例总数,执行通过数,通过率,失败测试案例展示,失败原因展示等信息,测试报告以邮件形式发出至预设的联系号码。

在一实施例中,如图5所示,所述步骤s105中还包括:

s105a、若所述测试结果为测试失败结果,定位所述解析后的测试案例中测试异常故障位置。

在本实施例中,通过任务监控平台获取负载端的测试结果,并将测试结果存储至案例管理模块。此时,在负载端中对解析后的测试案例进行自动化测试,得到测试结果,并反馈至案例管理模块进行存储;若在自动化测试的过程中,存在解析后的测试案例所对应的测试结果为失败状态(其中可以通过assert静态方法来断言案例执行结果),则调用异常处理模块中封装的方法,定位该解析后的测试案例中导致测试异常故障的位置。

可见,该方法实现了测试数据的自动组装,并进行大批量的自动化测试,提高了自动化测试的效率。

本申请实施例还提供一种自动化测试装置,该自动化测试装置用于执行前述自动化测试方法的任一实施例。具体地,请参阅图6,图6是本申请实施例提供的一种自动化测试装置的示意性框图。自动化测试装置100可以配置于服务器中。

如图6所示,自动化测试装置100包括框架搭建单元101、案例组装单元102、案例解析单元103、案例分发单元104、及结果反馈单元105。

其中,框架搭建单元101,用于搭建测试框架。

在本实施例中,在搭建自动化测试框架时,需要构建各api模块(具体是接口调用api模块、数据库api模块、excel表格处理api模块、日期处理api模块)、数据管理模块、接口管理模块、日志输出模块、异常处理模块、并发处理模块、分布式处理模块、案例管理模块、结果报告输出模块。

其中,接口调用api模块,封装了http、https、esg协议(esg协议是zookeeper协议的一种变形协议)的get、post等接口请求方式,支持多线程并发请求。其基于httpclient.jar、java多线程技术,而且已处理其中的线程安全问题。在自动化测试过程中,需要频繁调用接口,此接口调用api模块中的各类api可满足测试需求。

数据库api模块,封装了对oracle数据库进行增删改查,以及定时轮询等方法,数据源管理使用c3p0(c3p0是一种线程池技术),可配置化管理数据库连接、用户名/密码等信息,性能极佳,在自动化测试过程中,需要频繁访问oracle数据库,此数据库api模块中的api可满足需求。

excel表格处理api模块,封装了对excel2003、2007的读取、输入api,基于poi.jar(poi.jar是java中用于操作excel的jar包),模块中的api可支持根据左边单元格提示读取右边单元格值、根据上单元格提示读取下单元格值,根据对角线单元格获取整片区域单元格值。

日期处理api模块,封装了对日期处理的相关api,基于date、calendar、simpledateformat等工具类,可实现日期对比,获取以年、月、日、时、分、秒为单元差的任意时间,可根据时间获取当年哪周星期几,在自动化测试过程中,需要对日期频繁处理操作,此模块可满足需求。

数据管理模块,用于对测试数据进行分类管理。

接口管理模块,用于管理自动化测试框架中的多个api接口,因为在自动化测试过程中,同一个接口被调用的重复次数很多,为简化代码,缩短后期维护工作量,接口需要单独管理调用,后期在修改多条测试案例时,只需要维护一次接口。

日志输出模块,封装对自动化测试过程中日志输出管理等api,基于log4j.jar,可对日志设置成error、log、stdout、info等四个级别,针对不同的日志输出级别灵活调用相关api。

异常处理模块,封装对自动化测试过程中出现异常如何处理等api,基于exception接口,封装了大量自定义异常,便于在出现异常时快速定位问题根源。

并发处理模块,封装对自动化测试过程中需要使用多线程执行自动化案例等api,基础java多线程技术,此模块提供了初始化线程池、调用、挂起、销毁线程的api,并且通过锁技术处理了线程安全问题。

分布式处理模块,在自动化测试过程中,如果案例过多,一台执行机的效率太低,需要拆分案例在多台执行机上执行,这时候需要在testng.xml文件中配置分组,通过不同分组来指定唯一的执行机,提高执行效率。

案例管理模块,此模块是执行测试案例的模块,通过testng框架,@test注解来标示,assert静态方法来断言案例执行结果。

结果报告输出模块,此模块是管理测试案例执行完后,以报告的形式输出,测试案例总数,执行通过数,通过率,失败测试案例展示,失败原因展示,以邮件形式发出。

在完成了自动化测试框架的搭建后,即可进行自动化测试。

案例组装单元102,用于获取上传的测试数据,在所述测试框架中对所述测试数据进行组装得到初始化测试案例。

在一实施例中,如图7所示,所述案例组装单元102包括:

测试数据获取单元1021,用于获取测试数据,根据测试数据对应生成各字段;

数据组装单元1022,用于根据预设的测试流程,在测试数据对应生成的各字段中提取所需的字段组装成初始化测试案例。

在本实施例中,通过excel表格处理api模块获取测试数据,根据测试数据对应生成各字段;即通过excel处理api模块中,初始化测试数据以便后续组装不同的测试案例;在将测试数据导入excel表格中时,可根据测试数据对应生成各字段,然后将测试数据填充至excel表格中;例如,有一测试数据为张三、男、30、440305198801010013、广东深圳南山、贷款金额20000元,将其填充至excel表格中时,先生成姓名、性别、年龄、身份证号码、住址所在区域、贷款金额等字段,然后将测试数据按字段导入到excel表格中(将张三填充到姓名字段,以此类推)。

然后通过用例管理模块根据预设的测试流程,在测试数据对应生成的各字段中提取所需的字段组装成初始化测试案例。在案例管理模块中,开始根据测试数据组装测试案例,通过接口调用api模块中封装好的接口以及初始化好的测试数据,可以组装成一个初始化测试案例。

例如,在测试数据的基础上,增加一些测试流程进去,即可组装成初始化的测试案例;如excel表格的sheet1表格中初始的测试数据为张三,男,30,440305198801010013,广东深圳南山,贷款金额20000元,通过在测试数据的基础上,增加一些测试流程,如1)select*fromsheet1where字段名=贷款金额(即从sheet1表格的贷款金额字段获取数据);2)updatesheet1set贷款金额-=20000(即从sheet1表格的贷款金额字段的个具体值均减去20000);3)deletefromsheet1where贷款金额<0(删除sheet1表格的贷款金额字段中值小于0的测试数据)等,通过将测试流程和测试数据组装,即可得到初始化测试案例。通过自动化测试框架,实现了对测试数据的自动组装以生成测试案例,无需测试人员编写测试案例。

案例解析单元103,用于对初始化案例进行解析,得到解析后的测试案例。

在本实施例中,通过数据库api模块对初始化测试案例进行解析,得到解析后的测试案例;即初始化测试案例组装完成之后,需组装复杂测试案例,此时需要通过数据库api模块中所封装的方法来对初始化测试案例中sql语句进行解析,根据sql语句对测试数据进行对应处理,得到解析后的测试案例,这一过程也是数据库api模块通过sql脚本对对测试数据进行对应处理以进行解析,通过api接口的自动调用实现了解析过程。

在一实施例中,如图8所示,所述自动化测试装置100还包括:

日志存储单元103a,用于将初始化测试案例对应的初始组装日志,及解析初始化案例时所对应的解析日志进行存储。

在本实施例中,将对测试用例进行组装得到初始化测试案例所对应初始组装日志,及对初始化测试案例进行解析得到解析后的测试案例所对应解析日志存储至日志输出模块。在整个复杂案例组装过程中需要日志输出模块对自动化组装过程进行记录,以便于通过日志输出模块记录测试案例的组装过程。

案例分发单元104,用于将解析后的测试案例分发至对应负载端。

在一实施例中,如图9所示,所述案例分发单元104包括:

线程池进入单元1041,用于将解析后的测试案例加入线程池;

案例发送单元1042,用于获取多个负载端中测试状态为空闲状态的负载端,选择线程池中的一个子线程,将解析后的测试案例发送至其中一个负载端。

在本实施例中,当多个解析收测试案例发送至并发处理模块中的队列进行排队(队列可以理解为线程池)时,按照并发处理模块的中设定分发规则将解析后的测试案例分发至对应负载端。即并发处理模块接收数据库api模块所发送的解析后的测试案例,将解析后的测试案例加入线程池;获取线程池中解析后的测试案例,并由分布式处理模块获取多个负载端中测试状态为空闲状态的负载端,并发送至其中一个负载端。若所获取的单个解析后的测试案例超出预设的案例文件大小(如50k),将分布式处理模块解析后的测试案例拆分至多个子测试案例,且每一子测试案例的大小都保持低于预设的案例文件大小,之后再由分布式处理模块将多个子测试案例分发至测试状态为空闲状态的其中一个负载端。

结果反馈单元105,用于获取所述负载端反馈的测试结果,将所述测试结果填充至预设的报告模板生成测试报告,将所述测试报告发送至预设的联系端。

其中,所述测试结果为测试成功结果或测试失败结果。

在本实施例中,通过结果报告输出模块获取案例管理模块中的测试结果,对所有测试案例的测试结果进行统计和整合后,以测试报告的形式输出,其中至少包括测试案例总数,执行通过数,通过率,失败测试案例展示,失败原因展示等信息,测试报告以邮件形式发出至预设的联系号码。

在一实施例中,如图10所示,所述结果反馈单元105中还包括:

异常处理单元105a,用于若所述测试结果为测试失败结果,定位所述解析后的测试案例中测试异常故障位置。

在本实施例中,通过任务监控平台获取负载端的测试结果,并将测试结果存储至案例管理模块。此时,在负载端中对解析后的测试案例进行自动化测试,得到测试结果,并反馈至案例管理模块进行存储;若在自动化测试的过程中,存在解析后的测试案例所对应的测试结果为失败状态(其中可以通过assert静态方法来断言案例执行结果),则调用异常处理模块中封装的方法,定位该解析后的测试案例中导致测试异常故障的位置。

可见,该装置实现了测试数据的自动组装,并进行大批量的自动化测试,提高了自动化测试的效率。

上述自动化测试装置可以实现为一种计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。

请参阅图11,图11是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是服务器。

参阅图11,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种自动化测试方法。

该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种自动化测试方法。

该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:搭建测试框架;获取上传的测试数据,在所述测试框架中对所述测试数据进行组装得到初始化测试案例;对初始化案例进行解析,得到解析后的测试案例;将解析后的测试案例分发至对应负载端;获取所述负载端反馈的测试结果,将所述测试结果填充至预设的报告模板生成测试报告,将所述测试报告发送至预设的联系端。

在一实施例中,处理器502还执行如下操作:获取测试数据,根据测试数据对应生成各字段;根据预设的测试流程,在测试数据对应生成的各字段中提取所需的字段组装成初始化测试案例。

在一实施例中,处理器502还执行如下操作:将初始化测试案例对应的初始组装日志,及解析初始化案例时所对应的解析日志进行存储。

在一实施例中,处理器502还执行如下操作:将解析后的测试案例加入线程池;获取多个负载端中测试状态为空闲状态的负载端,选择线程池中的一个子线程,将解析后的测试案例发送至其中一个负载端。

在一实施例中,处理器502还执行如下操作:所述测试结果为测试成功结果或测试失败结果;若所述测试结果为测试失败结果,定位所述解析后的测试案例中测试异常故障位置。

本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。

应当理解,在本申请实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在本申请的另一实施例中提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:搭建测试框架;获取上传的测试数据,在所述测试框架中对所述测试数据进行组装得到初始化测试案例;对初始化案例进行解析,得到解析后的测试案例;将解析后的测试案例分发至对应负载端;获取所述负载端反馈的测试结果,将所述测试结果填充至预设的报告模板生成测试报告,将所述测试报告发送至预设的联系端。

在一实施例中,该程序指令被处理器执行时实现:获取测试数据,根据测试数据对应生成各字段;根据预设的测试流程,在测试数据对应生成的各字段中提取所需的字段组装成初始化测试案例。

在一实施例中,该程序指令被处理器执行时实现:将初始化测试案例对应的初始组装日志,及解析初始化案例时所对应的解析日志进行存储。

在一实施例中,该程序指令被处理器执行时实现:将解析后的测试案例加入线程池;获取多个负载端中测试状态为空闲状态的负载端,选择线程池中的一个子线程,将解析后的测试案例发送至其中一个负载端。

在一实施例中,该程序指令被处理器执行时实现:所述测试结果为测试成功结果或测试失败结果;若所述测试结果为测试失败结果,定位所述解析后的测试案例中测试异常故障位置。

所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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