首页> 中国专利> 基于终端设备的测试任务分发方法、调度终端及测试系统

基于终端设备的测试任务分发方法、调度终端及测试系统

摘要

本发明公开了一种基于终端设备的测试任务分发方法、调度终端及测试系统,其中所述测试任务分发方法包括:接收来自终端设备的终端属性和/或终端型号;根据所述终端属性与预设测试库获取与所述终端属性相匹配的测试任务,或根据所述终端型号与预设测试库获取与所述终端型号相匹配的测试任务,所述预设测试库包括:终端型号、所述终端属性和所述测试任务的匹配信息;所述测试任务下发至代理终端。本发明的测试任务分发方法能够不需要人为手动选择终端设备去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备的测试带来了便利。

著录项

  • 公开/公告号CN112765015A

    专利类型发明专利

  • 公开/公告日2021-05-07

    原文格式PDF

  • 申请/专利权人 卓望数码技术(深圳)有限公司;

    申请/专利号CN202110016782.8

  • 发明设计人 张谷亮;谢祖亮;郑伟平;

    申请日2021-01-07

  • 分类号G06F11/36(20060101);H04M1/24(20060101);

  • 代理机构44205 广州嘉权专利商标事务所有限公司;

  • 代理人黄广龙

  • 地址 518000 广东省深圳市南山区粤海街道高新区社区高新南七道015号深港产学研基地W601

  • 入库时间 2023-06-19 10:54:12

说明书

技术领域

本发明涉及测试领域,尤其涉及一种基于终端设备的测试任务分发方法、调度终端及测试系统。

背景技术

自动化测试是将以人为驱动的测试行为转化为机器执行的一种过程,在完成基本功能测试的前提下,测试人员可以将测试用例中的测试步骤转换为自动化测试步骤,得到实际结果与期望结果的比较。所以无论对于传统的平台类产品或者手机APP类产品,自动化测试具有一次编写,多次运行,重复运行的特点,在此过程中,节省人力、时间或硬件资源,提高了测试效率。

随着移动互联网的大力发展,相对于传统的平台类被测产品而言,新兴的手机APP在自动化测试方面更具有技术必要性和需求紧迫性。首先手机APP相对于传统平台类产品,具有更多的测试环境;其次手机APP相对于以前测试产品而言,版本迭代开发频率更高,自动化测试需求更加旺盛;最后在手机APP测试方法上,其更具有灵活性,如Google公司Monkey测试是自动化测试的基础,对开发人员更具吸引力。

相关技术中,需要人为手动选择终端设备去进行点对点的下发测试任务,给终端设备的测试带来了极大的不便。

发明内容

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种测试任务下发方法,能够根据终端型号或终端属性,自动匹配测试任务,提高了测试效率。

本发明还提出一种调度终端。

本发明还提出一种基于终端设备的测试系统。

本发明还提出一种计算机可读存储介质。

根据本发明的第一方面实施例的测试任务下发方法,由调度终端执行,包括:

接收来自终端设备的终端属性和/或终端型号;

根据所述终端属性与预设测试库获取与所述终端属性相匹配的测试任务,或根据所述终端型号与预设测试库获取与所述终端型号相匹配的测试任务,所述预设测试库包括:所述终端型号、所述终端属性和所述测试任务的匹配信息;将所述测试任务下发至代理终端。

根据本发明实施例的测试任务下发方法,至少具有如下有益效果:调度终端获取终端设备的终端型号或终端属性,并根据终端属性和/或终端型号从预设测试库匹配相对应的测试任务,再将测试任务下发至代理终端,以使终端设备进行相对应的测试,不需要人为手动选择终端设备去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备的测试带来了便利。

根据本发明的一些实施例,所述终端属性包括终端状态,所述分发方法还包括:根据所述终端状态调整所述测试任务下发至所述终端设备的顺序。

根据本发明的一些实施例,所述分发方法还包括:获取所述代理终端的代理状态;根据所述代理状态下发所述测试任务或等待所述代理终端完成任务执行。

