CN106844198A - 一种分布式调度自动化测试平台及方法 - Google Patents
一种分布式调度自动化测试平台及方法 Download PDFInfo
- Publication number
- CN106844198A CN106844198A CN201611227327.8A CN201611227327A CN106844198A CN 106844198 A CN106844198 A CN 106844198A CN 201611227327 A CN201611227327 A CN 201611227327A CN 106844198 A CN106844198 A CN 106844198A
- Authority
- CN
- China
- Prior art keywords
- task
- machine
- test
- distributed scheduling
- distributed
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 149
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000003993 interaction Effects 0.000 claims abstract description 4
- 238000005516 engineering process Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 230000032258 transport Effects 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 3
- 238000010276 construction Methods 0.000 abstract 2
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
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
-
- 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/3696—Methods or tools to render software testable
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)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种分布式调度自动化测试平台及方法,该测试平台基于B/S架构或CS架构,其结构包括,分布式调度服务器,进行任务分发;分布式调度客户端,通过分布式调度服务器调度,自动进行测试过程;Web客户端,用于实现人机交互,提供用户提交任务、管理任务的界面,方法则基于该平台实现。本发明的一种分布式调度自动化测试平台及方法与现有技术相比,使用分布式调度,平衡调度测试机器,提高了规模较大的自动化测试任务的运行效率,高效的支撑了每日构建自动化测试;解决在敏捷开发的每日构建自动化测试中,如何保证夜间定时启动、无人值守、第二天保证完成、并发布报告的问题,实用性强,适用范围广泛,易于推广。
Description
技术领域
本发明涉及计算机自动化测试技术领域,具体地说是一种分布式调度自动化测试平台及方法。
背景技术
随着自动化测试应用的推广,自动化测试用例数越来越多,运行频率越来越频繁。加之软件交付的进程逐渐加快,敏捷开发模式、持续集成被更多应用,这就要求自动化测试能够达到每日构建的要求:测试覆盖度高、无人值守、每日执行、第二天上班前出具测试报告。
以运行一次包含6000个场景的自动化测试任务为例,1个场景约用时3分钟。以传统的自动化技术,1台机器约用时18000分钟(约12.5天);若使用多台机器,采取提前分配场景的方式,没有异常下可能按时完成,但若出现网络、机器性能等各方面的影响,就无法保证第2天上班前完成任务的要求,那么就需要通过人工二次分配来加快进度,这无疑增加了人工工作量,也无法保证敏捷测试的效率。
分布式调度来实现自动化是解决该问题的办法,当前业界也有该技术的实现,有使用Socket通信来实现任务分发机器和测试机器间的通信,主要存在以下几个问题:
(1)使用C/S架构,只能在本机提交测试任务,无法作为一个Web产品对外提供服务;
(2)Socket可能会出现丢消息的情况,运行的稳定性受到影响,在快速交付的要求下,按时完成任务存在风险;
(3)测试机器无法集中管理,机器资源不能充分利用;
(4)运行进度无法实时获取、调控。
基于此,现提供一种分布式调度自动化测试平台及方法,对上述问题进行了解决和改进。
发明内容
本发明的技术任务是针对以上不足之处,提供一种分布式调度自动化测试平台及方法。
一种分布式调度自动化测试平台,该测试平台基于B/S架构或CS架构,使用消息队列实现分布式调度,其结构包括,
分布式调度服务器,进行任务分发;
分布式调度客户端,通过分布式调度服务器调度,自动进行测试过程;
Web客户端,用于实现人机交互,提供用户提交任务、管理任务的界面。
所述分布式调度服务器使用消息队列进行任务分发,当接收方出现异常,收不到消息时,消息会一直暂存在发送方,当接收方再次启动时,再进行分发,同时该分布式调度服务器还用于:
1)任务发布,首先发送任务ID给运行机器,运行机器获取分配给自己的场景并运行;
2)形成运行机器资源池,获取机器的状态和待运行的任务,将指定数量的任务分发到空闲的运行机器上,同时更新测试场景和运行机器的状态;
3)实现运行机器与分布式调度服务器的批量连接,通过IPC技术实现跨机器连接,给运行机器创建计划任务,定时启动分布式调度客户端,实现与分布式调度服务器的连接。
在步骤1)中,运行机器通过数据库获取分配给自己的场景,该数据库包括主表和从表,主表中记录测试任务的主要信息,包含以下字段:任务ID,机器的唯一标识;任务名称,机器名;测试地址,基于CS架构时该地址是被测服务器的IP,若是BS架构地址是被测URL;任务状态,包括制单、提交任务、运行中、结束、暂停、停止;申请人;申请时间;计划机器数量;计划启动时间;预计结束时间;实际使用机器;实际机器数量;实际开始时间和实际结束时间;
从表中包含运行场景ID,运行场景的唯一标识;任务ID,场景所属的任务;场景ID,存储的场景ID;运行机器;运行结果;开始时间和结束时间;
在步骤2)中,分别通过机器管理数据表和测试任务数据表获取机器的状态和待运行的任务,其中机器管理数据表包括以下字段:机器ID,机器的唯一标识;机器名;状态,机器的运行状态,包括运行中、空闲、不可用;运行任务,当前运行的任务,当空闲时,则没有任务;任务安排,记录在运行、待运行的任务数组,即计划开始、结束时间、任务ID;
测试任务数据表即为数据库的主表部分。
所述从表中的场景ID存储在自动化场景数据表中,该自动化场景数据表中还存储以下字段:用例ID,测试用例的唯一标识;关键应用,用例所述的关键应用;模块名称,用例所述的模块名称;自动化场景名称;自动化步骤名称;脚本相对路径;依赖项,用例依赖的用例的ID;预计用时。
所述分布式调度客户端包括运行机器和Web服务器,其中运行机器受分布式服务器调度,负责测试运行;Web服务器作为应用服务器,接收分布式调度服务器分发任务,进行任务的过程监控,同时作为分布式调度客户端与分布式调度服务器连接。
一种分布式调度自动化测试方法,基于上述分布式调度自动化测试平台,其实现过程为:
用户提交测试任务,确定测试使用哪些用例,使用几台机器,指定启动时间;
分布式调度自动化测试平台定时启动测试任务,自动生成该任务的运行场景,自动选择空闲机器,分布式调度机器,完成测试;
最后自动给用户发送测试启动通知、测试报告邮件。
在分布式调度自动化测试平台定时启动测试任务时,根据自动化场景数据表生成该任务的运行场景;并查看前一个任务的计划启动时间至预计结束时间这个时间段内,通过机器管理数据表的任务安排,查看哪些机器是没有任务安排的,则安排该任务到该机器上。
当用户指定计划启动时间后,分布式调度自动化测试平台采用轮询的方式,每隔一段时间检查是否有到计划启动时间的任务,有则将该任务,提交给分布式调度服务器,进行任务分发;当任务分发完成后,分布式调度服务器检查当前任务的运行场景列表中,是否还有未运行的场景,如果有则继续分发,如果没有则发送邮件给测试申请人。
运行机器接收到分发的指令后,到测试任务数据表中获取分配的场景,使用中断处理机制调度运行,具体为:
从数据库中查询,分配给自己的测试场景,根据自动化场景数据表里的获取脚本存放的路径,调度运行,同时在运行过程中,回写数据库运行结果;
使用中断处理运行机制:先判断依赖项是否成功,如果成功则运行,如果失败则阻塞;进行异常处理,当其中一个场景中断后,记录当时的错误截屏和日志信息;同时判断当前状态是否满足下一场景运行的条件,如果满足,继续运行,如果不满足,重新准备被测环境,运行下一个场景;
测试结果的智能分析:脚本运行失败时,自动截图、通过日志记录失败的详细信息,并进行测试结果的智能分析,通过包括控件类型、控件标题的特点进行判断,将失败原因自动确定。
所述失败原因归为以下三类:
因程序错误导致的中断,该类失败归为“程序错误”;
因网络原因导致的不具备脚本运行的前提条件,该类失败归为“阻塞”;
因脚本没有及时更新,导致脚本与程序没有同步而导致的失败,该类失败归为“脚本问题”;
分布式调度自动化测试平台通过包括控件类型、控件标题的特点进行判断,当符合某一类特征时,自动归类为“程序错误”或者“阻塞”,其他问题归为“脚本问题”。
本发明的一种分布式调度自动化测试平台及方法和现有技术相比,具有以下有益效果:
本发明的一种分布式调度自动化测试平台及方法,实现机器的集中利用:未使用该技术时,团队的机器都分散在各个小组里,机器的利用率不高;使用该技术后,将机器集中起来,统一进行状态管理,实现的资源的充分利用;提高测试效率,高效支撑了每日构建自动化测试:未使用该技术时,每日进行自动化走查,运行一次包含6000个场景的自动化测试任务为例,1个场景约用时3分钟,以传统的自动化技术,1台机器约用时18000分钟(约12.5天);即便使用多台机器,人工分配场景,一旦出现个别机器无法在第二天上午运行完的情况,就需要通过人工二次分配来加快进度,给自动化测试人员带来极大的压力,自动化程度不高,且无法保证敏捷测试的效率,使用该技术后,由于消息队列的稳定性表现,保证机器一直在正常运行,并且通过任务的分发,让各机器能够基本同步完成任务,从而实现测试任务在最短的时间内完成,高效支撑了每日构建自动化测试,实用性强,适用范围广泛,具有很好的推广应用价值。
附图说明
附图1为本发明的测试平台实现结构图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
该发明使用消息队列实现分布式调度,使用B/S架构,实现用户只需提交测试任务,指定启动时间即可,无需关注运行过程,服务器会定时启动测试任务,自动选择空闲机器,分布式调度机器,完成测试。系统会自动给用户发送测试启动通知、测试报告邮件,用户也可以在运行过程中实时了解运行进度。
本发明使用分布式调度,平衡调度测试机器,提高了规模较大的自动化测试任务的运行效率,高效的支撑了每日构建自动化测试;解决在敏捷开发的每日构建自动化测试中,如何保证夜间定时启动、无人值守、第二天保证完成、并发布报告的问题。
如附图1所示,一种分布式调度自动化测试平台,该测试平台基于B/S架构或CS架构,使用消息队列实现分布式调度,其结构包括,
分布式调度服务器,DistributedServer,进行任务分发;
分布式调度客户端,通过分布式调度服务器调度,自动进行测试过程;
Web客户端,用于实现人机交互,提供用户提交任务、管理任务的界面。
所述分布式调度服务器使用消息队列进行任务分发,当接收方出现异常,收不到消息时,消息会一直暂存在发送方,当接收方再次启动时,再进行分发,同时该分布式调度服务器还用于:
使用消息队列进行任务分发,当接收方出现异常,收不到消息时,消息会一直暂存在发送方,当接收方再次启动时,再进行分发,消息不会丢失,比Socket更为稳定。
任务发布,不直接向TestMachine发送测试用例,仅发送任务ID,TestMachine从数据库中取出分配给自己的场景运行,从而降低了网络通信的负载,提高性能;
形成Test Machine资源池,通过【机器管理】数据表获取机器的状态,通过【测试任务】数据表获取待运行的任务,将指定数量的任务分发到空闲的Test Machine上,同时更新测试场景和TestMachine的状态。
实现Test Machine与Distributed Server的批量连接。由于Test Machine数量众多,实现与Distributed Server的批量连接工作量也是巨大的。本技术方案通过IPC实现跨机器连接,给Test Machine创建计划任务,定时启动分布式调度客户端程序,实现与Distributed Server的连接。
在步骤1)中,运行机器通过数据库获取分配给自己的场景,该数据库包括主表和从表,具体如下所示:
数据库设计主要字段:
在步骤2)中,分别通过机器管理数据表和测试任务数据表获取机器的状态和待运行的任务,其中机器管理数据表实现将所有的机器集中管理,实现机器的任务分配、状态管理。
具体包括下表所示字段:
测试任务数据表即为数据库的主表部分。
所述从表中的场景ID存储在自动化场景数据表中,该自动化场景数据表将自动化测试场景保存在数据库中,是自动化调度的基础,具体包括以下主要字段:
所述分布式调度客户端包括运行机器TestMachine集群和Web服务器WebServer,其中,TestMachine集群:作为分布式调度客户端,受分布式服务器调度,负责测试运行;
Web服务器:作为自动化测试平台的应用服务器,接收任务,提交DistributedServer;进行任务的过程监控;同时作为分布式调度客户端去与DistributedServer连接。
一种分布式调度自动化测试方法,基于上述分布式调度自动化测试平台,其实现过程为:
用户提交测试任务,确定测试使用哪些用例,使用几台机器,指定启动时间;
分布式调度自动化测试平台定时启动测试任务,自动生成该任务的运行场景,自动选择空闲机器,分布式调度机器,完成测试;
最后自动给用户发送测试启动通知、测试报告邮件。
在分布式调度自动化测试平台定时启动测试任务时,根据自动化场景数据表生成该任务的运行场景;并查看前一个任务的计划启动时间至预计结束时间这个时间段内,通过机器管理数据表的任务安排,查看哪些机器是没有任务安排的,则安排该任务到该机器上。
当用户指定计划启动时间后,分布式调度自动化测试平台采用轮询的方式,每隔一段时间检查是否有到计划启动时间的任务,有则将该任务,提交给分布式调度服务器,进行任务分发;当任务分发完成后,分布式调度服务器检查当前任务的运行场景列表中,是否还有未运行的场景,如果有则继续分发,如果没有则发送邮件给测试申请人。
TestMachine接收指令后,到【测试任务】数据表中获取分配的场景,使用中断处理机制调度运行,具体为:
从数据库中查询,分配给自己的测试场景,根据【自动化场景】里的获取脚本存放的路径,调度运行,同时在运行过程中,回写数据库运行结果;
使用中断处理运行机制:先判断依赖项是否成功,如果成功则运行,如果失败则阻塞。在运行过程中包含了异常处理,当其中一个场景中断后,记录当时的错误截屏和日志信息。同时判断当前状态是否满足下一场景运行的条件,如果满足,继续运行,如果不满足,重新准备被测环境,运行下一个场景;
测试结果的智能分析:脚本运行失败时,自动截图、通过日志记录失败的详细信息,并进行测试结果的智能分析,通过包括控件类型、控件标题的特点进行判断,将失败原因自动确定。
所述失败原因归为以下三类:
因程序错误导致的中断,该类失败归为“程序错误”;
因网络等原因导致的不具备脚本运行的前提条件,该类失败归为“阻塞”;
因脚本没有及时更新,导致脚本与程序没有同步而导致的失败,该类失败归为“脚本问题”。
在此基础上,积累“程序错误”、“阻塞”的特征,即,通过控件类型、控件标题等特点进行判断,当符合某一类特征时,自动归类为“程序错误”或者“阻塞”,其他问题归为“脚本问题”。这样节省了结果分析人员分析问题的时间,提高结果分析的效率。分布式调度自动化测试平台通过包括控件类型、控件标题的特点进行判断,当符合某一类特征时,自动归类为“程序错误”或者“阻塞”,其他问题归为“脚本问题”。
通过上述描述可知,本发明实现:
自动化测试的云服务:
用户不需要关注自动化测试具体运行的过程,只需提供测试哪些用例,用几台机器,该系统则可自动选择机器、识别该任务需运行的自动化场景。选择场景的方法:根据【自动化场景】生成该任务的运行场景;选择机器的方法:看前任务的“计划启动时间”至“预计结束时间”这个时间段内,通过【机器管理】“任务安排”中看哪些机器是没有任务安排的,则安排该任务到该机器上。
支持任务定时运行:
系统支持立即运行,也支持定时运行,当用户指定计划启动时间后,系统会采用轮询的方式,每隔一段时间检查,是否有到计划启动时间的任务,有则将该任务,提交给分布式调度服务器(Distributed Server),进行任务分发。
运行过程可控:
任务启动:当任务提交至Distributed Server时,自动发送邮件给测试申请人;
过程监控:在运行过程中,用户可以通过该Web平台,实时了解运行该任务的各个机器的指标(已分配场景数、在运行场景数、失败场景数、成功率、分配率);
过程可干预:支持在运行过程中,通过测试平台,对任务进行干预,包括:暂停、修改、继续运行、停止、删除、失败场景重复运行等。
任务结束:当分布式测试运行机器(Distributed Client)完成分配的任务后,Distributed Server会检查当前任务的运行场景列表中,是否还有未运行的场景,如果有则继续分发,如果没有则发送邮件给测试申请人。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的方法及结构,基于计算机软件系统实现,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的功能及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种分布式调度自动化测试平台及方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种分布式调度自动化测试平台,其特征在于,该测试平台基于B/S架构或CS架构,使用消息队列实现分布式调度,其结构包括,
分布式调度服务器,进行任务分发;
分布式调度客户端,通过分布式调度服务器调度,自动进行测试过程;
Web客户端,用于实现人机交互,提供用户提交任务、管理任务的界面。
2.根据权利要求1所述的一种分布式调度自动化测试平台,其特征在于,所述分布式调度服务器使用消息队列进行任务分发,当接收方出现异常,收不到消息时,消息会一直暂存在发送方,当接收方再次启动时,再进行分发,同时该分布式调度服务器还用于:
1)任务发布,首先发送任务ID给运行机器,运行机器获取分配给自己的场景并运行;
2)形成运行机器资源池,获取机器的状态和待运行的任务,将指定数量的任务分发到空闲的运行机器上,同时更新测试场景和运行机器的状态;
3)实现运行机器与分布式调度服务器的批量连接,通过IPC技术实现跨机器连接,给运行机器创建计划任务,定时启动分布式调度客户端,实现与分布式调度服务器的连接。
3.根据权利要求1或2所述的一种分布式调度自动化测试平台,其特征在于,所述分布式调度客户端包括运行机器和Web服务器,其中运行机器受分布式服务器调度,负责测试运行;Web服务器作为应用服务器,接收分布式调度服务器分发任务,进行任务的过程监控,同时作为分布式调度客户端与分布式调度服务器连接。
4.根据权利要求3所述的一种分布式调度自动化测试平台,其特征在于,在步骤1)中,运行机器通过数据库获取分配给自己的场景,该数据库包括主表和从表,主表中记录测试任务的主要信息,包含以下字段:任务ID,机器的唯一标识;任务名称,机器名;测试地址,基于CS架构时该地址是被测服务器的IP,若是BS架构地址是被测URL;任务状态,包括制单、提交任务、运行中、结束、暂停、停止;申请人;申请时间;计划机器数量;计划启动时间;预计结束时间;实际使用机器;实际机器数量;实际开始时间和实际结束时间;
从表中包含运行场景ID,运行场景的唯一标识;任务ID,场景所属的任务;场景ID,存储的场景ID;运行机器;运行结果;开始时间和结束时间;
在步骤2)中,分别通过机器管理数据表和测试任务数据表获取机器的状态和待运行的任务,其中机器管理数据表包括以下字段:机器ID,机器的唯一标识;机器名;状态,机器的运行状态,包括运行中、空闲、不可用;运行任务,当前运行的任务,当空闲时,则没有任务;任务安排,记录在运行、待运行的任务数组,即计划开始、结束时间、任务ID;
测试任务数据表即为数据库的主表部分。
5.根据权利要求4所述的一种分布式调度自动化测试平台,其特征在于,所述从表中的场景ID存储在自动化场景数据表中,该自动化场景数据表中还存储以下字段:用例ID,测试用例的唯一标识;关键应用,用例所述的关键应用;模块名称,用例所述的模块名称;自动化场景名称;自动化步骤名称;脚本相对路径;依赖项,用例依赖的用例的ID;预计用时。
6.一种分布式调度自动化测试方法,基于上述分布式调度自动化测试平台,其特征在于,其实现过程为:
用户提交测试任务,确定测试使用哪些用例,使用几台机器,指定启动时间;
分布式调度自动化测试平台定时启动测试任务,自动生成该任务的运行场景,自动选择空闲机器,分布式调度机器,完成测试;
最后自动给用户发送测试启动通知、测试报告邮件。
7.根据权利要求6所述的一种分布式调度自动化测试方法,其特征在于,在分布式调度自动化测试平台定时启动测试任务时,根据自动化场景数据表生成该任务的运行场景;并查看前一个任务的计划启动时间至预计结束时间这个时间段内,通过机器管理数据表的任务安排,查看哪些机器是没有任务安排的,则安排该任务到该机器上。
8.根据权利要求6所述的一种分布式调度自动化测试方法,其特征在于,当用户指定计划启动时间后,分布式调度自动化测试平台采用轮询的方式,每隔一段时间检查是否有到计划启动时间的任务,有则将该任务,提交给分布式调度服务器,进行任务分发;当任务分发完成后,分布式调度服务器检查当前任务的运行场景列表中,是否还有未运行的场景,如果有则继续分发,如果没有则发送邮件给测试申请人。
9.根据权利要求6所述的一种分布式调度自动化测试方法,其特征在于,运行机器接收到分发的指令后,到测试任务数据表中获取分配的场景,使用中断处理机制调度运行,具体为:
从数据库中查询,分配给自己的测试场景,根据自动化场景数据表里的获取脚本存放的路径,调度运行,同时在运行过程中,回写数据库运行结果;
使用中断处理运行机制:先判断依赖项是否成功,如果成功则运行,如果失败则阻塞;进行异常处理,当其中一个场景中断后,记录当时的错误截屏和日志信息;同时判断当前状态是否满足下一场景运行的条件,如果满足,继续运行,如果不满足,重新准备被测环境,运行下一个场景;
测试结果的智能分析:脚本运行失败时,自动截图、通过日志记录失败的详细信息,并进行测试结果的智能分析,通过包括控件类型、控件标题的特点进行判断,将失败原因自动确定。
10.根据权利要求9所述的一种分布式调度自动化测试方法,其特征在于,所述失败原因归为以下三类:
因程序错误导致的中断,该类失败归为“程序错误”;
因网络原因导致的不具备脚本运行的前提条件,该类失败归为“阻塞”;
因脚本没有及时更新,导致脚本与程序没有同步而导致的失败,该类失败归为“脚本问题”;
分布式调度自动化测试平台通过包括控件类型、控件标题的特点进行判断,当符合某一类特征时,自动归类为“程序错误”或者“阻塞”,其他问题归为“脚本问题”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611227327.8A CN106844198B (zh) | 2016-12-27 | 2016-12-27 | 一种分布式调度自动化测试平台及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611227327.8A CN106844198B (zh) | 2016-12-27 | 2016-12-27 | 一种分布式调度自动化测试平台及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844198A true CN106844198A (zh) | 2017-06-13 |
CN106844198B CN106844198B (zh) | 2020-03-27 |
Family
ID=59135780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611227327.8A Active CN106844198B (zh) | 2016-12-27 | 2016-12-27 | 一种分布式调度自动化测试平台及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844198B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515804A (zh) * | 2017-09-08 | 2017-12-26 | 郑州云海信息技术有限公司 | 一种任务机的选择方法、系统及自动化测试系统 |
CN107608774A (zh) * | 2017-09-08 | 2018-01-19 | 新智云数据服务有限公司 | 一种任务调度方法、装置、设备及存储介质 |
CN107678965A (zh) * | 2017-09-30 | 2018-02-09 | 千寻位置网络有限公司 | 自动集成测试方法及系统、服务终端、存储器 |
CN107729251A (zh) * | 2017-10-23 | 2018-02-23 | 中国联合网络通信集团有限公司 | 测试用例管理方法及装置 |
CN108268379A (zh) * | 2018-02-02 | 2018-07-10 | 方欣科技有限公司 | 一种分布式自动化测试方法及装置 |
CN108874600A (zh) * | 2018-06-07 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器端到端自动化测试任务执行管理系统及方法 |
CN109062786A (zh) * | 2018-07-16 | 2018-12-21 | 北京百度网讯科技有限公司 | 测试用例的运行方法、装置及终端 |
CN109189463A (zh) * | 2018-08-28 | 2019-01-11 | 杭州百腾教育科技有限公司 | 一种对程序代码自动进行判断的控制方法及控制装置 |
CN109960619A (zh) * | 2019-02-12 | 2019-07-02 | 众安在线财产保险股份有限公司 | 一种性能测试平台及方法 |
CN110083497A (zh) * | 2019-04-23 | 2019-08-02 | 上海华岭集成电路技术股份有限公司 | 集成电路测试设备机时管理系统 |
CN110162481A (zh) * | 2019-05-31 | 2019-08-23 | 北京星网锐捷网络技术有限公司 | 一种软件测试方法、装置、设备以及存储介质 |
CN110471839A (zh) * | 2019-07-11 | 2019-11-19 | 平安普惠企业管理有限公司 | 定时测试任务控制方法、装置、计算机设备及存储介质 |
CN110704311A (zh) * | 2019-09-24 | 2020-01-17 | 香港乐蜜有限公司 | 一种应用程序测试方法、装置、电子设备及可读存储介质 |
CN110990261A (zh) * | 2019-11-08 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种测试管理系统、方法及平台 |
CN110990290A (zh) * | 2019-12-13 | 2020-04-10 | 浪潮软件集团有限公司 | 一种通用大数据平台稳定性测试系统及方法 |
CN111190708A (zh) * | 2019-11-19 | 2020-05-22 | 厦门二五八网络科技集团股份有限公司 | 一种自动调度任务的方法及装置 |
CN111694645A (zh) * | 2020-05-26 | 2020-09-22 | 平安普惠企业管理有限公司 | 分布式任务调度系统中任务处理方法及相关装置 |
CN112416745A (zh) * | 2020-01-21 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 一种测试控制系统、方法及设备 |
CN113157569A (zh) * | 2021-04-06 | 2021-07-23 | 深圳市捷视飞通科技股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
CN113568842A (zh) * | 2021-08-19 | 2021-10-29 | 北京江融信科技有限公司 | 一种批量任务自动化测试方法及系统 |
CN115454815A (zh) * | 2022-08-12 | 2022-12-09 | 广州极点三维信息科技有限公司 | 一种支持定制化测试任务的自动化测试系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010025274A1 (en) * | 2008-08-27 | 2010-03-04 | Eric Sven-Johan Swildens | Method and system for testing interactions between web clients and networked servers |
CN102799526A (zh) * | 2012-07-10 | 2012-11-28 | 浪潮集团山东通用软件有限公司 | 一种分布式智能调度方法 |
CN103678133A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种用于应用软件云测试的任务调度系统 |
CN105786667A (zh) * | 2016-02-29 | 2016-07-20 | 惠州Tcl移动通信有限公司 | 一种分布式自动化测试方法及系统 |
CN105955880A (zh) * | 2016-04-22 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种分发自动化测试用例的方法、系统及分发服务器 |
-
2016
- 2016-12-27 CN CN201611227327.8A patent/CN106844198B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010025274A1 (en) * | 2008-08-27 | 2010-03-04 | Eric Sven-Johan Swildens | Method and system for testing interactions between web clients and networked servers |
CN102799526A (zh) * | 2012-07-10 | 2012-11-28 | 浪潮集团山东通用软件有限公司 | 一种分布式智能调度方法 |
CN103678133A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种用于应用软件云测试的任务调度系统 |
CN105786667A (zh) * | 2016-02-29 | 2016-07-20 | 惠州Tcl移动通信有限公司 | 一种分布式自动化测试方法及系统 |
CN105955880A (zh) * | 2016-04-22 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种分发自动化测试用例的方法、系统及分发服务器 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515804A (zh) * | 2017-09-08 | 2017-12-26 | 郑州云海信息技术有限公司 | 一种任务机的选择方法、系统及自动化测试系统 |
CN107608774A (zh) * | 2017-09-08 | 2018-01-19 | 新智云数据服务有限公司 | 一种任务调度方法、装置、设备及存储介质 |
CN107678965A (zh) * | 2017-09-30 | 2018-02-09 | 千寻位置网络有限公司 | 自动集成测试方法及系统、服务终端、存储器 |
CN107729251A (zh) * | 2017-10-23 | 2018-02-23 | 中国联合网络通信集团有限公司 | 测试用例管理方法及装置 |
CN108268379B (zh) * | 2018-02-02 | 2020-01-03 | 方欣科技有限公司 | 一种分布式自动化测试方法及装置 |
CN108268379A (zh) * | 2018-02-02 | 2018-07-10 | 方欣科技有限公司 | 一种分布式自动化测试方法及装置 |
CN108874600A (zh) * | 2018-06-07 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器端到端自动化测试任务执行管理系统及方法 |
CN108874600B (zh) * | 2018-06-07 | 2021-10-08 | 郑州云海信息技术有限公司 | 一种服务器端到端自动化测试任务执行管理系统及方法 |
CN109062786A (zh) * | 2018-07-16 | 2018-12-21 | 北京百度网讯科技有限公司 | 测试用例的运行方法、装置及终端 |
CN109189463A (zh) * | 2018-08-28 | 2019-01-11 | 杭州百腾教育科技有限公司 | 一种对程序代码自动进行判断的控制方法及控制装置 |
CN109960619A (zh) * | 2019-02-12 | 2019-07-02 | 众安在线财产保险股份有限公司 | 一种性能测试平台及方法 |
CN110083497A (zh) * | 2019-04-23 | 2019-08-02 | 上海华岭集成电路技术股份有限公司 | 集成电路测试设备机时管理系统 |
CN110083497B (zh) * | 2019-04-23 | 2023-01-31 | 上海华岭集成电路技术股份有限公司 | 集成电路测试设备机时管理系统 |
CN110162481A (zh) * | 2019-05-31 | 2019-08-23 | 北京星网锐捷网络技术有限公司 | 一种软件测试方法、装置、设备以及存储介质 |
CN110471839A (zh) * | 2019-07-11 | 2019-11-19 | 平安普惠企业管理有限公司 | 定时测试任务控制方法、装置、计算机设备及存储介质 |
CN110704311A (zh) * | 2019-09-24 | 2020-01-17 | 香港乐蜜有限公司 | 一种应用程序测试方法、装置、电子设备及可读存储介质 |
CN110704311B (zh) * | 2019-09-24 | 2023-11-21 | 卓米私人有限公司 | 一种应用程序测试方法、装置、电子设备及可读存储介质 |
CN110990261A (zh) * | 2019-11-08 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种测试管理系统、方法及平台 |
CN111190708A (zh) * | 2019-11-19 | 2020-05-22 | 厦门二五八网络科技集团股份有限公司 | 一种自动调度任务的方法及装置 |
CN110990290B (zh) * | 2019-12-13 | 2023-06-06 | 浪潮软件集团有限公司 | 一种通用大数据平台稳定性测试系统及方法 |
CN110990290A (zh) * | 2019-12-13 | 2020-04-10 | 浪潮软件集团有限公司 | 一种通用大数据平台稳定性测试系统及方法 |
CN112416745A (zh) * | 2020-01-21 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 一种测试控制系统、方法及设备 |
CN111694645A (zh) * | 2020-05-26 | 2020-09-22 | 平安普惠企业管理有限公司 | 分布式任务调度系统中任务处理方法及相关装置 |
CN113157569A (zh) * | 2021-04-06 | 2021-07-23 | 深圳市捷视飞通科技股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
CN113157569B (zh) * | 2021-04-06 | 2024-05-24 | 深圳市捷视飞通科技股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
CN113568842A (zh) * | 2021-08-19 | 2021-10-29 | 北京江融信科技有限公司 | 一种批量任务自动化测试方法及系统 |
CN113568842B (zh) * | 2021-08-19 | 2022-03-04 | 北京江融信科技有限公司 | 一种批量任务自动化测试方法及系统 |
CN115454815A (zh) * | 2022-08-12 | 2022-12-09 | 广州极点三维信息科技有限公司 | 一种支持定制化测试任务的自动化测试系统 |
CN115454815B (zh) * | 2022-08-12 | 2023-09-26 | 广州极点三维信息科技有限公司 | 一种支持定制化测试任务的自动化测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106844198B (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844198A (zh) | 一种分布式调度自动化测试平台及方法 | |
CN101946258B (zh) | 基于计算机的业务过程在专用硬件上的基于模型的部署 | |
CN106548670B (zh) | 在线教学平台及在线教学方法 | |
CN108255720A (zh) | 基于云计算架构的软件自动测试系统 | |
CN109347974B (zh) | 提高在线服务质量和集群资源利用率的混合调度系统 | |
CN103024022B (zh) | 一种虚拟机应用服务的管控系统和方法 | |
US7827273B2 (en) | Machine cluster topology representation for automated testing | |
CN110658794B (zh) | 一种制造执行系统 | |
CN107016480A (zh) | 任务调度方法、装置及系统 | |
CN109815002A (zh) | 一种基于在线仿真的分布式并行计算平台及其方法 | |
CN105843182A (zh) | 一种基于oms的电力调度事故预案系统及方法 | |
CN110689223B (zh) | 一种基于rpa控制的机器人批量管理系统 | |
US20080244555A1 (en) | Bundling software updates | |
CN106330987A (zh) | 动态负荷均衡方法 | |
CN107992392A (zh) | 一种用于云渲染系统的自动监控修复系统和方法 | |
CN104112049B (zh) | 基于P2P构架的MapReduce任务跨数据中心调度系统及方法 | |
CN102169562A (zh) | 一种项目计划处理方法及系统 | |
CN110162481A (zh) | 一种软件测试方法、装置、设备以及存储介质 | |
CN109614110A (zh) | 一种消息中间件集中部署的方法和装置 | |
CN107370796A (zh) | 一种基于Hyper TF的智能学习系统 | |
CN110780856B (zh) | 一种基于微服务的用电数据发布平台 | |
CN105338045A (zh) | 一种云计算资源的处理装置、方法及云计算系统 | |
CN113703997A (zh) | 集成多种消息代理的双向异步通信中间件系统及实现方法 | |
CN109800081A (zh) | 一种大数据任务的管理方法及相关设备 | |
CN106845746A (zh) | 一种支持大规模实例密集型应用的云工作流管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |