著录项信息
专利名称 | 一种多任务集成自动化测试系统及方法 |
申请号 | CN201510515954.0 | 申请日期 | 2015-08-20 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2015-12-23 | 公开/公告号 | CN105183644A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F11/36 | IPC分类号 | G;0;6;F;1;1;/;3;6查看分类表>
|
申请人 | 上海斐讯数据通信技术有限公司 | 申请人地址 | 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳国芯人工智能有限公司 | 当前权利人 | 深圳国芯人工智能有限公司 |
发明人 | 卞云鹏 |
代理机构 | 杭州千克知识产权代理有限公司 | 代理人 | 周希良 |
摘要
本发明公开了一种多任务集成自动化测试系统及方法,多任务集成自动化测试系统,包括:一任务管理单元,用以建立复数个任务,将每个任务对应的代码进行编译以生成相应的软件版本,执行复数个任务,并输出;一版本服务器,连接任务管理单元,用以存储软件版本;一测试端,连接版本服务器,用以下载相应的软件版本;一测试服务器,分别连接任务管理单元和测试端,用以根据接收到的复数个任务控制测试端下载相应的软件版本以进行相应的测试。多任务集成自动化测试系统通过任务管理单元可创建多个任务并对任务进行管理,通过测试服务器可对多个任务进行并发测试,提高了测试效率。
1.一种多任务集成自动化测试系统,其特征在于,包括:
一任务管理单元,用以建立复数个任务,将每个所述任务对应的代码进行编译以生成相应的软件版本,执行所述复数个任务,并输出;
一版本服务器,连接所述任务管理单元,用以存储所述软件版本;
一测试端,连接所述版本服务器,用以下载相应的软件版本;
一测试服务器,分别连接所述任务管理单元和所述测试端,用以根据接收到的所述复数个任务控制所述测试端下载相应的软件版本以进行相应的测试;
所述测试端包括:
复数个测试客户端,分别与所述测试服务器和所述版本服务器连接,所述测试服务器用以为每个所述任务选择一空闲的所述测试客户端,将所述测试客户端与所述任务对应的待测试设备连接,并将所述任务发送至所述测试客户端;
每个所述测试客户端用以根据接收到的所述任务在所述版本服务器中下载相应的软件版本,并将所述软件版本发送至与所述测试客户端连接的所述待测试设备进行升级,以进行相应的测试。
2.如权利要求1所述的多任务集成自动化测试系统,其特征在于,所述测试端还包括:
一交换机,分别连接所述测试客户端和所述待测试设备,用以根据所述测试服务器的控制将所述测试客户端与所述对应的待测试设备连接。
3.如权利要求1所述的多任务集成自动化测试系统,其特征在于,每个所述测试客户端根据测试结果生成相应的测试报告,并将所述测试报告上传至所述测试服务器,所述测试服务器将所述测试报告存储并输出。
4.一种多任务集成自动化测试方法,应用于如权利要求1-3所述的多任务集成自动化测试系统,其特征在于,提供一所述版本服务器,用以存储软件版本,包括下述步骤:
S1.所述任务管理单元建立复数个任务,将每个所述任务对应的代码进行编译以生成相应的软件版本,执行所述复数个任务,并输出;
S2.所述任务管理单元将所述软件版本发送至所述版本服务器;
S3.测试服务器根据接收到的所述复数个任务控制所述测试端从所述版本服务器下载相应的软件版本以进行相应的测试;
所述步骤S3包括:
S31.所述测试服务器在所述测试端中为每个所述任务选择一相应的空闲的所述测试客户端,将所述测试客户端与所述任务对应的待测试设备连接,并将所述任务发送至所述测试客户端;
S32.每个所述测试客户端根据接收到的所述任务在所述版本服务器中下载相应的软件版本,并将所述软件版本发送至与所述测试客户端连接的所述待测试设备进行升级,以进行相应的测试。
5.如权利要求4所述的多任务集成自动化测试方法,其特征在于,执行完所述步骤S32还包括:
S33.每个所述测试客户端根据测试结果生成相应的测试报告,并将所述测试报告上传至所述测试服务器,所述测试服务器将所述测试报告存储并输出。
6.如权利要求5所述的多任务集成自动化测试方法,其特征在于,所述测试服务器提供一关联所述测试客户端的名称、当前运行状态和运行开始时间的信息表单,所述步骤S31包括:
S311.所述测试服务器检测是否接收到所述任务,若是,执行步骤S312;若否,返回执行所述步骤S311;
S312.将所述任务对应的子进程添加到所述测试服务器中的进程开始队列中;
S313.当执行所述子进程时,判断所述信息表单是否处于锁定状态,若是,返回执行所述S313;若否,执行步骤S314;
S314.锁定所述信息表单;
S315.从所述信息表单中选择一台当前运行状态处于空闲的所述测试客户端,并在所述信息表单中将所述测试客户端的当前运行状态标记为正在执行任务;
S316.释放所述信息表单;
S317.所述子进程将所述任务对应的所述待测试设备与所述测试客户端通过交换机连接;
S318.将所述任务发送至所述测试客户端。
7.如权利要求6所述的多任务集成自动化测试方法,其特征在于,所述步骤S33包括:
S331.测试结束后,测试客户端根据测试结果生成相应的测试报告,并将所述测试报告上传至所述测试服务器;
S332.所述测试服务器将所述任务对应的所述子进程添加到所述测试服务器中的进程结束队列中;
S333.当执行所述子进程时,判断所述信息表单是否处于锁定状态,若是,返回执行所述S333;若否,执行步骤S334;
S334.锁定所述信息表单;
S335.将所述信息表单中的所述测试客户端的当前运行状态从正在执行任务标记为空闲;
S336.释放所述信息表单。
8.如权利要求5所述的多任务集成自动化测试方法,其特征在于,所述步骤S33还包括:
S3337.所述测试服务器将所述测试报告存储并输出。
一种多任务集成自动化测试系统及方法\n技术领域\n[0001] 本发明涉及自动化测试技术,尤其涉及一种多任务集成自动化测试系统及方法。\n背景技术\n[0002] 现有的基于Robot Framework框架的自动化测试多是本地测试,使用Jenkins多为一对一的任务,即一个任务固定对应一台测试客户端,这样会导致一台测试客户端有很多空闲时间,造成资源浪费;而且如果两个任务对应同一台测试客户端,则第二个任务要等到第一个任务完成后才能进行,而这时可能有另一台测试客户端是空闲状态,从而造成资源分配不均,而影响测试效率。\n发明内容\n[0003] 针对现有的自动化测试存在的上述问题,现提供一种旨在实现可多任务并发测试,并随机选择空闲测试客户端,合理对资源进行分配的多任务集成自动化测试系统及方法。\n[0004] 具体技术方案如下:\n[0005] 一种多任务集成自动化测试系统,包括:\n[0006] 一任务管理单元,用以建立复数个任务,将每个所述任务对应的代码进行编译以生成相应的软件版本,执行所述复数个任务,并输出;\n[0007] 一版本服务器,连接所述任务管理单元,用以存储所述软件版本;\n[0008] 一测试端,连接所述版本服务器,用以下载相应的软件版本;\n[0009] 一测试服务器,分别连接所述任务管理单元和所述测试端,用以根据接收到的所述复数个任务控制所述测试端下载相应的软件版本以进行相应的测试。\n[0010] 优选的,所述测试端包括:\n[0011] 复数个测试客户端,分别与所述测试服务器和所述版本服务器连接,所述测试服务器用以为每个所述任务选择一空闲的所述测试客户端,将所述测试客户端与所述任务对应的待测试设备连接,并将所述任务发送至所述测试客户端;\n[0012] 每个所述测试客户端用以根据接收到的所述任务在所述版本服务器中下载相应的软件版本,并将所述软件版本发送至与所述测试客户端连接的所述待测试设备进行升级,以进行相应的测试。\n[0013] 优选的,所述测试端还包括:\n[0014] 一交换机,分别连接所述测试客户端和所述待测试设备,用以根据所述测试服务器的控制将所述测试客户端与所述对应的待测试设备连接。\n[0015] 优选的,每个所述测试客户端根据测试结果生成相应的测试报告,并将所述测试报告上传至所述测试服务器,所述测试服务器将所述测试报告存储并输出。\n[0016] 一种多任务集成自动化测试方法,应用于上述的多任务集成自动化测试系统,提供一所述版本服务器,用以存储软件版本,包括下述步骤:\n[0017] S1.所述任务管理单元建立复数个任务,将每个所述任务对应的代码进行编译以生成相应的软件版本,执行所述复数个任务,并输出;\n[0018] S2.所述任务管理单元将所述软件版本发送至所述版本服务器;\n[0019] S3.测试服务器根据接收到的所述复数个任务控制所述测试端从所述版本服务器下载相应的软件版本以进行相应的测试。\n[0020] 优选的,所述步骤S3包括:\n[0021] S31.所述测试服务器在所述测试端中为每个所述任务选择一相应的空闲的所述测试客户端,将所述测试客户端与所述任务对应的待测试设备连接,并将所述任务发送至所述测试客户端;\n[0022] S32.每个所述测试客户端根据接收到的所述任务在所述版本服务器中下载相应的软件版本,并将所述软件版本发送至与所述测试客户端连接的所述待测试设备进行升级,以进行相应的测试。\n[0023] 优选的,执行完所述步骤S32还包括:\n[0024] S33.每个所述测试客户端根据测试结果生成相应的测试报告,并将所述测试报告上传至所述测试服务器,所述测试服务器将所述测试报告存储并输出。\n[0025] 优选的,所述测试服务器提供一关联所述测试客户端的名称、当前运行状态和运行开始时间的信息表单,所述步骤S31包括:\n[0026] S311.所述测试服务器检测是否接收到所述任务,若是,执行步骤S312;若否,返回执行所述步骤S311;\n[0027] S312.将所述任务对应的子进程添加到所述测试服务器中的进程开始队列中;\n[0028] S313.当执行所述子进行时,判断所述信息表单是否处于锁定状态,若是,返回执行所述S313;若否,执行步骤S314;\n[0029] S314.锁定所述信息表单;\n[0030] S315.从所述信息表单中选择一台当前运行状态处于空闲的所述测试客户端,并在所述信息表单中将所述测试客户端的当前运行状态标记为正在执行任务;\n[0031] S316.释放所述信息表单;\n[0032] S317.所述子进程将所述任务对应的所述待测试设备与所述测试客户端通过所述交换机连接;\n[0033] S318.将所述任务发送至所述测试客户端。\n[0034] 优选的,所述步骤S33包括:\n[0035] S331.测试结束后,测试客户端根据测试结果生成相应的测试报告,并将所述测试报告上传至所述测试服务器;\n[0036] S332.所述测试服务器将所述任务对应的所述子进程添加到所述测试服务器中的进程结束队列中;\n[0037] S333.当执行所述子进程时,判断所述信息表单是否处于锁定状态,若是,返回执行所述S333;若否,执行步骤S334;\n[0038] S334.锁定所述信息表单;\n[0039] S335.将所述信息表单中的所述测试客户端的当前运行状态从正在执行任务标记为空闲;\n[0040] S336.释放所述信息表单。\n[0041] 优选的,所述步骤S33还包括:\n[0042] S3337.所述测试服务器将所述测试报告存储并输出。\n[0043] 上述技术方案的有益效果:\n[0044] 本技术方案中,多任务集成自动化测试系统通过任务管理单元可创建多个任务并对任务进行管理,通过测试服务器可对多个任务进行并发测试,提高了测试效率。多任务集成自动化测试方法实现可进行多任务并发测试,实现了合理对资源进行分配的目的。\n附图说明\n[0045] 图1为本发明所述的多任务集成自动化测试系统的一种实施例的模块图;\n[0046] 图2为本发明所述的多任务集成自动化测试系统的原理图;\n[0047] 图3为本发明所述的多任务集成自动化测试方法的第一种实施例的方法流程图;\n[0048] 图4为本发明所述的多任务集成自动化测试方法的第二中实施例的方法流程图;\n[0049] 图5为本发明所述的多任务集成自动化测试方法的第三中实施例的方法流程图;\n[0050] 图6为本发明所述的多任务集成自动化测试方法的第四中实施例的方法流程图。\n具体实施方式\n[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0052] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。\n[0053] 下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。\n[0054] 如图1所示,一种多任务集成自动化测试系统,包括:\n[0055] 一任务管理单元1,用以建立复数个任务,将每个任务对应的代码进行编译以生成相应的软件版本,执行复数个任务,并输出;\n[0056] 一版本服务器3,连接任务管理单元1,用以存储软件版本;\n[0057] 一测试端4,连接版本服务器3,用以下载相应的软件版本;\n[0058] 一测试服务器2,分别连接任务管理单元1和测试端4,用以根据接收到的复数个任务控制测试端4下载相应的软件版本以进行相应的测试。\n[0059] 在本实施例中,通过任务管理单元1可将每天上传的代码进行编译,编译通过后,可将最近的软件版本发送至版本服务器3,进程存储。任务管理单元1中嵌有Jenkins软件,通过Jenkins软件可定时的将多个任务下发至测试服务器2,测试服务器2根据接收到的多个任务控制测试端4从版本服务器3中下载相应的软件版本,配置好测试环境,开始测试。通过测试服务器2可对多个任务进行并发测试,提高了测试效率。\n[0060] 进一步地,可采用python脚本统一进行硬件和环境变量的配置。\n[0061] 在优选的实施例中,测试端4包括:\n[0062] 复数个测试客户端,分别与测试服务器2和版本服务器3连接,测试服务器2用以为每个任务选择一空闲的测试客户端,将测试客户端与任务对应的待测试设备即家庭网关连接,并将任务发送至测试客户端;\n[0063] 每个测试客户端用以根据接收到的任务在版本服务器3中下载相应的软件版本,并将软件版本发送至与测试客户端连接的待测试设备进行升级,以进行相应的测试。\n[0064] 如图2所示,在本实施例中,每个任务对应唯一的待测试设备,任务1对应待测试设备1,任务2对应待测试设备2,……,任务m对应待测试设备m。测试端4可包括n个测试客户端,测试客户端与任务不是对应的,可根据测试时的需要来进行连接。例如:任务1开始执行,会将需要测试的待测试设备信息如待测试设备1,发送到测试服务器2;测试服务器2收到测试任务后,会从测试客户端中随机选择空闲的测试客户端,例如测试客户端2,将测试任务发送到测试客户端2;同时测试服务器2将测试客户端2和被测待测试设备1连接到一起。测试客户端2接到任务1后,连接到待测试设备1,测试客户端2从版本服务器3中下载相对应的最新的软件版本到待测试设备1中升级,然后配置好测试环境,开始测试。\n[0065] 在优选的实施例中,测试端4还包括:\n[0066] 一交换机,分别连接测试客户端和待测试设备,用以根据测试服务器2的控制将测试客户端与对应的待测试设备连接。\n[0067] 在本实施例中,通过自动配置交换机来实现相应的测试客户端和待测试设备的连接的。\n[0068] 在优选的实施例中,每个测试客户端根据测试结果生成相应的测试报告,并将测试报告上传至测试服务器2,测试服务器2将测试报告存储并输出。\n[0069] 在本实施例中,测试结束后,测试客户端根据测试结果生成相应的测试报告,并将本地的测试报告上传到测试服务器2进行统一存储管理,由测试服务器2将携带有测试报告的邮件发送至相关人员。\n[0070] 如图3所示,一种多任务集成自动化测试方法,应用于上述的多任务集成自动化测试系统,提供一版本服务器,用以存储软件版本,包括下述步骤:\n[0071] S1.任务管理单元建立复数个任务,将每个任务对应的代码进行编译以生成相应的软件版本,执行复数个任务,并输出;\n[0072] S2.任务管理单元将软件版本发送至版本服务器;\n[0073] S3.测试服务器根据接收到的复数个任务控制测试端从版本服务器下载相应的软件版本以进行相应的测试。\n[0074] 在本实施例中,通过任务管理单元将每天上传的代码进行编译,编译通过后,可将最近的软件版本发送至版本服务器,进程存储。任务管理单元中嵌有Jenkins软件,通过Jenkins软件可定时的将多个任务下发至测试服务器,测试服务器根据接收到的多个任务控制测试端从版本服务器中下载相应的软件版本,配置好测试环境,开始测试。通过测试服务器可对多个任务进行并发测试,提高了测试效率。\n[0075] 如图4所示,在优选的实施例中,步骤S3包括:\n[0076] S31.测试服务器在测试端中为每个任务选择一相应的空闲的测试客户端,将测试客户端与任务对应的待测试设备连接,并将任务发送至测试客户端;\n[0077] S32.每个测试客户端根据接收到的任务在版本服务器中下载相应的软件版本,并将软件版本发送至与测试客户端连接的待测试设备进行升级,以进行相应的测试。\n[0078] 如图2所示,在本实施例中,每个任务对应唯一的待测试设备,任务1对应待测试设备1,任务2对应待测试设备2,……,任务m对应待测试设备m。测试端4可包括n个测试客户端,测试客户端与任务不是对应的,可根据测试时的需要来进行连接。例如:任务1开始执行,会将需要测试的待测试设备信息如待测试设备1,发送到测试服务器2;测试服务器2收到测试任务后,会从测试客户端中随机选择空闲的测试客户端,例如测试客户端2,将测试任务发送到测试客户端2;同时测试服务器2将测试客户端2和被测待测试设备1连接到一起。测试客户端2接到任务1后,连接到待测试设备1,测试客户端2从版本服务器3中下载相对应的最新的软件版本到待测试设备1中升级,然后配置好测试环境,开始测试。\n[0079] 在优选的实施例中,执行完步骤S32还包括:\n[0080] S33.每个测试客户端根据测试结果生成相应的测试报告,并将测试报告上传至测试服务器,测试服务器将测试报告存储并输出。\n[0081] 在本实施例中,测试结束后,测试客户端根据测试结果生成相应的测试报告,并将本地的测试报告上传到测试服务器进行统一存储管理,由测试服务器将携带有测试报告的邮件发送至相关人员。\n[0082] 如图5所示,在优选的实施例中,测试服务器提供一关联测试客户端的名称、当前运行状态和运行开始时间的信息表单,步骤S31包括:\n[0083] S311.测试服务器检测是否接收到任务,若是,执行步骤S312;若否,返回执行步骤S311;\n[0084] S312.将任务对应的子进程添加到测试服务器中的进程开始队列中;\n[0085] S313.当执行子进行时,判断信息表单是否处于锁定状态,若是,返回执行S313;若否,执行步骤S314;\n[0086] S314.锁定信息表单;\n[0087] S315.从信息表单中选择一台当前运行状态处于空闲的测试客户端,并在信息表单中将测试客户端的当前运行状态标记为正在执行任务;\n[0088] S316.释放信息表单;\n[0089] S317.子进程将任务对应的待测试设备与测试客户端通过交换机连接;\n[0090] S318.将任务发送至测试客户端。\n[0091] 在本实施例中,采用信息表单记录机制来实现对测试客户端的管理的。通过锁定和解锁信息表单的方式避免测试客户端的冲突。\n[0092] 当多个任务同时下发到测试服务器时,测试服务器对于每一个任务开启一个子进程。每一个子进程负责一款待测试设备的测试。\n[0093] 测试服务器检测是否接收到新的任务,当有新的任务时,测试服务器将新任务对应的子进程添加到进程开始队列,等待执行该子进程,当轮该子进程时,先查看信息表单是否锁定,若是锁定,则等待;若未锁定,则先锁定信息表单,使其他子进程不能操作,从信息表单中的空闲的测试客户端中随机选择一台测试客户端,然后将此测试客户端标记为正在执行任务,释放信息表单;同时子进程将相应的待测试设备和测试客户端通过交换机连接,在配置好参数后,开始测试。\n[0094] 如图6所示,在优选的实施例中,步骤S33包括:\n[0095] S331.测试结束后,测试客户端根据测试结果生成相应的测试报告,并将测试报告上传至测试服务器;\n[0096] S332.测试服务器将任务对应的子进程添加到测试服务器中的进程结束队列中;\n[0097] S333.当执行子进程时,判断信息表单是否处于锁定状态,若是,返回执行S333;若否,执行步骤S334;\n[0098] S334.锁定信息表单;\n[0099] S335.将信息表单中的测试客户端的当前运行状态从正在执行任务标记为空闲;\n[0100] S336.释放信息表单。\n[0101] 在本实施例中,通过锁定和解锁信息表单的方式避免测试客户端的冲突。\n[0102] 测试结束后,测试客户端根据测试结果生成相应的测试报告,并发送至测试服务器,测试服务器将任务对应的子进程添加到测试服务器中的进程结束队列中,等待执行,当可执行相应的子进程时,先查看信息表单是否锁定,若是锁定,则等待;若未锁定,则先锁定信息表单,使其他进程不能操作,将信息表单中相应的测试客户端从正在执行任务修改为空闲,然后释放信息表单。\n[0103] 在优选的实施例中,步骤S33还包括:\n[0104] S3337.测试服务器将测试报告存储并输出。\n[0105] 在本实施例中,测试结束后,测试客户端根据测试结果生成相应的测试报告,并将本地的测试报告上传到测试服务器进行统一存储管理,便于后期将结果整合,通过测试服务器将携带有测试报告的邮件发送至相关人员。\n[0106] 本发明通过测试服务器的多进程来实现任务和执行多对多的关系。在测试客户端开始执行自动化测试之前,会进行相应的硬件和环境变量等的配置。通过随机选择任务所需的测试客户端,提高了资源利用效率。采用信息表单记录机制来实现对测试客户端的管理的。通过锁定和解锁信息表单的方式避免测试客户端的冲突。本发明可适用于自动化集成测试,便于研发人员及时发现代码中的问题,可利用夜间的时间来进行自动化测试,从而提高了资源的利用效率。\n[0107] 以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
法律信息
- 2021-07-23
专利权的转移
登记生效日: 2021.07.13
专利权人由湖州帷幄知识产权运营有限公司变更为深圳国芯人工智能有限公司
地址由313000 浙江省湖州市吴兴区爱山街道新天地商务写字楼1019室变更为518000 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)
- 2021-03-23
专利权的转移
登记生效日: 2021.03.10
专利权人由蚌埠立超信息科技有限公司变更为湖州帷幄知识产权运营有限公司
地址由233000 安徽省蚌埠市燕山路8319号(上理工科技园6号302室)变更为313000 浙江省湖州市吴兴区爱山街道新天地商务写字楼1019室
- 2020-12-29
专利权的转移
登记生效日: 2020.12.17
专利权人由杭州吉吉知识产权运营有限公司变更为蚌埠立超信息科技有限公司
地址由310000 浙江省杭州市滨江区西兴街道江淑路260号10242室变更为233000 安徽省蚌埠市燕山路8319号(上理工科技园6号302室)
- 2020-12-04
专利权的转移
登记生效日: 2020.11.24
专利权人由上海斐讯数据通信技术有限公司变更为杭州吉吉知识产权运营有限公司
地址由201616 上海市松江区思贤路3666号变更为310000 浙江省杭州市滨江区西兴街道江淑路260号10242室
- 2017-10-24
- 2016-01-20
实质审查的生效
IPC(主分类): G06F 11/36
专利申请号: 201510515954.0
申请日: 2015.08.20
- 2015-12-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |