CN108108296B - 一种云测试方法、服务器及客户端 - Google Patents

一种云测试方法、服务器及客户端 Download PDF

Info

Publication number
CN108108296B
CN108108296B CN201611044654.XA CN201611044654A CN108108296B CN 108108296 B CN108108296 B CN 108108296B CN 201611044654 A CN201611044654 A CN 201611044654A CN 108108296 B CN108108296 B CN 108108296B
Authority
CN
China
Prior art keywords
test
task
tested
channel
state
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.)
Active
Application number
CN201611044654.XA
Other languages
English (en)
Other versions
CN108108296A (zh
Inventor
崔圆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201611044654.XA priority Critical patent/CN108108296B/zh
Publication of CN108108296A publication Critical patent/CN108108296A/zh
Application granted granted Critical
Publication of CN108108296B publication Critical patent/CN108108296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)

Abstract

本发明公开了一种云测试方法、服务器及客户端,包括:为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池;获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用;向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试;接收所述客户端发送的任务测试结果。

Description

一种云测试方法、服务器及客户端
技术领域
本发明涉及云测试技术,尤其涉及一种云测试方法、服务器及客户端。
背景技术
App是基于移动互联网软件及硬件环境的应用软件。App测试就是要找出App中的缺陷(Bug),通过人工和测试工具,判断App系统是否能够满足预期标准。移动App,由于增加了终端、外设和网络等多项元素,因此测试内容和类型也相应增加了。
目前,业界一般采用人工测试和自动化测试(如:测试工具、云测试平台等)两种方法来进行App测试,主要针对App的功能、性能、安全性、终端适配等方面进行测试。其中,云测试平台是基于云计算的一种新型测试方案,测试人员在云测试平台上传App安装包以后,就可以等待测试报告。
常见的云测试平台有阿里云测试平台、百度云测试平台、优测等,然而,这些云测试平台都具有如下缺点的至少之一:
(1)使用成本高,使用门槛高。单台测试设备覆盖测试时间短,且使用费用高昂。
(2)测试过程不稳定,经常出现测试中断、失败等情况。主要原因是业界各个测试平台都是以安卓缺陷桥(ADB,Android Debug Bridge)通道为唯一通道检测手机设备状态,这种技术由于ADB本身的不稳定性导致测试平台设备状态的不稳定性。
(3)业界各测试平台均需要手工上传被测试App安装包,才可以展开测试。这不利于测试的全自动化开展,以及一些需要插桩测试的执行。
(4)测试过程缺少性能、日志(log)、截图等过程数据的采集。
发明内容
为解决上述技术问题,本发明实施例提供了一种云测试方法、服务器及客户端。
本发明实施例提供的云测试方法,包括:
为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池;
获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用;
向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试;
接收所述客户端发送的任务测试结果。
本发明实施例中,所述获取测试任务,包括:
获取与测试任务相关的要素选项,所述要素选项包括:测试项目选项、测试工具选项、测试应用选项、被测设备选项。
本发明实施例中,所述为各个测试项目构建对应的测试素材,包括:
为各个测试项目构建对应的测试工具以及测试应用,形成测试素材资源池,并对所述测试素材资源池中的测试工具以及测试应用进行实时更新;
所述根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,包括:
根据所述测试工具选项,从多个测试工具中下载与所述测试任务相适应的测试工具;
根据所述测试应用选项,从多个测试应用中下载与所述测试任务相适应的测试应用。
本发明实施例中,所述方法还包括:
接收所述客户端发送的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据。
本发明另一实施例提供的云测试方法,包括:
接收服务器发送的测试任务和测试素材,所述测试素材包括:测试工具、被测应用;
根据所述测试任务和测试素材调用对应的被测设备,向调用的被测设备发送所述测试任务和测试素材,以通过所述被测设备进行任务测试;
监控所述被测设备在进行任务测试过程中的任务执行状态,生成任务测试结果;
向服务器发送所述任务测试结果。
本发明实施例中,所述方法还包括:
监测所述被测设备的第一通道和第二通道,以确定所述被测设备的连接状态;
通过所述被测设备的第一通道和第二通道采集所述被测设备的硬件信息;
向服务器发送所述被测设备的连接状态以及硬件信息。
本发明实施例中,所述监测所述被测设备的第一通道和第二通道,以确定所述被测设备的连接状态,包括:
当所述第一通道为正常状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为正常状态且所述第二通道为断开状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为断开状态时,所述被测设备处于离线状态。
本发明实施例中,所述方法还包括:
当所述被测设备处于离线状态时,判断所述被测设备是否有任务正在执行中;
当所述被测设备有任务正在执行中时,判断所述被测设备上一次处于在线状态的时长是否超过指定的门限值;
当所述被测设备上一次处于在线状态的时长超过指定的门限值时,向所述被测设备发送任务终止指令;当所述被测设备上一次处于在线状态的时长未超过指定的门限值时,向所述被测设备发送断线重连指令。
本发明实施例中,所述方法还包括:
获取所述被测设备执行任务测试时的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据;
向服务器发送所述任务测试过程数据。
本发明实施例提供的服务器,包括:
构建单元,用于为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池;
获取单元,用于获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用;
通信单元,用于向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试;接收所述客户端发送的任务测试结果。
本发明实施例中,所述获取单元,还用于获取与测试任务相关的要素选项,所述要素选项包括:测试项目选项、测试工具选项、测试应用选项、被测设备选项。
本发明实施例中,所述构建单元,具体用于为各个测试项目构建对应的测试工具以及测试应用,形成测试素材资源池,并对所述测试素材资源池中的测试工具以及测试应用进行实时更新;
所述获取单元,具体用于根据所述测试工具选项,从多个测试工具中下载与所述测试任务相适应的测试工具;根据所述测试应用选项,从多个测试应用中下载与所述测试任务相适应的测试应用。
本发明实施例中,所述通信单元,还用于接收所述客户端发送的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据。
本发明实施例提供的客户端,包括:
通信单元,用于接收服务器发送的测试任务和测试素材,所述测试素材包括:测试工具、被测应用;根据所述测试任务和测试素材调用对应的被测设备,向调用的被测设备发送所述测试任务和测试素材,以通过所述被测设备进行任务测试;
监控单元,用于监控所述被测设备在进行任务测试过程中的任务执行状态,生成任务测试结果;
所述通信单元,还用于向服务器发送所述任务测试结果。
本发明实施例中,所述监控单元,还用于监测所述被测设备的第一通道和第二通道,以确定所述被测设备的连接状态;
所述通信单元,还用于通过所述被测设备的第一通道和第二通道采集所述被测设备的硬件信息;向服务器发送所述被测设备的连接状态以及硬件信息。
本发明实施例中,当所述第一通道为正常状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为正常状态且所述第二通道为断开状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为断开状态时,所述被测设备处于离线状态。
本发明实施例中,所述客户端还包括:
判断单元,用于当所述被测设备处于离线状态时,判断所述被测设备是否有任务正在执行中;当所述被测设备有任务正在执行中时,判断所述被测设备上一次处于在线状态的时长是否超过指定的门限值;
所述通信单元,还用于当所述被测设备上一次处于在线状态的时长超过指定的门限值时,向所述被测设备发送任务终止指令;当所述被测设备上一次处于在线状态的时长未超过指定的门限值时,向所述被测设备发送断线重连指令。
本发明实施例中,所述通信单元,还用于获取所述被测设备执行任务测试时的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据;向服务器发送所述任务测试过程数据。
本发明实施例的技术方案中,为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池;获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用;向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试;接收所述客户端发送的任务测试结果。本发明实施例提供了一个易于拓展的测试平台,测试平台能够对不同的测试任务进行测试,降低了测试费用。其中,测试工具和被测应用能够动态更新,根据测试任务能够动态获取相应的测试工具和测试素材,专项测试实现了全自动化管理。
附图说明
图1为本发明实施例中进行信息交互的各方硬件实体的示意图;
图2为本发明实施例的云测试方法的流程示意图一;
图3为本发明实施例的云测试方法的流程示意图二;
图4为本发明实施例的调度平台的界面示意图;
图5为本发明实施例的线程示意图;
图6为本发明实施例的测试任务下发流程图;
图7为本发明实施例的任务测试结果回传示意图;
图8为本发明实施例的选择界面示意图;
图9为本发明实施例的连接状态图;
图10为本发明实施例的连接状态的逻辑判断图;
图11为本发明实施例的后台逻辑示意图;
图12为本发明实施例的持续集成逻辑图;
图13为本发明实施例的任务测试过程数据采集逻辑图;
图14为本发明实施例的服务器的结构组成示意图;
图15为本发明实施例的客户端的结构组成示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
图1为本发明实施例中进行信息交互的各方硬件实体的示意图;如图1所示,图1中包括:调度平台、后台服务、被测设备。其中,调度平台通过多个客户端(Client)来实现,这里,客户端可以是个人电脑(PC,Personal Computer),PC不局限于移动PC和固定PC。后台服务通过服务器(Server)来实现。被测设备可以是手机设备,也可以为其他类型的移动终端,例如平板。在本发明实施例中,主要通过调度平台、后台服务以及被测设备三个层面实现移动APP的分布式全自动化测试过程。具体地,质量平台(Web)作为用户入口,主要用于测试任务的下发与任务测试结果的浏览;持续集成(Server)主要用于检测被测项目代码变化,自动构建多种被测应用的安装包;存储集群(DB)主要用于存储被测应用的安装包、测试工具、测试任务详情、测试过程数据、任务测试结果、被测设备信息等内容;后台服务(Server)主要用于接收调度平台(Client)获取到的被测设备信息以及向调度平台(Client)下发测试任务和测试素材;调度平台(Client)主要用于监测被测设备信息、获取被测设备的连接状态、实现任务调度;被测设备(Agent)主要用于采集终端设备的硬件信息、性能数据等。
基于图1所示的系统架构,多台被测设备可以同时执行任务测试,执行任务测试的过程包括:下载最新的测试工具—>下载被测应用—>安装被测应用—>测试执行—>结果上报—>卸载被测应用。其中,在整个执行任务测试的过程中,可以对任务测试的过程进行每秒截图,也可以实时采集log,或者实时采集性能数据,然后,将采集到的过程数据发送给后台服务,便于后台服务进行监控与审计等。
本发明实施例支持多种专项测试工具(如稳定性测试、性能测试、安装包检查测试、静态扫描测试等),并可实现专项测试工具的一键拓展,提供了一个易于拓展的测试平台。针对测试过程中发现的Bug实现了Bug自动上报、自动跟踪、提醒推送等;实现从测试过程到Bug发现、上报再到测试报告输出的测试过程全闭环管理。此外,本发明实施例支持测试工具实时更新,专项测试一键执行,多种过程数据采集展示,从而实现任务监控与审计等。
上述图1的例子只是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1所述的系统结构,基于该系统架构,提出本发明各个实施例。
图2为本发明实施例的云测试方法的流程示意图一,所述云测试方法应用于服务器侧,所述服务器具体用于实现图1所示的后台服务,如图2所示,所述云测试方法包括以下步骤:
步骤201:为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池。
参照图1,持续集成为各个测试项目构建对应的测试工具以及测试应用,形成测试素材资源池,并对所述测试素材资源池中的测试工具以及测试应用进行实时更新。之后,测试工具以及测试应用被存储在存储集群中,形成测试素材资源池,后台服务会从存储集群中下载与所述测试任务对应的测试素材,具体地,根据所述测试工具选项,从多个测试工具中下载与所述测试任务相适应的测试工具;根据所述测试应用选项,从多个测试应用中下载与所述测试任务相适应的测试应用。
参照图12,图12为本发明实施例的持续集成逻辑图,包括:1)持续集成(CI)服务向研发管理(RDM)查询项目最新构建信息;2)RDM返回给CI服务构建的版本(SVN)信息;3)CI服务向被测项目的服务器拉取对应版本代码;4)CI服务器将代码写入云平台的后台服务并记录(check in);5)CI服务查询测试工具插桩信息;6)CI服务插桩、打包;7)CI服务将安装包存入云平台的存储集群。
步骤202:获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用。
本发明实施例中,获取测试任务是指:获取与测试任务相关的要素选项,所述要素选项包括:测试项目选项、测试工具选项、测试应用选项、被测设备选项。
参照图1,质量平台为用户展示后台服务提供的选择界面,用户可以在质量平台上设置与测试任务相关的各个要素选项,这些各个要素选项组成了测试任务。之后,测试任务被存储在存储集群中,测试任务一旦被用户下发,则后台服务会从存储集群中获取到测试任务。
参照图8,图8为本发明实施例的选择界面示意图,从图8可以看出,用户只需通过简单的四步选择即可开始一次专项测试,非常便捷。第一步:测试项目选择;第二步:测试类型选择(对应测试工具选择);第三步:被测应用安装包;第四步:测试设备选择。
步骤203:向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试。
本发明实施例中,客户端是指图1中的调度平台,参照图1,后台服务与调度平台之间通过心跳请求保持通信,后台服务向调度平台下发任务,下发的任务具体包括测试任务和测试素材。然后,调度平台会通过ADB与通用串行总线(USB,Universal Serial Bus)双通道,实现被测设备的硬件信息采集以及接收被测设备上报的连接状态,并基于此,将专项测试任务下发到被测设备并监控任务执行状态。
步骤204:接收所述客户端发送的任务测试结果。
参照图1,调度平台将被测设备的任务测试结果发送给后台服务,任务测试结果包括了任务测试过程中可能出现的各种情况,尤其是测试得到的App缺陷。
本发明实施例中,在被测设备进行任务测试时,调度平台实时监控任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据。然后,调度平台将任务测试过程数据发送给后台服务,便于后台服务进行监控与审计等。
本发明实施例,通过ADB与USB双通道并结合后台算法,避免业界单ADB通道依赖的不稳定性造成的设备闪断问题,减少测试任务因硬件问题造成的执行中断。持续集成技术的引入能够监控代码变化,实现一次构建,多次插桩、打包支持不同专项测试的要求。测试过程通过多线程能够自动采集被测设备的性能数据、截图、log,从而可以实时观察测试运行状况。
图3为本发明实施例的云测试方法的流程示意图二,所述云测试方法应用于客户端侧,所述客户端具体用于实现图1所示的调度平台,如图3所示,所述云测试方法包括以下步骤:
步骤301:接收服务器发送的测试任务和测试素材,所述测试素材包括:测试工具、被测应用。
本发明实施例中,服务器是指图1中的后台服务,参照图1,后台服务与调度平台之间通过心跳请求保持通信,后台服务向调度平台下发任务,下发的任务具体包括测试任务和测试素材。
步骤302:根据所述测试任务和测试素材调用对应的被测设备,向调用的被测设备发送所述测试任务和测试素材,以通过所述被测设备进行任务测试。
本发明实施例中,调度平台通过第一通道与第二通道(双通道),实现被测设备的硬件信息采集以及接收被测设备上报的连接状态。
具体地,监测所述被测设备的第一通道和第二通道,以确定所述被测设备的连接状态;通过所述被测设备的第一通道和第二通道采集所述被测设备的硬件信息;向服务器发送所述被测设备的连接状态以及硬件信息。这里,第一通道可以是ADB通道,第二通道可以是USB通道。
参照图4,图4为本发明实施例的调度平台的界面示意图,在这个界面中,主要显示四个内容,1)平台信息;2)连接状态;3)硬件信息;4)当前任务信息。通过此调度平台,能够实现被测设备的异地管理和测试任务的分发受理。调度平台主要通过ADB与USB双通道实现被测设备的硬件信息采集以及被测设备的连接状态上报;此外,还实现专项测试任务下发到被测设备并监控任务执行状态等。
参照图5,图5为本发明实施例的线程示意图,调度平台具有双线程,其中一个线程为设备检测线程(Client-01),另一个线程为任务控制线程(Client-02)。通过设备检测线程(Client-01)来检测被测设备的硬件信息和连接状态,通过任务控制线程(Client-02)来下发测试任务到调度平台。
参照图6,图6为本发明实施例的测试任务下发流程图,Client-02代表任务调度平台的任务控制线程,Client-02向后台服务查询任务池,这里,Client-02与后台服务之间通过心跳连接保持定时查询;后台服务通知Client-02有待执行任务;Client-02从后台服务中下载待执行的任务信息,包括被测应用的安装包,测试工具的脚本,结果数据采集指标/频率等;Client-02生成设备任务列表并输出。
步骤303:监控所述被测设备在进行任务测试过程中的任务执行状态,生成任务测试结果;向服务器发送所述任务测试结果。
参照图7,图7为本发明实施例的任务测试结果回传示意图,在设备任务列表的基础上,针对每台设备创建新进程(NewProcess),利用NewProcess将测试应用安装到被测终端;而后,NewProcess叉开两路进程,其中一路进程为:创建数据回传线程NewProcess-01;拉起测试应用;从被测设备回传指标数据,上报指标数据;判断测试是否终止,如果终止,则停止采集,如果未终止,则继续从被测设备回传指标数据,上报指标数据。另一路进程为:创建任务控制线程NewProcess-02;拉起测试工具,这里,拉起测试工具后NewProcess-02为祖塞状态;被测设备拉起启动器(Launcher);通知NewProcess-01测试结束。
本发明实施例中,所述监测所述被测设备的第一通道和第二通道,以确定所述被测设备的连接状态,包括:
当所述第一通道为正常状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为正常状态且所述第二通道为断开状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为断开状态时,所述被测设备处于离线状态。
参照图9,图9为本发明实施例的连接状态图,图9上部显示出ADB单通道来确定连接状态,图9下部显示出ADB和USB双通道来确定连接状态。本发明实施例采用被测设备本身的ADB通道与USB通道,通过两种属性结合来确定被测设备当前的连接状态,连接稳定性提高了50%。
更为具体的连接状态的确定方式可参照图10,图10为本发明实施例的连接状态的逻辑判断图,包括:
1)判断是否有新增设备在线;否时,执行2),是时,执行3);
2)判断设备当前是否处于拉起Launcher;是时,将设备空闲权重置加1,否时,将设备空闲权重置置为0;执行6);
3)将新增设备记录到本地设备连接列表,并将该设备空闲权重置为1;
4)判断设备当前是否处于拉起Launcher;否时,执行4);
5)拉起Launcher;
6)判断设备的空闲权重;
这里,当设备空闲权重为0时,则设备处于占用状态;当设备空闲权重大于或等于3时,则设备处于空闲状态;当设备空闲权重为1或2时,则设备处于准备中。
参照图11,图11为本发明实施例的后台逻辑示意图,当所述被测设备处于离线状态时,判断所述被测设备是否有任务正在执行中;当所述被测设备有任务正在执行中时,判断所述被测设备上一次处于在线状态的时长是否超过指定的门限值;当所述被测设备上一次处于在线状态的时长超过指定的门限值时,向所述被测设备发送任务终止指令;当所述被测设备上一次处于在线状态的时长未超过指定的门限值时,向所述被测设备发送断线重连指令。
本发明实施例中,调度平台还获取所述被测设备执行任务测试时的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据;向服务器发送所述任务测试过程数据。
参照图13,图13为本发明实施例的任务测试过程数据采集逻辑图,包括:通过任务控制进程获取测试详情信息;然后,拉起子进程,分别包括1)创建性能数据采集线程;读取终端SD卡性能信息;从终端回传性能数据到PC;性能数据上报后台服务。2)创建设备截图采集线程;截图;从终端回传截图到PC;截图内容上报后台服务。3)创建Log信息采集线程;通过ADB的logcat采集Log;从终端回传Log到PC;Log内容上报后台服务。
这里,1)、2)和3)中的采集过程可以是定时循环采集。此外,PC是指调度平台,终端是指被测设备。
本发明实施例将性能数据采集、Log采集、截图采集作为测试平台的一项基础能力,通用化、可供所有专项测试工具使用。
本发明实施例的云测试方法主要可带来以下有益效果:专项测试一键执行
实现测试工具快速更新、分发;多种过程数据采集展示;全员异地测试设备共享;专项测试工具易于拓展;使用成本低,设备重复利用率高;提供任务监控与审计等功能。
图14为本发明实施例的服务器的结构组成示意图,如图14所示,所述服务器包括:
构建单元1400,用于为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池;
获取单元1401,用于获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用;
通信单元1402,用于向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试;接收所述客户端发送的任务测试结果。
本发明实施例中,所述获取单元1401,还用于获取与测试任务相关的要素选项,所述要素选项包括:测试项目选项、测试工具选项、测试应用选项、被测设备选项。
本发明实施例中,所述构建单元1400,具体用于为各个测试项目构建对应的测试工具以及测试应用,形成测试素材资源池,并对所述测试素材资源池中的测试工具以及测试应用进行实时更新;
所述获取单元1401,具体用于根据所述测试工具选项,从多个测试工具中下载与所述测试任务相适应的测试工具;根据所述测试应用选项,从多个测试应用中下载与所述测试任务相适应的测试应用。
本发明实施例中,所述通信单元1402,还用于接收所述客户端发送的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据。
本领域技术人员应当理解,图14所示的服务器中的各单元的实现功能可参照前述云测试方法的相关描述而理解。图14所示的服务器中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
图15为本发明实施例的客户端的结构组成示意图,如图15所示,所述客户端包括:
通信单元1501,用于接收服务器发送的测试任务和测试素材,所述测试素材包括:测试工具、被测应用;根据所述测试任务和测试素材调用对应的被测设备,向调用的被测设备发送所述测试任务和测试素材,以通过所述被测设备进行任务测试;
监控单元1502,用于监控所述被测设备在进行任务测试过程中的任务执行状态,生成任务测试结果;
所述通信单元1501,还用于向服务器发送所述任务测试结果。
本发明实施例中,所述监控单元1502,还用于监测所述被测设备的第一通道和第二通道,以确定所述被测设备的连接状态;
所述通信单元1501,还用于通过所述被测设备的第一通道和第二通道采集所述被测设备的硬件信息;向服务器发送所述被测设备的连接状态以及硬件信息。
本发明实施例中,当所述第一通道为正常状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为正常状态且所述第二通道为断开状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为断开状态时,所述被测设备处于离线状态。
本发明实施例中,所述客户端还包括:
判断单元1503,用于当所述被测设备处于离线状态时,判断所述被测设备是否有任务正在执行中;当所述被测设备有任务正在执行中时,判断所述被测设备上一次处于在线状态的时长是否超过指定的门限值;
所述通信单元1501,还用于当所述被测设备上一次处于在线状态的时长超过指定的门限值时,向所述被测设备发送任务终止指令;当所述被测设备上一次处于在线状态的时长未超过指定的门限值时,向所述被测设备发送断线重连指令。
本发明实施例中,所述通信单元1501,还用于获取所述被测设备执行任务测试时的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据;向服务器发送所述任务测试过程数据。
本领域技术人员应当理解,图15所示的客户端中的各单元的实现功能可参照前述云测试方法的相关描述而理解。图15所示的客户端中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (16)

