CN113836040A - 应用程序的测试方法及装置、计算机存储介质、电子设备 - Google Patents

应用程序的测试方法及装置、计算机存储介质、电子设备 Download PDF

Info

Publication number
CN113836040A
CN113836040A CN202111294498.3A CN202111294498A CN113836040A CN 113836040 A CN113836040 A CN 113836040A CN 202111294498 A CN202111294498 A CN 202111294498A CN 113836040 A CN113836040 A CN 113836040A
Authority
CN
China
Prior art keywords
tested
terminal
application
component
application program
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
Application number
CN202111294498.3A
Other languages
English (en)
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.)
Yancheng Tianyanchawei Technology Co.,Ltd.
Original Assignee
Yancheng Jindi Technology 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 Yancheng Jindi Technology Co Ltd filed Critical Yancheng Jindi Technology Co Ltd
Priority to CN202111294498.3A priority Critical patent/CN113836040A/zh
Publication of CN113836040A publication Critical patent/CN113836040A/zh
Pending legal-status Critical Current

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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了一种应用程序的测试方法及装置、计算机存储介质、电子设备以及测试系统,应用程序的测试方法包括:测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。由此可见,通过所述代理服务和所述组件的配合,可以获取所述待测应用程序的行为数据,从而可以有效地实现故障定位和排除。

Description

应用程序的测试方法及装置、计算机存储介质、电子设备
技术领域
本申请涉及数据处理技术领域,具体涉及一种应用程序的测试方法及装置、计算机存储介质、电子设备以及测试系统。
背景技术
基于大数据解决方案,通过对收集的企业数据进行清洗分析、整理等一系列深度挖掘,进而提供数据综合查询或分类查询服务,比如查询企业相关的信息,包括投资情况、股东情况等,当这些信息有变化时,还可以查询到变化前后的信息。
实现上述数据查询的应用程序,在具体发布之前都要进行测试。但是现有技术提供的测试方案,在测试过程中,测试主机仅仅向待测应用程序发送控制指令以模仿用户的操作,当出现待测应用程序出现故障时,测试主机仅仅保留了应用程序故障时的截图,由此导致无法有效的进行故障定位和排除。
发明内容
本申请实施例提供一种应用程序的测试方法及装置、计算机存储介质、电子设备以及测试系统,用以克服或者缓解现有技术中存在的上述技术问题。
本申请采用的技术方案为:
一种应用程序的测试方法,其包括:
测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;
测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
可选地,一实施例中,所述测试代理服务获取运行所述待测应用程序的终端的ID之后,包括:
所述测试代理服务根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系,并将所述对应关系传输给所述组件;
或者,所述测试代理服务将所述终端的ID传输给所述组件,由所述组件根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系。
可选地,一实施例中,所述测试代理服务将所述行为数据传输给所述组件,包括:所述测试代理服务响应于所述组件的数据拉取请求,将所述行为数据传输给所述组件。
可选地,一实施例中,若存在多个所述终端,每个终端上运行一个待测应用程序,则所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID。
可选地,一实施例中,所述待测应用程序为轻量级待测应用程序,与应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序。
一种应用程序的测试方法,其包括:
组件获取终端与所述终端运行的所述待测应用程序之间的对应关系,所述对应关系基于测试代理服务获取到的运行所述待测应用程序的所述终端的ID建立;
所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
所述组件从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
可选地,一实施例中,所述组件获取终端与所述终端运行的所述待测应用程序之间的对应关系之前,包括:
所述组件获取由所述测试代理服务根据所述终端的ID建立的所述对应关系;
或者,所述组件获取所述测试代理服务传输的所述终端的ID,并根据所述终端的ID建立所述对应关系。
可选地,一实施例中,所述组件从所述测试代理服务获取所述行为数据,包括:所述组件向所述测试代理服务发送数据拉取请求,以从所述测试代理服务获取所述行为数据。
可选地,一实施例中,若存在多个所述终端,每个终端上运行一个待测应用程序,则所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID。
可选地,一实施例中,所述组件获取终端与所述终端运行的所述待测应用程序之间的对应关系之前,所述方法包括:所述组件基于其上设置的分布式锁,按照预定的先后启动顺序依次启动多个所述终端上的待测应用程序;
对应地,各个终端与其运行的所述待测应用程序之间的对应关系基于其上待测应用程序的启动顺序依次建立。
可选地,一实施例中,所述待测应用程序为轻量级待测应用程序,与所述应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序。
可选地,一实施例中,多个终端被分成若干组;
对应地,所述对所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据,包括:所述组件以相同的操作命令操作同一组的所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据,其中,针对不同组的所述终端上的待测应用程序,以不同操作命令进行操作。
可选地,一实施例中,所述方法还包括:对出现故障时待测应用程序的页面进行截图操作,以进行故障排查。
可选地,一实施例中,所述确定待测应用程序出现故障时的故障详情之后,包括:对所有待测应用程序出现的故障详情进行统计,并进行聚类分析。
可选地,一实施例中,所述组件设置在测试主机上,所述测试代理服务设置在物理上独立于与所述测试主机的代理主机上;或者,所述组件和所述测试代理服务均设置在所述测试主机上,且所述组件与所述测试代理服务之间在逻辑上相互独立。
一种待测应用程序的测试装置,其包括:
ID获取单元,用于测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
数据获取单元,用于测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;
数据传输单元,用于测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
一种待测应用程序的测试装置,其包括:
关系获取单元,用于组件获取终端与所述终端运行的所述待测应用程序之间的对应关系,所述对应关系基于测试代理服务获取到的运行所述待测应用程序的所述终端的ID建立;
操作单元,用于所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
数据获取单元,用于所述组件从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
一种计算机存储介质,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施本申请实施例任一项所述的方法。
一种电子设备,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本申请实施例任一项所述的方法。
一种待测应用程序的测试系统,其包括:测试代理服务以及组件,其中:
所述测试代理服务用于获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
所述组件用于操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
所述测试代理服务还用于获取所述行为数据,并将所述行为数据传输给所述组件;
所述组件还用于获取所述对应关系以及从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
本申请实施例,通过测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情,由此可见,通过所述代理服务和所述组件的配合,可以获取所述待测应用程序的行为数据,从而可以有效地实现故障定位和排除。
附图说明
图1为本申请实施例用户使用应用程序的场景示意图;
图2A为本申请实施例一种应用程序的测试场景示意图;
图2B为本申请实施例再一种应用程序的测试场景示意图;
图2C为本申请实施例还一种应用程序的测试场景示意图;
图3为本申请实施例中应用程序的测试系统一结构示意图;
图4为本申请实施例中应用程序的测试系统另一结构示意图;
图5为本申请实施例中应用程序的测试方法的一流程示意图;
图6为本申请实施例中应用程序的测试方法的另一流程示意图;
图7为本申请实施例应用程序的测试装置的一结构示意图;
图8为本申请实施例应用程序的测试装置的另一结构示意图;
图9为本申请实施例电子设备的结构示意图。
具体实施方式
为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
图1为本申请实施例用户使用应用程序的场景示意图;如图1所示,该应用场景针对一数据查询系统,该数据查询系统包括终端101、应用服务器102,应用服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端101以及上述应用服务器102可以通过无线通信方式(如网络)进行直接或间接地连接,本申请在此不做限制。
为了确保查询的响应速度和效率,所述应用服务器102上设置有基准数据库、ES数据库、详情数据库,所述基准数据库中存储基准ES数据和详情数据,所述ES数据库从存储有ES数据,所述详情数据库中存储有ES数据对应的详情数据,而所述ES数据库存储的ES数据和所述详情数据库存储的详情数据从所述基准数据库同步而来。用户使用终端上安装的待测应用程序进行数据查询时,检索的结果数据是直接来自于所述ES数据库、所述述详情数据库。
此处需要说明的是,设置所述ES数据库、所述述详情数据库、所述基准数据库,所述数据正确性的验证装置的服务器不做特别限定,比如可以在同一台物理服务上但在逻辑上分开,也可以在不同的物理服务器上。
为了确保上述待测应用程序可以正常工作,在所述待测应用程序发布前,需要对待测应用程序进行测试发现可能存在的故障,并进一步进行故障排除。为此,参见图2A,图2A为本申请实施例一种应用程序的测试场景示意图;如图2A所示,在该应用场景中包括待测应用程序的测试系统,以及待测应用程序,所述待测应用程序安装在若干个终端上,所述待测应用程序的测试系统用于对所述待测应用程序进行测试,所述待测应用程序的测试系统具体包括:测试主机201以及测试代理服务202,测试主机201上设置有操作应用程序运行的组件211,其中:
测试代理服务202用于获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
操作应用程序运行的组件211用于操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务202的行为数据;
所述测试代理服务202还用于获取所述行为数据,并将所述行为数据传输给所述组件211;
所述组件211还用于获取所述对应关系以及从所述测试代理服务202获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
测试中使用的应用服务器可以是真实应用服务器,也可以搭建的模拟真实应用服务器的服务器。
图2B为本申请实施例再一种应用程序的测试场景示意图;图2C为本申请实施例还一种应用程序的测试场景示意图;如图2B所示,在该应用场景中,把终端进行了分组,相当于对待测应用程序分成了2组,一组待测应用程序对应一个测试代理服务,从而使得该测试场景中包括2个测试代理服务,多个测试代理服务对应一个测试主机。当然,在其他实施例中,待测应用程序也可以分成更多组,从而对应更多的测试代理服务。
如图2C所示,与上述图2B不同的是,本实施例中,配置了不同的测试主机,把终端进行了分组,相当于对待测应用程序分成了2组,2组待测应用程序对应的行为数据传输给同一个测试代理服务,通过这个测试代理服务传输给不同的测试主机,相当于一个测试主机对应一组待测应用程序,从而由不同的组件根据不同组待测应用程序的所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
图2A实施例中,有关所述组件和所述测试代理服务的详细示例性说明可参见下述实施例的记载。
针对上述图2A的应用场景,参见图3、图4,结合应用场景,提供两个测试系统的示例性结构。图3为本申请实施例中应用程序的测试系统一结构示意图;图4为本申请实施例中应用程序的测试系统另一结构示意图;如图3所示,所述组件设置在测试主机上,所述测试代理服务设置在物理上独立于与所述测试主机的代理主机上;如图4所示,所述组件和所述测试代理服务均设置在所述测试主机上,且所述组件与所述测试代理服务之间在逻辑上相互独立。
上述实施例中,所述组件又可以称之自动化测试程序,所述测试代理服务又可以称之proxy服务。所述测试主机也可以称之为测试服务器,所述代理主机又可以称之为代理服务器。
以下分别以所述测试代理服务和所述组件为执行主体,对上述待测应用程序的测试系统实时测试的过程进行示例性说明。
图5为本申请实施例中应用程序的测试方法的一流程示意图;如图5所示,本实施例中,以测试代理服务为执行主体进行示例性说明。具体地,所述应用程序的测试方法包括:
S501、测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
可选地,为了建立所述对应关系,在本实施例中或者其他实施例中,在步骤S501之后、步骤S503之前,所述测试方法还可以包括:所述测试代理服务根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系,并将所述对应关系传输给所述组件。
可替代地,为了建立所述对应关系,在本实施例中或者其他实施例中,在步骤S501之后、步骤S502之前,所述测试代理服务将所述终端的ID传输给所述组件,由所述组件根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系。
当然,此处需要说明的是,上述建立所述对应关系的步骤具体也可以在步骤S503之前。
具体地,本实施例中,所述对应关系可以索引的形式体现或者以路由表的形式体现。
示例性,在一应用场景中,如果仅仅有一个终端,则由所述组件向所述终端发送程序启动指令,以启动所述终端上的待测应用程序,而所述测试代理服务从所述终端获取运行所述待测应用程序的终端的ID,再将所述终端的ID传输给所述组件,由所述组件根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系;或者,所述测试代理服务根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系,并将所述对应关系传输给所述组件,从而可以应对所述组件启动待测应用程序时无法通过参数传入的方式获取所述终端的ID,进而无法获取到所述对应关系的情形。
具体地,在其他一应用场景中,若存在多个所述终端(终端的类型可以相同,也可以不同),每个终端上运行一个待测应用程序,则可以由所述组件按照所述启动顺序依次向多个所述终端发送程序启动指令,以依次启动多个所述终端上的待测应用程序,而所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID,再将所述终端的ID传输给所述组件,由所述组件根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系;或者,所述测试代理服务根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系,并将所述对应关系传输给所述组件,从而可以应对所述组件启动待测应用程序时无法通过参数传入的方式获取所述终端的ID,进而无法获取到所述对应关系的情形。另外,由于存在多个待测应用程序与所述组件进行交互,以建立所述对应关系过程,会发生肯定的交互冲突,因此,通过上述依次启动的方式,使得每次只有一个待测应用程序与所述组件进行交互,在可以有效确定出所述对应关系的同时,还可以避免交互冲突。
具体地,在本实施例或者其他实施例中,为了有效实现上述对应关系的建立,既可以应对所述组件启动待测应用程序时无法通过参数传入的方式获取所述终端的ID,进而无法获取到所述对应关系的情形,又可以避免所述交互冲突,在所述组件上设置有分布式锁,所述分布式锁用于使得所述组件按照预定的先后启动顺序依次启动多个所述终端上的待测应用程序;
对应地,各个终端与其运行的所述待测应用程序之间的对应关系基于其上待测应用程序的启动顺序依次建立。
另外,上述能建立对应关系的过程又可以称之为拨号过程。因此,对于存在多个终端的情形,所述组件每向其中一个终端发送程序启动指令,启动该一个终端上的待测应用程序,而所述测试代理服务从该一个终端按获取运行所述待测应用程序的该一个终端的ID,再将该一个终端的ID传输给所述组件,由所述组件根据该一个终端的ID建立该终端与其运行的所述待测应用程序之间的对应关系;或者,所述测试代理服务根据该一个终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系,并将所述对应关系传输给所述组件中,即:每完成一次程序启动指令--待测应用程序启动--终端的ID的获取---终端的ID的传输-对应关系的建立--对应关系的获取,可以称之为一次拨号过程,有多个终端,则存在多次拨号过程。由于每次拨号过程的耗时比较短,因此,即使存在多个终端需要多次拨号过程,整体的耗时也比较短,因此,通过这种拨号过程,简单高效地实现了对应关系的建立,以使组件可获取到建立的对应关系。
当然,此处对于拨号过程的划分仅仅是示例性说明,并非唯一限定一次拨号过程必须或者仅有程序启动指令--待测应用程序启动--终端的ID的获取---终端的ID的传输-对应关系的建立--对应关系的获取的处理过程。
为此,所述测试代理服务响应于所述组件每次发送的轮询拉取关系的请求,将其中一个所述对应关系(由测试代理服务建立所述对应关系),或者一个所述终端的ID传输给所述组件(由所述终端建立所述对应关系),从而有效地实现了一次拨号过程。
或者,可替代地,所述测试代理服务也可以将建立的所述对应关系(由测试代理服务建立所述对应关系),或者一个所述终端的ID实时主动地推送给所述组件,即每建立一个对应关系,或者每收到一个所述终端的ID就立即或者在预设的时间范围内推送给所述组件。
进一步地,在一种应用场景中,由于建立所述对应关系时只需要设备的ID,而不涉及行为数据的产生,因此,终端上安装的待测应用程序可以为轻量级程序。当具有多个终端时,比如按照预定的先后启动顺序启动的待测应用程序为轻量级待测应用程序,而与应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序,从而提高测试的灵活性。
此处,轻量级待测应用程序只要可以实现终端的ID确定即可。
S502、测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;
本实施例中,如前所述,与应用服务器进行交互以产生行为数据的待测应用程序优选为实际要发布的应用程序,从而有效地实现待测应用程序的客观测试。
本实施例中,所述待测应用程序在所述组件的控制下运行,用户操作所述待测应用程序的过程(比如登录,输入,点击等),从而实现了测试过程的自动化,降低了测试的成本,避免了人为操作大致的主观失误导致测试结果有错的情形发生。
当然,在一些实施例中,如果仅仅对实际要发布的应用程序的若干个功能进行测试,该待测应用程序也可以为只具有该若干个功能的应用程序,而可以不是具有全部功能的应用程序。或者,待测应用程序可以为实际要发布的应用程序,即可以理解为具有全部的应用程序,而在测试时,对安装待测应用程序的终端进行分组,进而对待测应用程序进行分组,以实现对不同组的待测应用程序基于功能划分的测试,该测试可以包括功能测试,性能测试中至少其一。
具体地,所述行为数据可以包括所述待测应用程序与所述应用服务器进行交互的端口信息,从而便于在进行故障定位时,确定出故障对应的端口,将端口、终端对应起来,相当于将端口和待测应用程序对应起来,即可知道发生故障时,是那个终端的应用程序,以及与所述应用程序进行交互时使用的端口,以便于进行故障的准确定位和有效排除。
S503、测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
具体地,本实施例中,步骤S503中,所述测试代理服务将所述行为数据传输给所述组件时具体可以包括:所述测试代理服务响应于所述组件的数据拉取请求,将所述行为数据传输给所述组件。此处,所述传输可以以并行方式传输,或者也可以类似上述分布式锁,按照串行方式传输,或者串行方式和并行方式混合的方式传输。
可替代地,在其他实施例中,所述测试代理服务也可以将所述组件的数据拉取请求主动实时地推送给所述组件,此处,所述推送可以以并行方式推送,或者也可以类似上述分布式锁,按照串行方式推送,或者串行方式和并行方式混合的方式推送。
图6为本申请实施例中应用程序的测试方法的另一流程示意图;如图6所示,本实施例中,以所述组件为方法的执行主体进行简要说明,而具体的详细说明可参见上述图5所示。具体地,应用程序的测试方法包括:
S601、组件获取终端与所述终端运行的所述待测应用程序之间的对应关系,所述对应关系基于测试代理服务获取到的运行所述待测应用程序的所述终端的ID建立;
具体地,本实施例或者其他实施例中,所述步骤S601之前,步骤S602之前(或者,述步骤S601之前,所述步骤S603之前),包括:
所述组件获取由所述测试代理服务根据所述终端的ID建立的所述对应关系;
或者,所述组件获取所述测试代理服务传输的所述终端的ID,并根据所述终端的ID建立所述对应关系。
即,所述对应关系可以由测试代理服务建立并传输给所述组件,从而使得所述组件从所述测试代理服务获取所述对应关系,或者,所述对应关系由所述组件来建立并存储在本地,从而使得所述组件从其本地获取所述对应关系。
具体地,本实施例或者其他实施例中,若存在一个终端,该终端上运行一个待测应用程序,则所述测试代理服务直接从所述终端获取运行所述待测应用程序的终端的ID。
具体地,本实施例或者其他实施例中,若存在多个所述终端,每个终端上运行一个待测应用程序,则所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID,详细说明可参见上述图5实施例说明。
具体地,本实施例或者其他实施例中,组件获取终端与所述终端运行的所述待测应用程序之间的对应关系之前,所述方法包括:所述组件基于其上设置的分布式锁,按照预定的先后启动顺序依次启动多个所述终端上的待测应用程序;对应地,各个终端与其运行的所述待测应用程序之间的对应关系基于其上待测应用程序的启动顺序依次建立。有关基于分布式锁进行对应关系的建立,可参见上述图5的实施例。
如图5的实施例所述,所述终端的ID,所述对应关系可以由测试代理基于所述组件的拉取请求,传输给所述组件,也可以由测试代理服务主动推送给所述组件,详细过程请参见上述图5实施例的记载。
具体地,本实施例或者其他实施例中,所述待测应用程序为轻量级待测应用程序,与所述应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序,详细说明可参见上述图5的实施例。
S602、所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
本实施例或者,其他实施例中,若存在多个终端,则多个终端被分成若干组,以将多个待测应用程序分成若干组,比如大于或者等于两组;
对应地,步骤S602中,所述对所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据,可以包括:所述组件以相同的操作命令操作同一组的所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据,其中,针对不同组的所述终端上的待测应用程序,以不同操作命令进行操作,有关此步骤的说明详细请参见上述图5的实施例。
S603、所述组件从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
具体地,本实施例或者其他实施例中,所述组件从所述测试代理服务获取所述行为数据,包括:所述组件向所述测试代理服务数据拉取请求,以从所述测试代理服务获取所述行为数据,详细可参见上述图5的实施例。
如前所述,也可以由测试代理服务将所述行为数据推送给所述组件,详细可参见上述图5所示实施例。
进一步地,在上述图6所示实施例的基础上,在其他实施例或者图6所示实施例中,在步骤S603中,或者步骤S603之后还可以包括:对出现故障时待测应用程序的页面进行截图操作,以进行故障排查,比如有的弹框有没有弹出来等等。
进一步地,在上述图6所示实施例的基础上,在其他实施例或者图6所示实施例中,所述确定待测应用程序出现故障时的故障详情之后,包括:对所有待测应用程序出现的故障详情进行统计,并进行聚类分析,以进行故障详情的直观展示,便于进行故障的排除。
在进行故障确定时,基于出现故障的行为数据,去查询测试日志,调取与行为数据相关联的测试数据,从而快速地实现故障的定位以及排除。
图7为本申请实施例应用程序的测试装置的一结构示意图;如图7所示,对应于上述图5实施例,应用程序的测试装置包括:
ID获取单元701,用于测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
数据获取单元702,用于测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;
数据传输单元703,用于测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
可选地,在本实施例或者其他实施例中,所述应用程序的测试装置还包括:关系建立单元,用于在所述测试代理服务获取运行所述待测应用程序的终端的ID之后,所述测试代理服务根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系,并将所述对应关系传输给所述组件;
或者,所述ID获取单元进一步用于所述测试代理服务将所述终端的ID传输给所述组件,由所述组件根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系。
可选地,在本实施例或者其他实施例中,所述数据传输单元具体用于所述测试代理服务响应于所述组件的数据拉取请求,将所述行为数据传输给所述组件。
可选地,在本实施例或者其他实施例中,若存在多个所述终端,每个终端上运行一个待测应用程序,则所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID。
可选地,在本实施例或者其他实施例中,所述组件上设置有分布式锁,所述分布式锁用于使得所述组件按照预定的先后启动顺序依次启动多个所述终端上的待测应用程序;对应地,各个终端与其运行的所述待测应用程序之间的对应关系基于其上待测应用程序的启动顺序依次建立。
可选地,在本实施例或者其他实施例中,搜书待测应用程序为轻量级待测应用程序,与应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序。
此处,本实施例中未提及但图5实施例中记载的内容,也在图7实施例的范围内,比如上述有关推送的技术实现、拨号过程的实现、轮询的实现等。
图8为本申请实施例应用程序的测试装置的另一结构示意图;对应于上述图6,如图8所示,应用程序的测试装置包括:
关系获取单元801,用于组件获取终端与所述终端运行的所述待测应用程序之间的对应关系,所述对应关系基于测试代理服务获取到的运行所述待测应用程序的所述终端的ID建立;
操作单元802,用于所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
判断单元803,用于所述组件从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
可选地,在本实施例或者其他实施例中,所述应用程序的测试装置还包括:对应关系获取单元,用于在所述组件获取终端与所述终端运行的所述待测应用程序之间的对应关系之前,所述组件获取由所述测试代理服务根据所述终端的ID建立的所述对应关系;
或者,所述应用程序的测试装置还包括:对应关系建立单元,用于所述组件获取所述测试代理服务传输的所述终端的ID,并根据所述终端的ID建立所述对应关系。
可选地,在本实施例或者其他实施例中,所述数据获取单元803具体用于所述组件向所述测试代理服务数据拉取请求,以从所述测试代理服务获取所述行为数据。
可选地,在本实施例或者其他实施例中,若存在多个所述终端,每个终端上运行一个待测应用程序,则所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID。
可选地,在本实施例或者其他实施例中,所述应用程序的测试装置还包括应用程序启动单元,用于在所述组件获取终端与所述终端运行的所述待测应用程序之间的对应关系之前,所述组件基于其上设置的分布式锁,按照预定的先后启动顺序依次启动多个所述终端上的待测应用程序;
对应地,各个终端与其运行的所述待测应用程序之间的对应关系基于其上待测应用程序的启动顺序依次建立。
可选地,在本实施例或者其他实施例中,所述待测应用程序为轻量级待测应用程序,与所述应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序。
可选地,在本实施例或者其他实施例中,多个终端被分成若干组;对应地,所述操作单元802具体用于所述组件以相同的操作命令操作同一组的所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据,其中,针对不同组的所述终端上的待测应用程序,以不同操作命令进行操作。
可选地,在本实施例或者其他实施例中,所述应用程序的测试装置还包括:截图单元,用于对出现故障时待测应用程序的页面进行截图操作,以进行故障排查。
可选地,在本实施例或者其他实施例中,所述应用程序的测试装置还包括:故障详情统计单元,用于在所述确定待测应用程序出现故障时的故障详情之后,对所有待测应用程序出现的故障详情进行统计,并进行聚类分析。
此处,本实施例中未提及但图5或者图6实施例中记载的内容,也在图8实施例的范围内,比如上述有关推送的技术实现、拨号过程的实现、轮询的实现等。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施上述实施例的任一项所述的方法。
图9为本申请实施例电子设备的结构示意图;如图9所示,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施上述实施例的任一项所述的方法。
所述电子设备可以作为测试主机或者代理主机。
以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (20)

1.一种应用程序的测试方法,其特征在于,包括:
测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;
测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
2.根据权利要求1所述的方法,其特征在于,所述测试代理服务获取运行所述待测应用程序的终端的ID之后,包括:
所述测试代理服务根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系,并将所述对应关系传输给所述组件;
或者,所述测试代理服务将所述终端的ID传输给所述组件,由所述组件根据所述终端的ID建立所述终端与其运行的所述待测应用程序之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述测试代理服务将所述行为数据传输给所述组件,包括:所述测试代理服务响应于所述组件的数据拉取请求,将所述行为数据传输给所述组件。
4.根据权利要求1所述的方法,其特征在于,若存在多个所述终端,每个终端上运行一个待测应用程序,则所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID。
5.根据权利要求1所述的方法,其特征在于,所述待测应用程序为轻量级待测应用程序,与应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序。
6.一种应用程序的测试方法,其特征在于,包括:
组件获取终端与所述终端运行的所述待测应用程序之间的对应关系,所述对应关系基于测试代理服务获取到的运行所述待测应用程序的所述终端的ID建立;
所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
所述组件从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
7.根据权利要求6所述的方法,其特征在于,所述组件获取终端与所述终端运行的所述待测应用程序之间的对应关系之前,包括:
所述组件获取由所述测试代理服务根据所述终端的ID建立的所述对应关系;
或者,所述组件获取所述测试代理服务传输的所述终端的ID,并根据所述终端的ID建立所述对应关系。
8.根据权利要求6所述的方法,其特征在于,所述组件从所述测试代理服务获取所述行为数据,包括:所述组件向所述测试代理服务发送数据拉取请求,以从所述测试代理服务获取所述行为数据。
9.根据权利要求6所述的方法,其特征在于,若存在多个所述终端,每个终端上运行一个待测应用程序,则所述测试代理服务按照所述待测应用程序在对应终端上的启动顺序,依次获取运行所述待测应用程序的终端的ID。
10.根据权利要求9所述的方法,其特征在于,所述组件获取终端与所述终端运行的所述待测应用程序之间的对应关系之前,所述方法包括:所述组件基于其上设置的分布式锁,按照预定的先后启动顺序依次启动多个所述终端上的待测应用程序;
对应地,各个终端与其运行的所述待测应用程序之间的对应关系基于其上待测应用程序的启动顺序依次建立。
11.根据权利要求6所述的方法,其特征在于,所述待测应用程序为轻量级待测应用程序,与所述应用服务器进行交互以产生所述行为数据的待测应用程序为实际要发布的待测应用程序。
12.根据权利要求6-11任一项所述的方法,其特征在于,多个终端被分成若干组;
对应地,所述对所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据,包括:所述组件以相同的操作命令操作同一组的所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据,其中,针对不同组的所述终端上的待测应用程序,以不同操作命令进行操作。
13.根据权利要求6-12任一项所述的方法,其特征在于,所述方法还包括:对出现故障时待测应用程序的页面进行截图操作,以进行故障排查。
14.根据权利要求6-13任一项所述的方法,其特征在于,所述确定待测应用程序出现故障时的故障详情之后,包括:对所有待测应用程序出现的故障详情进行统计,并进行聚类分析。
15.根据权利要求6-14任一项所述的方法,其特征在于,所述组件设置在测试主机上,所述测试代理服务设置在物理上独立于与所述测试主机的代理主机上;或者,所述组件和所述测试代理服务均设置在所述测试主机上,且所述组件与所述测试代理服务之间在逻辑上相互独立。
16.一种待测应用程序的测试装置,其特征在于,包括:
ID获取单元,用于测试代理服务获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
数据获取单元,用于测试代理服务获取所述待测应用程序在组件的控制下与应用服务器进行交互时所产生的行为数据;
数据传输单元,用于测试代理服务将所述行为数据传输给所述组件,以由所述组件根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
17.一种待测应用程序的测试装置,其特征在于,包括:
关系获取单元,用于组件获取终端与所述终端运行的所述待测应用程序之间的对应关系,所述对应关系基于测试代理服务获取到的运行所述待测应用程序的所述终端的ID建立;
操作单元,用于所述组件操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
数据获取单元,用于所述组件从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
18.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施权利要求1-7或者8-17任一项所述的方法。
19.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施权利要求1-5或者6-15任一项所述的方法。
20.一种待测应用程序的测试系统,其特征在于,包括:测试代理服务以及组件,其中:
所述测试代理服务用于获取运行所述待测应用程序的终端的ID,所述终端的ID用于建立所述终端与其运行的所述待测应用程序之间的对应关系;
所述组件用于操作所述终端上的待测应用程序运行,以与应用服务器进行交互,以产生传输给所述测试代理服务的行为数据;
所述测试代理服务还用于获取所述行为数据,并将所述行为数据传输给所述组件;
所述组件还用于获取所述对应关系以及从所述测试代理服务获取所述行为数据,且根据所述行为数据以及所述对应关系,判断所述待测应用程序是否出现故障,以及确定所述待测应用程序出现故障时的故障详情。
CN202111294498.3A 2021-11-03 2021-11-03 应用程序的测试方法及装置、计算机存储介质、电子设备 Pending CN113836040A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111294498.3A CN113836040A (zh) 2021-11-03 2021-11-03 应用程序的测试方法及装置、计算机存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111294498.3A CN113836040A (zh) 2021-11-03 2021-11-03 应用程序的测试方法及装置、计算机存储介质、电子设备

Publications (1)

Publication Number Publication Date
CN113836040A true CN113836040A (zh) 2021-12-24

Family

ID=78966981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111294498.3A Pending CN113836040A (zh) 2021-11-03 2021-11-03 应用程序的测试方法及装置、计算机存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN113836040A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092555A (zh) * 2016-08-05 2017-08-25 北京小度信息科技有限公司 一种测试应用程序的方法及系统
CN107168841A (zh) * 2017-05-25 2017-09-15 北京云测信息技术有限公司 一种移动设备的远程测试方法和装置
CN107995024A (zh) * 2017-10-30 2018-05-04 北京奇虎科技有限公司 一种设备管理方法、装置、服务器及存储介质
CN109213674A (zh) * 2017-07-07 2019-01-15 博彦科技股份有限公司 测试系统、方法、存储介质和处理器
CN109471789A (zh) * 2018-09-04 2019-03-15 中国平安人寿保险股份有限公司 用于测试的多设备管理方法、装置、服务器及存储介质
CN112688830A (zh) * 2020-12-21 2021-04-20 深圳市汇顶科技股份有限公司 测试系统以及测试方法
US20210318945A1 (en) * 2020-04-13 2021-10-14 The Toronto-Dominion Bank System and Method for Testing Applications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092555A (zh) * 2016-08-05 2017-08-25 北京小度信息科技有限公司 一种测试应用程序的方法及系统
CN107168841A (zh) * 2017-05-25 2017-09-15 北京云测信息技术有限公司 一种移动设备的远程测试方法和装置
CN109213674A (zh) * 2017-07-07 2019-01-15 博彦科技股份有限公司 测试系统、方法、存储介质和处理器
CN107995024A (zh) * 2017-10-30 2018-05-04 北京奇虎科技有限公司 一种设备管理方法、装置、服务器及存储介质
CN109471789A (zh) * 2018-09-04 2019-03-15 中国平安人寿保险股份有限公司 用于测试的多设备管理方法、装置、服务器及存储介质
US20210318945A1 (en) * 2020-04-13 2021-10-14 The Toronto-Dominion Bank System and Method for Testing Applications
CN112688830A (zh) * 2020-12-21 2021-04-20 深圳市汇顶科技股份有限公司 测试系统以及测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梁发洵: "浅谈Web应用程序的压力测试", 电脑知识与技术(学术交流), no. 17 *