根据本发明的一些实施例,所述根据所述代理状态下发所述测试任务或等待所述代理终端完成任务执行,包括:若所述代理状态为可用,下发所述测试任务至所述代理终端;若所述代理状态为不可用,等待所述代理终端完成任务执行,并获取下一个代理终端的代理状态。

根据本发明的一些实施例,所述分发方法还包括:获取预设时间或预设时间周期,根据所述预设时间或所述预设时间周期定期获取终端属性和/或终端型号;

根据所述终端属性与预设测试库定期获取与所述终端属性相匹配的测试任务,或根据所述终端型号与预设测试库定期获取与所述终端型号相匹配的所述测试任务;

将所述测试任务下发至所述代理终端。

根据本发明的一些实施例,所述终端属性还包括版本信息、类型信息、屏幕分辨率。

根据本发明的第二方面实施例的调度终端,包括:接收模块、匹配模块和下发模块。其中,所述接收模块用于接收来自终端设备的终端属性和/或终端型号;所述匹配模块用于根据所述终端属性与预设测试库获取与所述终端属性相匹配的测试任务,或根据所述终端型号与预设测试库获取与所述终端型号相匹配的测试任务;所述下发模块用于将所述测试任务下发至代理终端。

根据本发明实施例的调度终端,至少具有如下有益效果:获取终端设备的终端型号或终端属性,并根据终端属性和/或终端型号从预设测试库匹配相对应的测试任务,再将测试任务下发至代理终端,以使终端设备进行相对应的测试,不需要人为手动选择终端设备去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备的测试带来了便利。

根据本发明的第三方面实施例的测试系统,包括:调度终端、代理终端和终端设备。其中,所述调度终端用于执行如第一方面实施例中任意一项所述的分发方法,并用于发送测试任务;所述代理终端用于接收并发送所述测试任务;所述终端设备与所述代理终端连接,用于根据所述测试任务进行测试。

根据本发明实施例的测试任务,至少具有如下有益效果:调度终端获取终端设备的终端型号或终端属性,并根据终端属性和/或终端型号从预设测试库匹配相对应的测试任务,再将测试任务下发至代理终端,以使终端设备进行相对应的测试,不需要人为手动选择终端设备去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备的测试带来了便利。

根据本发明的第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面实施例中任一项所述的分发方法。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

下面结合附图和实施例对本发明做进一步的说明,其中:

图1为本发明一些实施例提供的测试任务分发方法的流程图;

图2为本发明另一些实施例提供的测试任务分发方法的流程图;

图3为本发明另一些实施例提供的测试系统的结构框图。

附图标记:310、调度终端;311、接收模块;312、匹配模块;313、下发模块;320、代理终端;321、数据采集模块;330、终端设备。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

第一方面,参照图1,本申请的一些实施例提供了一种测试任务分发方法,由调度终端执行,包括但不限于步骤S110、步骤S120、步骤S130。

步骤S110:接收来自终端设备的终端属性和/或终端型号;

步骤S120:根据终端属性与预设测试库获取与终端属性相匹配的测试任务,或根据终端型号与测试库获取与终端型号相匹配的测试任务,预设测试库包括:终端型号、终端属性和测试任务的匹配信息;

步骤S130:将测试任务下发至代理终端。

在本申请的实施例中,测试任务包括自动化测试脚本和需要覆盖的终端信息。其中,需要覆盖的终端信息包括两种情况:1.明确的终端型号,如小米8手机、小米9手机等;2.明确的终端属性,如屏幕分辨率为1920*1080、OS版本Android9等,其中,当终端属性明确为屏幕分辨率为1920*1080,则所有屏幕分辨率满足1920*1080的终端设备都需要执行测试任务;当终端属性明确为OS版本Android9,则所有OS版本等于Android9(含小版本)都需要执行测试任务。整个测试任务分发方法过程中采取双队列(任务队列和终端队列)的方式对测试任务进行管理,即调度终端收到终端设备的终端信息后,将终端信息推入到终端队列中,再根据终端队列中的终端信息进行匹配,形成任务队列。本领域的技术人员可以理解的是,队列具备先进先出的特性。

具体地,在本实施例中,代理终端的数据采集模块采集已连接的终端设备的终端属性和终端型号,并将采集的信息发送至调度终端,调度终端接收来自终端设备的信息,将终端设备的信息推送到终端队列中。调度终端内设有预设测试库,预设测试库内包括:终端型号、终端属性和测试任务的匹配信息。调度终端根据终端型号或终端属性及相对应的匹配信息,匹配相对应的测试任务,形成任务队列,再将测试任务下通过代理终端下发至终端设备,以使终端设备根据测试任务进行相对应的测试。如:调度终端接收来自数据采集模块采集的终端型号和终端信息,且调度终端通过分析发现,此终端设备属于单一的终端型号,调度终端从预设测试库中匹配相对应的测试任务,并将该测试任务直接推入到任务队列中;当终端信息包含终端属性(如:屏幕分辨率1920*1080),则根据终端队列中的已上报的终端信息进行智能匹配(该匹配行为依据终端属性等相关数据进行,和终端状态无关),最终形成对应的测试任务,再推入到任务队列中。

调度终端获取终端设备的终端型号或终端属性,并根据终端属性和/或终端型号从预设测试库匹配相对应的测试任务,再将测试任务下发至代理终端,以使终端设备进行相对应的测试,不需要人为手动选择终端设备去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备的测试带来了便利。

在本申请的一些实施例中,终端属性还包括版本信息、类型信息、屏幕分辨率。

在本实施例中,调度终端根据终端设备的版本信息(如Android9等)、类型信息(如Android或者IOS)、屏幕分辨率(如屏幕分辨率1920*1080)等,从预设测试库中选取相对应的测试任务下发至代理终端,以使相同属性的终端设备均执行相对应的测试任务。如:当终端属性明确为屏幕分辨率为1920*1080,则所有屏幕分辨率满足1920*1080的终端设备都需要执行测试任务;当终端属性明确为OS版本Android9,则所有OS版本等于Android9(含小版本)都需要执行测试任务。

在本申请的一些实施例中,终端属性还包括终端状态,测试任务分发方法还包括但不限于步骤S140。

步骤S140:根据终端状态调整测试任务下发至终端设备的顺序。

在本实施例中,步骤S140包括但不限于步骤S141、步骤S142。

步骤S141:若终端状态为可用,测试任务直接下发至终端设备;

步骤S142:若终端状态为不可用,将测试任务放置于任务队列中,并获取下一个终端设备的终端状态。

具体地,在本实施例中,当任务队列中存在测试任务,调度终端按照队列“先进先出”的原则,将测试任务取回,并根据终端队列中的终端状态下发至指定的终端设备执行。若终端状态为可用,测试任务直接下发至终端设备,直接运行测试任务;若终端设备的终端状态为不可用,则获取下一个终端设备的终端状态,直到终端设备的状态为可用,并将任务下发。通过这样设置,保证当第一台终端设备为不可用时,直接下发至第二台去执行,以此类推,从而,提高了测试的效率,提高了终端设备的使用率。

在本申请的实施例中,测试任务分发方法还包括但不限于步骤S150和步骤S160。

步骤S150:获取代理终端的代理状态;

步骤S160:根据代理状态下发测试任务或等待代理终端完成任务执行。

在本实施例中,步骤S160包括但不限于步骤S161和步骤S162。

步骤S161:若代理状态为可用,下发测试任务至代理终端;

步骤S162:若代理状态为不可用,等待代理终端完成任务执行,并获取下一个代理终端的代理状态。

具体地,在本实施例中,代理终端为空闲状态或者任务堆积不多的状态时,代理终端的代理状态为可用,在这种情况下,调度终端直接将测试任务下发至代理终端,代理终端控制终端设备进行测试任务的执行。当代理终端的任务堆积过多或者执行某些特殊单一的任务(如:特殊的终端型号),代理终端的代理状态为不可用(当任务堆积数量小于堆积阈值时,将代理状态置为可用),在这种情况下,调度终端等待代理终端完成任务执行,并获取下一个代理终端的代理状态。通过这样设置,解决了因测试任务堆积或空闲的情况而导致的测试效率低下的问题,提高了代理终端的可利用性,较大程度的提高了代理终端的利用率。