1.一种云测试方法,其特征在于,所述方法包括:
为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池;
获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用;
向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试;
接收所述客户端发送的被测设备的连接状态、硬件信息以及任务测试结果,所述被测设备的连接状态为所述客户端监测所述被测设备的第一通道和第二通道确定的;所述被测设备的硬件信息为所述客户端通过所述被测设备的第一通道和第二通道采集得到;
所述被测设备的连接状态由客户端通过以下方法确定:
通过所述被测设备的第一通道和第二通道检测到所述被测设备时,设置所述被测设备的空闲权重;
根据所述被测设备的空闲权重确定所述被测设备的连接状态。
2.根据权利要求1所述的云测试方法,其特征在于,所述获取测试任务,包括:
获取与测试任务相关的要素选项,所述要素选项包括:测试项目选项、测试工具选项、测试应用选项、被测设备选项。
3.根据权利要求2所述的云测试方法,其特征在于,所述为各个测试项目构建对应的测试素材,包括:
为各个测试项目构建对应的测试工具以及测试应用,形成测试素材资源池,并对所述测试素材资源池中的测试工具以及测试应用进行实时更新;
所述根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,包括:
根据所述测试工具选项,从多个测试工具中下载与所述测试任务相适应的测试工具;
根据所述测试应用选项,从多个测试应用中下载与所述测试任务相适应的测试应用。
4.根据权利要求1至3任一项所述的云测试方法,其特征在于,所述方法还包括:
接收所述客户端发送的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据。
5.一种云测试方法,其特征在于,所述方法包括:
接收服务器发送的测试任务和测试素材,所述测试素材包括:测试工具、被测应用;
根据所述测试任务和测试素材调用对应的被测设备,向调用的被测设备发送所述测试任务和测试素材,以通过所述被测设备进行任务测试;
监测所述被测设备的第一通道和第二通道,以通过所述被测设备的第一通道和第二通道检测到所述被测设备时,设置所述被测设备的空闲权重;并根据所述被测设备的空闲权重确定所述被测设备的连接状态;
通过所述被测设备的第一通道和第二通道采集所述被测设备的硬件信息;
监控所述被测设备在进行任务测试过程中的任务执行状态,生成任务测试结果;
向服务器发送所述被测设备的连接状态、硬件信息以及所述任务测试结果。
6.根据权利要求5所述的云测试方法,其特征在于,所述监测所述被测设备的第一通道和第二通道,以确定所述被测设备的连接状态,包括:
当所述第一通道为正常状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为正常状态且所述第二通道为断开状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为断开状态时,所述被测设备处于离线状态。
7.根据权利要求6所述的云测试方法,其特征在于,所述方法还包括:
当所述被测设备处于离线状态时,判断所述被测设备是否有任务正在执行中;
当所述被测设备有任务正在执行中时,判断所述被测设备上一次处于在线状态的时长是否超过指定的门限值;
当所述被测设备上一次处于在线状态的时长超过指定的门限值时,向所述被测设备发送任务终止指令;当所述被测设备上一次处于在线状态的时长未超过指定的门限值时,向所述被测设备发送断线重连指令。
8.根据权利要求5至7任一项所述的云测试方法,其特征在于,所述方法还包括:
获取所述被测设备执行任务测试时的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据;
向服务器发送所述任务测试过程数据。
9.一种服务器,其特征在于,所述服务器包括:
构建单元,用于为各个测试项目构建对应的测试素材,将所述各个测试项目的测试素材存入测试素材资源池;
获取单元,用于获取测试任务,根据所述测试任务从测试素材资源池中下载与所述测试任务对应的测试素材,所述测试素材包括:测试工具、被测应用;
通信单元,用于向客户端发送所述测试任务和测试素材,以通过所述客户端根据所述测试任务和测试素材调用对应的被测设备进行任务测试;接收所述客户端发送的被测设备的连接状态、硬件信息以及任务测试结果,所述被测设备的连接状态为所述客户端通过所述被测设备的第一通道和第二通道检测到所述被测设备时,设置所述被测设备的空闲权重;并根据所述被测设备的空闲权重确定得到;所述被测设备的硬件信息为所述客户端通过所述被测设备的第一通道和第二通道采集得到。
10.根据权利要求9所述的服务器,其特征在于,所述获取单元,还用于获取与测试任务相关的要素选项,所述要素选项包括:测试项目选项、测试工具选项、测试应用选项、被测设备选项。
11.根据权利要求10所述的服务器,其特征在于,所述构建单元,具体用于为各个测试项目构建对应的测试工具以及测试应用,形成测试素材资源池,并对所述测试素材资源池中的测试工具以及测试应用进行实时更新;
所述获取单元,具体用于根据所述测试工具选项,从多个测试工具中下载与所述测试任务相适应的测试工具;根据所述测试应用选项,从多个测试应用中下载与所述测试任务相适应的测试应用。
12.根据权利要求9至11任一项所述的服务器,其特征在于,所述通信单元,还用于接收所述客户端发送的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据。
13.一种客户端,其特征在于,所述客户端包括:
通信单元,用于接收服务器发送的测试任务和测试素材,所述测试素材包括:测试工具、被测应用;根据所述测试任务和测试素材调用对应的被测设备,向调用的被测设备发送所述测试任务和测试素材,以通过所述被测设备进行任务测试;
监控单元,用于监控所述被测设备在进行任务测试过程中的任务执行状态,生成任务测试结果;还用于监测所述被测设备的第一通道和第二通道,以通过所述被测设备的第一通道和第二通道检测到所述被测设备时,设置所述被测设备的空闲权重;以及根据所述被测设备的空闲权重确定所述被测设备的连接状态;
所述通信单元,还用于通过所述被测设备的第一通道和第二通道采集所述被测设备的硬件信息;以及向服务器发送所述被测设备的连接状态、硬件信息以及所述任务测试结果。
14.根据权利要求13所述的客户端,其特征在于,
当所述第一通道为正常状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为正常状态时,所述被测设备处于在线状态;
当所述第一通道为正常状态且所述第二通道为断开状态时,所述被测设备处于在线状态;
当所述第一通道为断开状态且所述第二通道为断开状态时,所述被测设备处于离线状态。
15.根据权利要求14所述的客户端,其特征在于,所述客户端还包括:
判断单元,用于当所述被测设备处于离线状态时,判断所述被测设备是否有任务正在执行中;当所述被测设备有任务正在执行中时,判断所述被测设备上一次处于在线状态的时长是否超过指定的门限值;
所述通信单元,还用于当所述被测设备上一次处于在线状态的时长超过指定的门限值时,向所述被测设备发送任务终止指令;当所述被测设备上一次处于在线状态的时长未超过指定的门限值时,向所述被测设备发送断线重连指令。
16.根据权利要求13至15任一项所述的客户端,其特征在于,所述通信单元,还用于获取所述被测设备执行任务测试时的任务测试过程数据,所述任务测试过程数据包括以下至少之一:测试性能数据、测试日志数据、测试截图数据;向服务器发送所述任务测试过程数据。
CN201611044654.XA 2016-11-24 2016-11-24 一种云测试方法、服务器及客户端 Active CN108108296B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611044654.XA CN108108296B (zh) 2016-11-24 2016-11-24 一种云测试方法、服务器及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611044654.XA CN108108296B (zh) 2016-11-24 2016-11-24 一种云测试方法、服务器及客户端