Similar Documents

Publication Publication Date Title
US9734005B2 (en) Log analytics for problem diagnosis
CN109726093B (zh) 用于执行测试用例的方法、设备和计算机程序产品
CN106681924A (zh) 一种软件测试方法及系统
CN111897724B (zh) 一种适用于云平台的自动化测试方法及装置
CN111460356B (zh) 一种自动登录方法、装置、介质和设备
CN106919485B (zh) 一种基于服务器上配置硬件测试工具的系统
CN108306787B (zh) 一种应用监测方法及相关设备
CN112948271B (zh) 一种代码测试方法、装置、设备及存储介质
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
KR20200048633A (ko) 소프트웨어 자동 테스트 시스템 및 방법
CN110198222B (zh) 一种配电自动化终端即插即用测试方法及测试主站
CN106875765B (zh) 一种基于vdi的电子教室实现方法及装置
CN107645727B (zh) 一种测试基站的方法及装置
CN109274533B (zh) 一种基于规则引擎的Web服务故障的定位装置和方法
CN113836040A (zh) 应用程序的测试方法及装置、计算机存储介质、电子设备
CN109814911A (zh) 用于管理脚本程序的方法、装置、计算机设备及存储介质
CN112231217B (zh) 一种以副本方式实施功能测试的方法和装置
CN107872493B (zh) 一种信息处理方法、终端和服务器
CN115357493A (zh) 测试方法、装置、电子设备和存储介质
CN113434384B (zh) 一种压力测试方法和装置
CN110134558B (zh) 一种服务器的检测方法和装置
CN111082984A (zh) 模拟登录网络设备进行命令行交互的方法和装置
CN110365627B (zh) 应用程序同步方法、装置、计算设备以及存储介质
CN114844859B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230727

Address after: Room 404-405, 504, Building B-17-1, Big data Industrial Park, Kecheng Street, Yannan High tech Zone, Yancheng, Jiangsu Province, 224000

Applicant after: Yancheng Tianyanchawei Technology Co.,Ltd.

Address before: 224000 room 501-503, building b-17-1, Xuehai road big data Industrial Park, Kecheng street, Yannan high tech Zone, Yancheng City, Jiangsu Province (CNK)

Applicant before: Yancheng Jindi Technology Co.,Ltd.