在一实施例中,代理终端的数据采集模块采集终端设备的终端状态,当终端状态为不可用时,代理终端自动上报终端设备的终端状态为不可用,从而保证在任务队列中和该终端设备相关的测试任务暂时不会被取出,直到该终端设备的任务执行完成。

参照图2,在本申请的一些实施例中,测试任务分发方法还包括但不限于步骤S210、步骤S220和步骤S230。

步骤S210:获取预设时间或预设时间周期,根据预设时间或预设时间周期定期获取终端属性和/或终端型号;

步骤S220:根据终端属性与预设测试库定期获取与终端属性相匹配的测试任务,或根据终端型号与预设测试库定期获取与终端型号相匹配的测试任务;

步骤S230:将测试任务下发至代理终端。

具体地,在本实施例中,采取Quartz定时任务技术对测试任务进行调度。Quartz定时任务(Quartz是OpenSymphony开源组织在Job scheduling领域一个开源项目,完全由Java开发,可以用来执行定时任务,能够保持调度定时的状态,对调度作业进行有效的管理。)运用Quartz定时任务技术设定预设时间或者预设时间周期,再根据预设时间或预设时间周期定期获取终端属性和/或终端型号,从而使终端设备定期的执行测试任务。

参照图3,第二方面,本申请的一些实施例提供了一种调度终端310包括接收模块311、匹配模块312和接收模块311。其中,接收模块311用于接收来自终端设备330的终端属性和/或终端型号;匹配模块312用于根据终端属性与预设测试库获取与终端属性相匹配的测试任务,或根据终端型号与预设测试库获取与终端型号相匹配的测试任务;下发模块313用于将测试任务下发至代理终端320。

接收模块311接收到来自代理终端320的终端设备330的终端信息,将终端信息推送到终端队列中。匹配模块312从预设测试库中选取与终端信息相匹配的测试任务,形成与终端队列中终端信息相匹配的任务队列。下发模块313再将测试任务从任务队列中取出,依据相对应终端设备330的终端状态进行任务的下发。若终端状态为可用状态,则直接将测试任务下发至代理终端320;若终端状态为不可用状态,则将该测试任务放置于任务队列的后面,并取出下一测试任务,获取下一测试任务相对应的终端设备330的终端状态,以此类推。

通过获取终端设备330的终端型号或终端属性,并根据终端属性和/或终端型号从预设测试库匹配相对应的测试任务,再将测试任务下发至代理终端320,以使终端设备330进行相对应的测试,不需要人为手动选择终端设备330去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备330的测试带来了便利。并且,所有的信息集中在调度终端310,形成终端队列和任务队列,由调度终端310统一分发任务,能够减少出现错发或者漏发的情况,提高了测试效率。

参照图3,第三方面,本申请的一些实施例还提供了一种测试系统,包括调度终端310、代理终端320和终端设备330。其中,调度终端310用于执行如第一方面实施例中任意一项实施例的测试任务分发方法,并用于发送测试任务;代理终端320用于接收并发送测试任务;终端设备330与代理终端320连接,用于根据测试任务进行测试。

具体地,在本实施例中,代理终端320为PC(Personal Computer,个人计算机)设备,终端设备330为手机,通过USB数据线与PC连接。PC上设有数据采集模块321,用于采集和发送手机的终端信息等至调度终端310,同时,PC与手机的路径信息也由终端信息等一同携带上传至调度终端310。

调度终端310接收到来自代理终端320的终端设备330的终端信息,将终端信息推送到终端队列中,并从预设测试库中选取与终端信息相匹配的测试任务,形成与终端队列中终端信息相匹配的任务队列。调度终端310再将测试任务从任务队列中取出,依据相对应终端设备330的终端状态进行任务的下发。若终端状态为可用状态,则直接将测试任务下发至代理终端320;若终端状态为不可用状态,则将该测试任务放置于任务队列的后面,并取出下一测试任务,获取下一测试任务相对应的终端设备330的终端状态,以此类推。