Publications (2)

Publication Number Publication Date
CN108108296A CN108108296A (zh) 2018-06-01
CN108108296B true CN108108296B (zh) 2020-07-28

Family

ID=62203698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611044654.XA Active CN108108296B (zh) 2016-11-24 2016-11-24 一种云测试方法、服务器及客户端

Country Status (1)

Country Link
CN (1) CN108108296B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254816A (zh) * 2018-08-22 2019-01-22 中国平安人寿保险股份有限公司 素材处理方法及装置、存储介质和电子设备
CN109960652A (zh) * 2019-02-13 2019-07-02 平安科技(深圳)有限公司 测试设备的共享方法、装置、存储介质及计算机设备
CN111431758B (zh) * 2020-02-20 2022-05-31 平安科技(深圳)有限公司 云网络设备的测试方法、装置、存储介质和计算机设备
CN111654416B (zh) * 2020-05-29 2021-12-24 北京智网信测科技有限公司 一种物联网测试云平台和方法
CN113419932B (zh) * 2021-05-26 2022-05-06 荣耀终端有限公司 一种设备性能分析方法和装置
CN114546878A (zh) * 2022-03-04 2022-05-27 上海一谈网络科技有限公司 服务化的安卓monkey测试系统、方法、电子设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927255A (zh) * 2013-01-16 2014-07-16 腾讯科技(深圳)有限公司 基于云测试系统的软件测试方法、云测试系统及其客户端
CN104182370A (zh) * 2014-08-07 2014-12-03 广州金山网络科技有限公司 一种数据传输方法、装置及移动终端
CN104317718A (zh) * 2014-11-04 2015-01-28 浪潮电子信息产业股份有限公司 一种基于云计算的软件测试服务系统
CN104699616A (zh) * 2015-03-31 2015-06-10 北京奇虎科技有限公司 一种应用测试的方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929280B2 (en) * 2014-03-11 2021-02-23 Verizon Patent And Licensing Inc. Scheduling tests of software for a cloud computing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927255A (zh) * 2013-01-16 2014-07-16 腾讯科技(深圳)有限公司 基于云测试系统的软件测试方法、云测试系统及其客户端
CN104182370A (zh) * 2014-08-07 2014-12-03 广州金山网络科技有限公司 一种数据传输方法、装置及移动终端
CN104317718A (zh) * 2014-11-04 2015-01-28 浪潮电子信息产业股份有限公司 一种基于云计算的软件测试服务系统
CN104699616A (zh) * 2015-03-31 2015-06-10 北京奇虎科技有限公司 一种应用测试的方法、装置及系统

