CN105955880A - 一种分发自动化测试用例的方法、系统及分发服务器 - Google Patents
一种分发自动化测试用例的方法、系统及分发服务器 Download PDFInfo
- Publication number
- CN105955880A CN105955880A CN201610256675.1A CN201610256675A CN105955880A CN 105955880 A CN105955880 A CN 105955880A CN 201610256675 A CN201610256675 A CN 201610256675A CN 105955880 A CN105955880 A CN 105955880A
- Authority
- CN
- China
- Prior art keywords
- test
- automatic
- test equipment
- automatic test
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种分发自动化测试用例的方法、系统及分发服务器,方法包括:建立与各个测试设备之间的连接关系;当触发测试任务时,从用例库提取第一自动化测试用例;查找是否存在空闲的所述测试设备;若存在空闲的所述测试设备,则向空闲的所述测试设备分配所述第一自动化测试用例,以使空闲的所述测试设备根据所述第一自动化测试用例进行测试。通过上述方式,本发明能够平衡测试设备之间的负载,降低了自动化测试用例的执行时间,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。
Description
技术领域
本发明实施方式涉及软件测试技术领域,特别是涉及一种分发自动化测试用例的方法及分发服务器。
背景技术
自动化测试是指预先设置好自动化测试用例,并使测试设备根据自动化测试用例自动运行进行测试,并返回测试结果的过程,自动化测试用例是指设定好的测试条件。
目前,自动化测试是随着项目进行的,并且自动化测试用例是随机分配的。当项目增多时,自动化测试用例也会越来越多,很容易造成某一或者多个测试设备上分配的自动化测试用例非常多,而其它的测试设备的自动化测试用例非常少,从而导致整体自动化测试回归的效率低下,且耗时更长,拖慢测试的进度,也影响后续的手工测试。
发明内容
本发明主要解决的技术问题是提供一种分发自动化测试用例的方法、系统及分发服务器,能够平衡测试设备之间的负载,降低了自动化测试用例的执行时间,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种分发自动化测试用例的方法,包括:建立与各个测试设备之间的连接关系;获取测试任务的触发指令,从用例库提取第一自动化测试用例;查找是否存在空闲的所述测试设备;若存在空闲的所述测试设备,则向空闲的所述测试设备分配所述第一自动化测试用例,以使空闲的所述测试设备根据所述第一自动化测试用例进行测试。
其中,所述向空闲的所述测试设备分配所述第一自动化测试用例的步骤包括:将所述第一自动化测试用例分配至消息队列,以使所述空闲的所述测试设备从消息队列提取第一自动化测试用例进行测试,并在测试完成后向回收队列返回完成第一自动化测试用例的完成消息;所述查找是否存在空闲的所述测试设备的步骤包括:计算所述测试设备的数量;检测所述分配至消息队列的第一自动化测试用例的数量与完成消息的数量之间的差值是否小于测试设备的数量;若小于所述测试设备的数量,则存在空闲的所述测试设备。
其中,所述用例库预先存储有每一自动化测试用例对应的预估测试时长;所述方法还包括:若不存在空闲的所述测试设备;获取所述各个测试设备当前正在运行的第二自动化测试用例对应的预估测试时长和/或等待进行测试的第三自动化测试用例对应的预估测试时长;根据所述第二自动化测试用例对应的预估测试时长和/或第三自动化测试用例对应的预估测试时长计算等待时长;向所述等待时长最短的测试设备分配所述第一自动化测试用例。
其中,所述方法还包括:接收所述测试设备在完成所述第二自动化测试用例的测试时返回的测试结果,其中,所述测试结果携带所述测试设备执行所述第二自动化测试用例时所耗费时的精确测试时长;将所述用例库中第二自动化测试用例对应的预估测试时长更新为精确测试时长。
其中,在所述向所述等待时长最短的测试设备发送所述第一自动化测试用例的步骤之前,所述方法还包括:判断最短的所述等待时长是否大于或者等于时长阈值;若大于或者等于所述时长阈值,则返回所述获取所述各个测试设备当前正在运行的第二自动化测试用例的预估测试时长以及等待进行测试的第三自动化测试用例的预估测试时长的步骤;若小于所述时长阈值,则进入向所述等待时长最短的测试设备发送所述第一自动化测试用例的步骤。
其中,所述方法还包括:若最短的所述等待时长大于或者等于所述时长阈值,发出所述测试设备负载过载告警。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种分发服务器,包括:建立模块,用于建立与各个测试设备之间的连接关系;提取模块,用于获取测试任务的触发指令,从用例库提取第一自动化测试用例;查找模块,用于查找是否存在空闲的所述测试设备;第一分配模块,用于在所述查找模块找到空闲的测试设备时,向空闲的所述测试设备分配所述第一自动化测试用例,以使空闲的所述测试设备根据所述第一自动化测试用例进行测试。
其中,所述用例库预先存储有每一自动化测试用例对应的预估测试时长;所述分发服务器还包括获取模块、计算模块和第二分配模块;所述获取模块,用于在所述查找模块没有找到空闲的测试设备时,获取所述各个测试设备当前正在运行的第二自动化测试用例对应的预估测试时长和/或等待进行测试对应的第三自动化测试用例的预估测试时长所述计算模块,用于根据所述第二自动化测试用例对应的预估测试时长和/或第三自动化测试用例对应的预估测试时长计算等待时长;所述第二分配模块,用于向所述等待时长最短的测试设备分配所述第一自动化测试用例。
其中,所述查找模块包括:分配子模块,用于将所述第一自动化测试用例分配至消息队列,以使所述空闲的所述测试设备从消息队列提取第一自动化测试用例进行测试,并在测试完成后向回收队列返回完成第一自动化测试用例的完成消息;计算子模块,用于计算所述测试设备的数量;确认子模块,检测所述分配至消息队列的第一自动化测试用例的数量与完成消息的数量之间的差值是否小于测试设备的数量;若小于所述测试设备的数量,则存在空闲的所述测试设备。
其中,所述分发服务器还包括:接收模块,用于接收所述测试设备在完成所述第二自动化测试用例的测试时返回的测试结果,其中,所述测试结果携带所述测试设备执行所述第二自动化测试用例时所耗费时的精确测试时长;更新模块,用于将所述用例库中第二自动化测试用例的预估测试时长更新为精确测试时长。
其中,所述分发服务器还包括:判断模块,用于判断最短的所述等待时长是否大于或者等于时长阈值,在所述最短的所述等待时长小于时长阈值时,进入所述分配模块;返回模块,用于在所述判断模块判断到最短的所述等待时长大于或者等于时长阈值时,返回所述获取模块。
为解决上述技术问题,本发明采用的再一个技术方案是:提供一种分发自动化测试用例的系统,包括分发服务器、测试设备和用例库;所述分发服务器用于建立与各个测试设备之间的连接关系,当触发测试任务时,从用例库提取第一自动化测试用例,查找是否存在空闲的所述测试设备,若存在空闲的所述测试设备,则向空闲的所述测试设备分配所述第一自动化测试用例,以使空闲的所述测试设备根据所述第一自动化测试用例进行测试。
本发明的有益效果是:区别于现有技术的情况,本发明在向测试设备分发第一自动化测试用例时,先查找是否存在空闲的测试设备,若存在空闲的测试设备,则优先向空闲的测试设备分配第一自动化测试用例,从而平衡测试设备之间的负载,降低了自动化测试用例的执行时间,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。
附图说明
图1是本发明分发自动化测试用例的系统实施方式的示意图;
图2是本发明分发服务器实施方式的示意图;
图3是本发明分发自动化测试用例的方法第一实施方式的流程图;
图4是本发明分发自动化测试用例的方法第一实施方式中查找空闲的测试设备的流程图;
图5是本发明分发自动化测试用例的方法第二实施方式的流程图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
请参阅图1,分发自动化测试用例的系统20包括用例库21、分发服务器22和测试设备23。测试设备23的数量有多个,在本实施方式中,测试设备23可以为智能手机、平板电脑、PDA等等。用例库21也可以设置说单独的设备上,也可以设置于分发服务器22上。
分发服务器22用于建立与测试设备23之间的连接关系。分发服务器22与测试设备23之间的连接关系可以由测试设备23发起的,例如:在测试设备23接入时,测试设备23自动向分发服务器22进行登记,则分发服务器22获知接入了新的测试设备23,也可以是分发服务器22发起的,例如分发服务器22定期广播探测报文,测试设备23接收探测报文会向分发服务器22返回应答报文,则当分发服务器22发现新的应答报文时,说明有新的测试设备23接入,分发服务器22与新的测试设备23建立,方便扩展或者缩减分发自动化测试用例的系统中的测试设备23。
分发服务器22用于获取测试任务的触发指令,从用例库21提取第一自动化测试用例。在分发服务器22上触发测试任务具体方式不作限定,可以为当前用例库21新增自动化测试用例时,自动触发测试任务,或者,测试人员根据实际触发测试任务等等。用例库21预先存储有自动化测试用例,并且测试人员可以向用例库21增回自动化测试用例。若分发服务器22随机分配第一自动化测试用例,容易造成某一个或者几个测试设备23分配得到非常多自动化测试用例,而某些测试设备23分配得到的自动化测试用例比较少,从而造成测试设备23负载不均衡,影响自动化测试回归的时间。
分发服务器22用于查找是否存在空闲的测试设备23,若存在空闲的测试设备23,则向空闲的测试设备23分配第一自动化测试用例,以使空闲的测试设备23根据第一自动化测试用例进行测试。当分发自动化测试用例的系统中存在空闲的测试设备23,先向空闲的测试设备23分配第一自动化测试用例,有利于平衡测试设备23之间的负载,降低了自动化测试用例的执行时间,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。当然,分发服务器22在分发自动化测试用例时,也可以对自动化测试用例进行设定,以使自动化测试用例向特定的测试设备23分配。
需要说明的是:分发服务器22在向空闲的测试设备23分配第一自动化测试用例时,可以将第一自动化测试用例设置在消息队列中,同时监测结果回收队列。相应地,空闲的测试设备23监测上述消息队列,当检测到消息队列中有任务时,自动接收任务,并将接收到的任务从消息队列中移除;在测试设备执行完任务后,将执行结果通过结果回收队列返回给分发服务器22,当分发服务器22端收到与分发出去的任务等同数量的结果后,认为所有任务执行完毕,并且分发服务器可以根据分配至消息队列的自动化测试用例的数量和回收消息的数量,判断是否存在空闲的测试设备。或者,通过心跳回传方式,分发服务器22可以监控测试设备23状态,计算出闲置设备数量;测试设备23可以监控分发服务器22中是否存在第一自动化测试用例,主动触发测试任务。
进一步的,在向用例库21存储自动化测试用例时,还为每一个自动化测试用例设置预估测试时长,简而言之,用例库21还预先存储有每一自动化测试用例对应的预估测试时长,当然,在其它替代实施方式中,也可以在用例库21中设置于估算模型,在向用例库21输入自动化测试用例时,用例库21自动根据估算模型计算该自动化测试用例的预估测试时长,并将预估测试时长存储在用例库21中。若不存在空闲的测试设备23,则分发服务器22获取各个测试设备23当前正在运行的第二自动化测试用例的预估测试时长和/或等待进行测试的第三自动化测试用例的预估测试时长,并且根据所述第二自动化测试用例对应的预估测试时长和/或第三自动化测试用例对应的预估测试时长计算等待时长,向等待时长最短的测试设备23分配第一自动化测试用例。在测试设备23都没有空闲时,将第一自动化测用例分配置至等待时长最短的测试设备23,有利于平衡各个测试设备23执行测试的时长,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。
为了提高预估测试时长时的准确性,测试设备23在执行自动化测试用例时,会记录自动精确测试时长,并且测试设备23在完成一自动化测试用时,会向分发服务器22返回测试结果。分发服务器22接收测试设备23在完成第二自动化测试用例的测试时返回的测试结果,其中,测试结果携带测试设备23执行第二自动化测试用例时所耗费时的精确测试时长。分发服务器22还将用例库21中第二自动化测试用例对应的预估测试时长更新为精确测试时长。下次再需要根据第二自动化测试用例进行测试,则第二自动化测试用例的预估测试时长将会更准确。另外,也可以根据通过第二自动化测试用例中预估测试时长与精确测试时长之间的变化,调整估算模型或者调整估算自动化测试用例的预估测试时长的方法,使得预估测试时长更准确。
需要说明的是:空闲的测试终端是指测试终端当前没有分配有自动化测试用例,测试终端处于空闲状态;不空闲的测试终端或者工作的测试终端是指测试终端分配有自动化测试用例,测试终端正在根据自动化测试用例进行测试,测试终端处于工作状态。
当所有测试终端均处于繁忙的工作状态时,分发服务器22还可以暂停分配自动化测试用例,避免测试终端的负载过载,具体的,分发服务器22在向等待时长最短的测试设备23发送第一自动化测试用例之前,判断最短的等待时长是否大于或者等于时长阈值。时长阈值的具体值可以根据实际情况设定,并且时长阈值是可调的。若最短的等待时长大于或者等于时长阈值,则分发服务器22返回获取各个测试设备23当前正在运行的第二自动化测试用例的预估测试时长和/或等待进行测试的第三自动化测试用例的预估测试时长的步骤。若最短的等待时长小于时长阈值,则分发服务器22直接进入向等待时长最短的测试设备23发送第一自动化测试用例。
当然,在所有测试终端均处于繁忙的工作状态时,可以提醒测试人员增加测试设备23,以提高自动化测试的效率,则分发服务器22还用于在判断到在最短的等待时长大于或者等于时长阈值,发出测试设备23负载过载告警。测试设备23负载过载告警可以声音告警,也可以是图形告警,测试人员发现测试设备23负载过载告警后,可以及时增加测试设备23,及时调整测试设备23的负载。
在本发明实施方式中,分发服务器22在向测试设备23分发第一自动化测试用例时,先查找是否存在空闲的测试设备23,若存在空闲的测试设备23,则优先向空闲的测试设备23分配第一自动化测试用例,从而平衡测试设备23之间的负载,降低了自动化测试用例的执行时间,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。
本发明还提供分发服务器实施方式。请参阅图2,分发服务器30还包括建立模块301、提取模块302、查找模块303和第一分配模块304。
建立模块301,用于建立与各个测试设备之间的连接关系。分发服务器与测试设备之间可以是通过互联网连接,则分发服务器与测试设备之间的连接可以TCP连接,也可以是UDP连接。互联网连接方式可以减少对连接限制。提取模块302,用于获取测试任务的触发指令,从用例库21提取第一自动化测试用例。查找模块303,用于查找是否存在空闲的测试设备。第一分配模块304,用于在查找模块303找到空闲的测试设备时,向空闲的测试设备分配第一自动化测试用例,以使空闲的测试设备根据第一自动化测试用例进行测试。在分配第一自动测试用例时,优先向空闲的测试终端分配,可以平衡各测试终端之间的负载,提高自动化测试的回归时间。
分发服务器向测试设备分发自动化测试用例时,可以通过消息队列进行,空闲的测试设备监听消息队列,当消息队列存在自动化测试用例时,空闲的测试设备从消息队列提取自动化测试用例,并在测试完成后,向回收队列返回完成自动化测试用例的完成消息,分发服务器可以根据分配至消息队列的自动化测试用例的数量和回收队列的完成消息的数量,判断是否还存在空闲的测试设备,则向空闲的测试设备分配第一自动化测试用例的步骤包括:将第一自动化测试用例分配至消息队列,以使空闲的测试设备从消息队列提取第一自动化测试用例进行测试,并在测试完成后向回收队列返回完成第一自动化测试用例的完成消息。查找模块303具体用于计算测试设备的数量,并检测分配至消息队列的第一自动化测试用例的数量与完成消息的数量之间的差值是否小于测试设备的数量,若小于测试设备的数量,则存在空闲的测试设备。则所述查找模块包括:分配子模块(图未示)、计算子模块(图未示)和确认子模块(图未示)。分配子模块,用于将所述第一自动化测试用例分配至消息队列,以使所述空闲的所述测试设备从消息队列提取第一自动化测试用例进行测试,并在测试完成后向回收队列返回完成第一自动化测试用例的完成消息。计算子模块,用于计算所述测试设备的数量。确认子模块,检测所述分配至消息队列的第一自动化测试用例的数量与完成消息的数量之间的差值是否小于测试设备的数量;若小于所述测试设备的数量,则存在空闲的所述测试设备。
当不存在空闲的测试设备时,根据各测试设备上分配到的自动化测试用例的预估测试时长的总值进行选择测试设备,以平衡各个测试设备之的负载,具体的,用例库21预先存储有每一自动化测试用例对应的预估测试时长。分发服务器还包括获取模块305、计算模块306和第二分配模块307。获取模块305,用于在查找模块303没有找到空闲的测试设备时,获取各个测试设备当前正在运行的第二自动化测试用例对应的预估测试时长和/或等待进行测试的第三自动化测试用例对应的预估测试时长。计算模块306,用于根据第二自动化测试用例对应的预估测试时长和/或第三自动化测试用例对应的预估测试时长计算等待时长。第二分配模块307,用于向等待时长最短的测试设备分配第一自动化测试用例。
进一步的,分发服务器还包括判断模块308和返回模块309。判断模块308,用于判断最短的等待时长是否大于或者等于时长阈值,在最短的等待时长小于时长阈值时,进入第二分配模块。返回模块309,用于在判断模块308判断到最短的等待时长大于或者等于时长阈值时,暂时暂停预定时长,返回获取模块305。
分发服务器还包括告警模块310。告警模块310,用于在判断模块308判断到最短的等待时长小于时长阈值时,发出测试设备负载过载告警。通过测试设备负载过载告警提醒测试人员增加测试设备,以提高自动化测试的效率。
测试终端在完成一自动化测试用例的测试后,均会向分发服务器返回测试结果,分发服务器还可以根据测试结果进行归类、更新预估测试时长等等,具体的,分发服务器30还包括接收模块311和更新模块312。接收模块311,用于接收测试设备在完成第二自动化测试用例的测试时返回的测试结果,其中,测试结果携带测试设备执行第二自动化测试用例时所耗费时的精确测试时长。更新模块312,用于将用例库21中第二自动化测试用例的预估测试时长更新为精确测试时长。通过将预估测试时长更新为精确测试时长,有利于下次在计算等待时长,等待时长的计算结果更准确。
在本发明实施方式中,当触发测试任务时,提取模块302从用例库提取第一自动化测试用例,第一分配模块304用于在查找模块303找到空闲的测试设备时,向空闲的测试设备分配所述第一自动化测试用例,以使空闲的测试设备根据所述第一自动化测试用例进行测试,通过优先向空闲的测试设备分配第一自动化测试用例,平衡测试设备之间的负载,降低了自动化测试用例的执行时间,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。
本发明又提供分发自动化测试用例的方法实施方式。请参阅图3,分发自动化测试用例的方法包括:
步骤S401:建立与各个测试设备之间的连接关系;
当测试设备接入分发服务器时,分发服务器与测试设备之间就建立连接关系,分发服务器可以通过与测试设备之间的连接获取各个测试设备的情况,测试设备也可以通过与分发服务器之间的连接向分发服务器返馈信息。
步骤S402:获取测试任务的触发指令,从用例库提取第一自动化测试用例;
用例库用于存储自动化测试用例。测试任务的触发的方式不作限定,可以在用例库中设置触发条件,当用例库满足触发条件时,自动触发测试任务,也可以是测试人员人工触发的。
步骤S403:查找是否存在空闲的测试设备,若存在空闲的测试设备,则进入步骤S404;
空闲的测试设备是指测试设备当前没有分配有自动化测试用例,测试设备处于空闲状态;不空闲的测试设备或者工作的测试设备是指测试终端分配有自动化测试用例,测试设备正在根据自动化测试用例进行测试,测试终端处于工作状态。步骤S404:向空闲的测试设备分配第一自动化测试用例,以使空闲的测试设备根据第一自动化测试用例进行测试;
进一步的,分发服务器向测试设备分发自动化测试用例时,可以通过消息队列进行,空闲的测试设备监听消息队列,当消息队列存在自动化测试用例时,空闲的测试设备从消息队列提取自动化测试用例,并在测试完成后,向回收队列返回完成自动化测试用例的完成消息,分发服务器可以根据分配至消息队列的自动化测试用例的数量和回收队列的完成消息的数量,判断是否还存在空闲的测试设备,则步骤S403向空闲的测试设备分配第一自动化测试用例的步骤包括:将第一自动化测试用例分配至消息队列,以使空闲的测试设备从消息队列提取第一自动化测试用例进行测试,并在测试完成后向回收队列返回完成第一自动化测试用例的完成消息。请参阅图4,步骤S402又包括:
步骤S4021:计算测试设备的数量;
计算测试设备的数量可以根据分发服务器与测试设备之间的连接进行计算。
步骤S4022:检测分配至消息队列的自动化测试用例的数量与完成消息的数量之间的差值是否小于测试设备的数量,若小于测试设备的数量,则存在空闲的测试设备。
在本发明实施方式中,在分配第一自动化测试用例时,优先向空闲的测试设备分配第一自动化测试用例,从而平衡各测试终端之间的负载,提高自动化测试的回归时间。
请参阅图5,图5是本发明分发自动化测试用例的方法第二实施方式,分发自动化测试用例的方法第二实施方式与分发自动化测试用例的方法第一实施方式的区别在于:
当不存在空闲的测试设备时,根据测试设备上已分配得到的正在执行以及尚未执行的自动化测试用例的预估测试时长,进行分配第一自动化测试用例,以保证各个测试设备之间的平衡,则用例库预先存储有每一自动化测试用例对应的预估测试时长,方法还包括步骤S405、S406和S407,在步骤S403没有查找空闲的测试设备时,进入步骤S405。
步骤S405:获取各个测试设备当前正在运行的第二自动化测试用例对应的预估测试时长和/或等待进行测试的第三自动化测试用例对应的预估测试时长;
值得说明的是:当测试设备上不存在等待的第三自动化测试用例时,步骤S405也可以不包括第三自动化测试用例。
步骤S406:根据第二自动化测试用例对应的预估测试时长和/或第三自动化测试用例对应的预估测试时长计算等待时长;
等待时长是第二自动化测试用例对应的预估测试时长和第三自动化测试用例对应的预估测试时长之和,其中,第三自动化测试用例的数量可以为多个,则第三自动化测试用例对应的预估测试时长也可以有多个。
步骤S407:向等待时长最短的测试设备分配第一自动化测试用例;
通过向等待时长最短的测试设备分配第一自动化测试用例,有利于平衡各个测试设备,提高自动化测试的回归时间。
在分发第一自动化测试用例时,也可以判断所有测试设备的负载,在所有测试设备的负载较高,暂时分配,避免测试设备超负载,则方法还包括:
步骤S408:判断最短的等待时长是否大于或者等于时长阈值,若大于或者等于时长阈值,则进入步骤S409,否则返回步骤S407,
时长阈值可以根据实际设定,本发明实施方式不作限定,当然,时长阈值也可以设置成可调的。
步骤S409:返回步骤S405;
当然,在分发第一自动化测试用例时,分发服务器检测到所有测试设备的负载均较高时,可以提醒测试人员增加测试设备,以使新测试用例分配至新测试设备,避免测试设备超负载,则方法还包括:
步骤S500:若最短的等待时长大于或者等于时长阈值,发出测试设备负载过载告警;
测试人员发现测试设备负载过载告警后,可以及时增加测试设备,平衡测试设备的负载。
当测试设备完成一自动化测试用例的测试后,会向分发服务器返回测试结果,分发服务器根据测试结果,进行归类或者更新预估测试长等操作,则方法还包括:接收测试设备在完成第二自动化测试用例的测试时返回的测试结果,并且将用例库中第二自动化测试用例对应的预估测试时长更新为精确测试时长。其中,测试结果携带测试设备执行第二自动化测试用例时所耗费时的精确测试时长。精确测试时长是测试设备对第二自动化测试用例进行测试自行记录,其反应测试设备执行第二自动化测试用例所耗费的时长。通过将预估测试时长更新为精确测试时长后,下次使用第二自动化测试用例进行测试的过程计算等待时长时,等待时长的计算结果更加准确,实现分发自动化测试用例的系统的自我修改功能。
在本发明实施方式中,在向测试设备分发第一自动化测试用例时,先查找是否存在空闲的测试设备,若存在空闲的测试设备,则优先向空闲的测试设备分配第一自动化测试用例,从而平衡测试设备之间的负载,降低了自动化测试用例的执行时间,提高自动化测试回归的效率,增加了自动化测试用例的执行效率。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种分发自动化测试用例的方法,其特征在于,包括:
建立与各个测试设备之间的连接关系;
获取测试任务的触发指令,从用例库提取第一自动化测试用例;
查找是否存在空闲的所述测试设备;
若存在空闲的所述测试设备,则向空闲的所述测试设备分配所述第一自动化测试用例,以使空闲的所述测试设备根据所述第一自动化测试用例进行测试。
2.根据权利要求1所述的方法,其特征在于,所述查找是否存在空闲的所述测试设备的步骤包括:
将所述第一自动化测试用例分配至消息队列,以使所述空闲的所述测试设备从消息队列提取第一自动化测试用例进行测试,并在测试完成后向回收队列返回完成第一自动化测试用例的完成消息;
计算所述测试设备的数量;
检测所述分配至消息队列的第一自动化测试用例的数量与完成消息的数量之间的差值是否小于测试设备的数量;若小于所述测试设备的数量,则存在空闲的所述测试设备。
3.根据权利要求1所述的方法,其特征在于,
所述用例库预先存储有每一自动化测试用例对应的预估测试时长;
所述方法还包括:
若不存在空闲的所述测试设备;
获取所述各个测试设备当前正在运行的第二自动化测试用例对应的预估测试时长和/或等待进行测试的第三自动化测试用例对应的预估测试时长;
根据所述第二自动化测试用例对应的预估测试时长和/或第三自动化测试用例对应的预估测试时长计算等待时长;
向所述等待时长最短的测试设备分配所述第一自动化测试用例。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述测试设备在完成所述第二自动化测试用例的测试时返回的测试结果,其中,所述测试结果携带所述测试设备执行所述第二自动化测试用例时所耗费时的精确测试时长;
将所述用例库中第二自动化测试用例对应的预估测试时长更新为精确测试时长。
5.根据权利要求4所述的方法,其特征在于,
在所述向所述等待时长最短的测试设备发送所述第一自动化测试用例的步骤之前,所述方法还包括:
判断最短的所述等待时长是否大于或者等于时长阈值;
若大于或者等于所述时长阈值,则返回所述获取所述各个测试设备当前正在运行的第二自动化测试用例的预估测试时长和/或等待进行测试的第三自动化测试用例的预估测试时长的步骤;
若小于所述时长阈值,则进入向所述等待时长最短的测试设备发送所述第一自动化测试用例的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若最短的所述等待时长大于或者等于所述时长阈值,发出所述测试设备负载过载告警。
7.一种分发服务器,其特征在于,包括:
建立模块,用于建立与各个测试设备之间的连接关系;
提取模块,用于获取测试任务的触发指令,从用例库提取第一自动化测试用例;
查找模块,用于查找是否存在空闲的所述测试设备;
第一分配模块,用于在所述查找模块找到空闲的测试设备时,向空闲的所述测试设备分配所述第一自动化测试用例,以使空闲的所述测试设备根据所述第一自动化测试用例进行测试。
8.根据权利要求7所述的分发服务器,其特征在于,
所述用例库预先存储有每一自动化测试用例对应的预估测试时长;
所述分发服务器还包括获取模块、计算模块和第二分配模块;
所述获取模块,用于在所述查找模块没有找到空闲的测试设备时,获取所述各个测试设备当前正在运行的第二自动化测试用例对应的预估测试时长和/或等待进行测试对应的第三自动化测试用例的预估测试时长
所述计算模块,用于根据所述第二自动化测试用例对应的预估测试时长和/或第三自动化测试用例对应的预估测试时长计算等待时长;
所述第二分配模块,用于向所述等待时长最短的测试设备分配所述第一自动化测试用例。
9.根据权利要求8所述的方法,其特征在于,所述查找模块包括:
分配子模块,用于将所述第一自动化测试用例分配至消息队列,以使所述空闲的所述测试设备从消息队列提取第一自动化测试用例进行测试,并在测试完成后向回收队列返回完成第一自动化测试用例的完成消息;
计算子模块,用于计算所述测试设备的数量;
确认子模块,检测所述分配至消息队列的第一自动化测试用例的数量与完成消息的数量之间的差值是否小于测试设备的数量;若小于所述测试设备的数量,则存在空闲的所述测试设备。
10.根据权利要求8所述的分发服务器,其特征在于,所述分发服务器还包括:
接收模块,用于接收所述测试设备在完成所述第二自动化测试用例的测试时返回的测试结果,其中,所述测试结果携带所述测试设备执行所述第二自动化测试用例时所耗费时的精确测试时长;
更新模块,用于将所述用例库中第二自动化测试用例的预估测试时长更新为精确测试时长。
11.根据权利要求10所述的分发服务器,其特征在于,所述分发服务器还包括:
判断模块,用于判断最短的所述等待时长是否大于或者等于时长阈值,在所述最短的所述等待时长小于时长阈值时,进入所述第二分配模块;
返回模块,用于在所述判断模块判断到最短的所述等待时长大于或者等于时长阈值时,返回所述获取模块。
12.一种分发自动化测试用例的系统,其特征在于,包括分发服务器、测试设备和用例库;
所述分发服务器用于建立与各个测试设备之间的连接关系,获取测试任务的触发指令,从用例库提取第一自动化测试用例,查找是否存在空闲的所述测试设备,若存在空闲的所述测试设备,则向空闲的所述测试设备分配所述第一自动化测试用例,以使空闲的所述测试设备根据所述第一自动化测试用例进行测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256675.1A CN105955880A (zh) | 2016-04-22 | 2016-04-22 | 一种分发自动化测试用例的方法、系统及分发服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610256675.1A CN105955880A (zh) | 2016-04-22 | 2016-04-22 | 一种分发自动化测试用例的方法、系统及分发服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105955880A true CN105955880A (zh) | 2016-09-21 |
Family
ID=56915294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610256675.1A Pending CN105955880A (zh) | 2016-04-22 | 2016-04-22 | 一种分发自动化测试用例的方法、系统及分发服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955880A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844198A (zh) * | 2016-12-27 | 2017-06-13 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN106901686A (zh) * | 2017-02-28 | 2017-06-30 | 北京七鑫易维信息技术有限公司 | 眼动测试任务的执行方法、服务器、测试端及系统 |
CN106991044A (zh) * | 2017-03-22 | 2017-07-28 | 记忆科技(深圳)有限公司 | 一种适用于分布式测试系统的测试用例调度与分发方法 |
CN107291621A (zh) * | 2017-07-07 | 2017-10-24 | 恒生电子股份有限公司 | 测试用例的处理方法、处理装置、介质和电子设备 |
CN108664381A (zh) * | 2017-03-27 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 测试方法及装置 |
CN108984274A (zh) * | 2018-08-01 | 2018-12-11 | 佛山市甜慕链客科技有限公司 | 一种对物联网系统进行操作的方法 |
CN110297767A (zh) * | 2019-06-03 | 2019-10-01 | 平安科技(深圳)有限公司 | 测试用例自动执行方法、装置、设备及存储介质 |
CN110430271A (zh) * | 2019-08-09 | 2019-11-08 | 中国工商银行股份有限公司 | 一种移动设备管理的方法及装置 |
CN111301789A (zh) * | 2018-12-11 | 2020-06-19 | 顺丰科技有限公司 | 应用软件打包方法和装置 |
CN111382031A (zh) * | 2020-04-30 | 2020-07-07 | 中国银行股份有限公司 | 测试方法及装置 |
CN112052159A (zh) * | 2020-08-06 | 2020-12-08 | 中信银行股份有限公司 | 测试任务分配的方法及装置 |
CN112667516A (zh) * | 2021-01-06 | 2021-04-16 | 南京万得资讯科技有限公司 | 一种安卓多机型自动化测试系统和方法 |
CN113282510A (zh) * | 2021-06-18 | 2021-08-20 | 北京邮电大学 | 一种自动化测试用例的分发方法及装置 |
CN114301805A (zh) * | 2021-12-14 | 2022-04-08 | 山石网科通信技术股份有限公司 | 设备数量的确定方法、装置及电子设备 |
CN114302351A (zh) * | 2022-03-09 | 2022-04-08 | 太平金融科技服务(上海)有限公司深圳分公司 | 短信业务处理方法、装置、计算机设备和存储介质 |
-
2016
- 2016-04-22 CN CN201610256675.1A patent/CN105955880A/zh active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844198B (zh) * | 2016-12-27 | 2020-03-27 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN106844198A (zh) * | 2016-12-27 | 2017-06-13 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN106901686A (zh) * | 2017-02-28 | 2017-06-30 | 北京七鑫易维信息技术有限公司 | 眼动测试任务的执行方法、服务器、测试端及系统 |
CN106991044A (zh) * | 2017-03-22 | 2017-07-28 | 记忆科技(深圳)有限公司 | 一种适用于分布式测试系统的测试用例调度与分发方法 |
CN108664381A (zh) * | 2017-03-27 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 测试方法及装置 |
CN108664381B (zh) * | 2017-03-27 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 测试方法及装置 |
CN107291621A (zh) * | 2017-07-07 | 2017-10-24 | 恒生电子股份有限公司 | 测试用例的处理方法、处理装置、介质和电子设备 |
CN108984274A (zh) * | 2018-08-01 | 2018-12-11 | 佛山市甜慕链客科技有限公司 | 一种对物联网系统进行操作的方法 |
CN111301789A (zh) * | 2018-12-11 | 2020-06-19 | 顺丰科技有限公司 | 应用软件打包方法和装置 |
CN111301789B (zh) * | 2018-12-11 | 2022-08-12 | 顺丰科技有限公司 | 应用软件打包方法和装置 |
CN110297767B (zh) * | 2019-06-03 | 2024-02-23 | 平安科技(深圳)有限公司 | 测试用例自动执行方法、装置、设备及存储介质 |
CN110297767A (zh) * | 2019-06-03 | 2019-10-01 | 平安科技(深圳)有限公司 | 测试用例自动执行方法、装置、设备及存储介质 |
CN110430271A (zh) * | 2019-08-09 | 2019-11-08 | 中国工商银行股份有限公司 | 一种移动设备管理的方法及装置 |
CN111382031A (zh) * | 2020-04-30 | 2020-07-07 | 中国银行股份有限公司 | 测试方法及装置 |
CN111382031B (zh) * | 2020-04-30 | 2023-09-19 | 中国银行股份有限公司 | 测试方法及装置 |
CN112052159A (zh) * | 2020-08-06 | 2020-12-08 | 中信银行股份有限公司 | 测试任务分配的方法及装置 |
CN112667516A (zh) * | 2021-01-06 | 2021-04-16 | 南京万得资讯科技有限公司 | 一种安卓多机型自动化测试系统和方法 |
CN112667516B (zh) * | 2021-01-06 | 2023-07-28 | 南京万得资讯科技有限公司 | 一种安卓多机型自动化测试系统和方法 |
CN113282510A (zh) * | 2021-06-18 | 2021-08-20 | 北京邮电大学 | 一种自动化测试用例的分发方法及装置 |
CN114301805A (zh) * | 2021-12-14 | 2022-04-08 | 山石网科通信技术股份有限公司 | 设备数量的确定方法、装置及电子设备 |
CN114301805B (zh) * | 2021-12-14 | 2024-04-26 | 山石网科通信技术股份有限公司 | 设备数量的确定方法、装置及电子设备 |
CN114302351A (zh) * | 2022-03-09 | 2022-04-08 | 太平金融科技服务(上海)有限公司深圳分公司 | 短信业务处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955880A (zh) | 一种分发自动化测试用例的方法、系统及分发服务器 | |
CN106528426B (zh) | 一种测试指标的分布式计算系统 | |
CN110568838B (zh) | 一种车辆静态电流获取方法、系统、电子设备及存储介质 | |
CN107977763B (zh) | 一种资源分配方法和相关装置 | |
CN102868573B (zh) | Web服务负载云测试方法和装置 | |
CN111142746B (zh) | 一种系统配额计算方法和装置 | |
CN106936659B (zh) | 一种公有云的拨测方法和装置 | |
CN105740122B (zh) | 一种手机内存泄漏的监测方法及监测系统 | |
CN107451193A (zh) | 一种客户端页面加载时间的获取方法及装置,电子设备 | |
CN108737573A (zh) | 一种分布式存储集群及其服务响应控制方法、装置和设备 | |
CN105763595A (zh) | 一种提高数据处理效率的方法及服务器 | |
CN109284229A (zh) | 一种基于qps的动态调整方法以及相关设备 | |
CN109213912A (zh) | 一种抓取网络数据的方法及网络数据抓取调度装置 | |
CN114356703A (zh) | 一种根因分析方法及装置 | |
CN109885444A (zh) | 基于手势识别的测试方法、装置、存储介质及终端设备 | |
CN107092556B (zh) | 测试方法、装置及设备 | |
CN113641544A (zh) | 用于检测应用状态的方法、装置、设备、介质和产品 | |
CN112256588A (zh) | 应用程序测试的资源配置方法、计算机可读存储介质及测试机 | |
CN115576827A (zh) | 业务流程软件的性能测试方法、装置、设备及存储介质 | |
CN113641628B (zh) | 数据质量检测方法、装置、设备及存储介质 | |
CN109376048A (zh) | 一种触摸屏的测试方法及设备 | |
CN109165127A (zh) | 问题接口的定位方法、装置及电子设备 | |
CN112887171A (zh) | 电能表操作系统的响应速率测试方法、装置和计算机设备 | |
CN109873882A (zh) | 一种ip代理池管理系统及其管理方法 | |
CN110928794A (zh) | 调配信息生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160921 |