可用的测试任务下发至代理终端320后,代理终端320通过USB数据线,将测试任务下发至终端设备330进行执行。在测试任务开始执行后,代理终端320上报终端的设备为不可用,以保证后面调度终端310不会将任务下发,任务执行完毕后,将测试结果上传至调度终端310。

通过获取终端设备330的终端型号或终端属性,并根据终端属性和/或终端型号从预设测试库匹配相对应的测试任务,再将测试任务下发至代理终端320,以使终端设备330进行相对应的测试,不需要人为手动选择终端设备330去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备330的测试带来了便利。并且,所有的信息集中在调度终端310,形成终端队列和任务队列,由调度终端310统一分发任务,能够减少出现错发或者漏发的情况,提高了测试效率。

下面参照图1至图3,以一个具体的实施例详细描述本发明实施例的测试系统。值得理解的是,下述描述仅是示例性说明,而不是对本发明专利的具体限制。

测试系统包括终端设备330、代理终端320和调度终端310。其中,调度终端310在本实施例中为云服务器,用于执行如第一方面实施例中任意一项实施例的测试任务分发方法。代理终端320在本实施例中为PC(Personal Computer,个人计算机)设备,用于接收并执行调度终端310的调度指令;终端设备330在本实施例中为手机,通过USB数据线与PC连接。PC上设有数据采集模块321,用于采集和发送手机的终端信息等至调度终端310,同时,PC与手机的路径信息也由终端信息等一同携带上传至调度终端310。测试人员预先将要测试的测试任务录入到预设测试库中。

云服务器接收到来自PC设备的手机的终端信息,将终端信息推送到终端队列中,并从预设测试库中选取与终端信息相匹配的测试任务,形成与终端队列中终端信息相匹配的任务队列。云服务器再将测试任务从任务队列中取出,依据相对应手机的终端状态进行任务的下发。若终端状态为可用状态,则直接将测试任务下发至PC设备;若终端状态为不可用状态,则将该测试任务放置于任务队列的后面,并取出下一测试任务,获取下一测试任务相对应的手机的终端状态,以此类推。

可用的测试任务下发至PC设备后,PC设备通过USB数据线,将测试任务下发至手机进行执行。在测试任务开始执行后,PC设备上报终端的设备为不可用,以保证后面云服务器不会将任务下发。任务执行完毕后,将测试结果上传至云服务器。

在本测试系统中,云服务器能够根据手机的终端属性进行匹配相对应的测试任务,如测试任务是所有的Android9都要进行测试,则当云服务器判断手机的版本为Android9,直接将该手机根据终端队列中已上报的终端信息进行智能匹配,以实现测试。

在本测试系统中,还采取Quartz定时任务技术对测试任务进行调度。运用Quartz定时任务技术设定预设时间或者预设时间周期,再根据预设时间或预设时间周期定期获取终端属性和/或终端型号,从而使手机定期的执行测试任务,云服务器的测试任务的下发也更加灵活。

通过获取终端设备330的终端型号或终端属性,并根据终端属性和/或终端型号从预设测试库匹配相对应的测试任务,再将测试任务下发至代理终端320,以使终端设备330进行相对应的测试,不需要人为手动选择终端设备330去进行点对点的下发测试任务,提高了测试效率;同时,测试任务的下发不仅仅依据终端型号,还可以依据终端其他类型的信息下发,给终端设备330的测试带来了便利。并且,所有的信息集中在调度终端310,形成终端队列和任务队列,由调度终端310统一分发任务,能够减少出现错发或者漏发的情况,提高了测试效率。

第四方面,本申请实施例还提供了计算机可读存储介质。

在一些实施例中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于执行第一方面实施例中提到的测试任务分发方法。

在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,比如,被上述电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述测试任务分发方法。

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

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号