Also Published As

Publication number Publication date
CN108108296A (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
CN108108296B (zh) 一种云测试方法、服务器及客户端
CN108399132B (zh) 一种调度测试方法、装置及存储介质
CN105302722B (zh) Cts自动测试方法及装置
WO2022127504A1 (zh) 网元管理方法、装置及存储介质
CN110457197B (zh) 服务测试方法、装置、计算机设备和存储介质
CN113485918B (zh) 一种测试方法、装置、电子设备及存储介质
CN113900834B (zh) 基于物联网技术的数据处理方法、装置、设备及存储介质
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
CN111913884A (zh) 分布式测试方法、装置、设备、系统和可读存储介质
CN113778486A (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN111143170A (zh) 云手机监控系统和方法
CN113377665A (zh) 基于容器技术的测试方法、装置、电子设备及存储介质
CN103605610A (zh) 一种基于Hadoop 的软件测试系统与方法
CN113419818A (zh) 基础组件部署方法、装置、服务器及存储介质
US11777810B2 (en) Status sharing in a resilience framework
CN110795330A (zh) 一种Monkey压力测试的方法和装置
CN112596750B (zh) 应用测试方法、装置、电子设备及计算机可读存储介质
CN115437865A (zh) 一种硬盘异常掉电测试方法、装置、设备及介质
CN112650666B (zh) 一种软件测试系统、方法、装置、控制设备及存储介质
CN110445628B (zh) 基于nginx的服务器及其部署、监控的方法和装置
CN113849356A (zh) 一种设备测试方法、装置、电子设备和存储介质
CN114039848A (zh) 一种实现InCloudInsight管理平台高可用的方法、装置及设备
CN113434382A (zh) 数据库性能监控方法、装置、电子设备及计算机可读介质
CN112799910A (zh) 层次化监控方法及装置
CN112131077A (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