CN112506791A - 应用程序测试方法、装置、计算机设备和存储介质 - Google Patents
应用程序测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112506791A CN112506791A CN202011502651.2A CN202011502651A CN112506791A CN 112506791 A CN112506791 A CN 112506791A CN 202011502651 A CN202011502651 A CN 202011502651A CN 112506791 A CN112506791 A CN 112506791A
- Authority
- CN
- China
- Prior art keywords
- test
- testing
- tasks
- task
- 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
Links
Images
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
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
- G06F11/3692—Test management for test results analysis
Abstract
本申请涉及应用程序功能测试技术领域,揭示了一种应用程序测试方法、装置、计算机设备和存储介质,其中方法包括:响应于应用程序的测试请求,获取应用程序的所有测试任务,根据预设条件对所有测试任务划分任务类型;根据任务类型将所有测试任务分别分配至对应测试设备,接收各测试设备发送的测试任务的运行信息,根据运行信息分别提取各测试设备的测试结果,根据各测试结果生成应用程序的综合测试结果,从而将应用程序的多个测试任务按任务类型分别分配至相匹配的测试设备中,实现了多个测试设备同时对同一应用程序的测试,因此可以在短时间内得到多个测试设备的测试结果,提高应用程序的测试效率。
Description
技术领域
本申请涉及到应用程序功能测试技术领域,特别是涉及到一种应用程序测试方法、装置、计算机设备和存储介质。
背景技术
随着软件技术的发展和用户对生活、工作等方面便利性需求的不断增加,软件开发商开发出了各类应用程序来满足用户工作、生活等的需求。在应用程序开发或者更新完成后、正式上线之前,软件开发人员都要对应用程序进行各项测试,以便应用程序上线后可以正常运行。在不同需求下,需要对应用程序进行不同方面的测试,并且进行不同的测试环节。
在现有的应用程序测试方法中,一般采用单测试设备对应用程序进行测试,需要耗费大量时间,并长期占用机器,测试效率较低。
发明内容
本申请的主要目的为提供一种应用程序测试方法、装置、计算机设备和存储介质,旨在解决目前的应用程序测试方法由于采用单测试设备进行测试,测试效率较低的技术问题。
为了实现上述发明目的,本申请提出一种应用程序测试方法,包括:
响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
在一实施例中,所述接收各所述测试设备发送的测试任务的运行信息的步骤之前,还包括:
当监测到任一测试任务在被执行过程中出现阻塞时,获取所述出现阻塞的测试任务的测试记录及测试进程;
将所述测试记录以及测试进程打包发送至备用测试设备,利用所述备用测试设备继续对所述出现阻塞的测试任务进行测试。
在一实施例中,所述当监测到任一测试任务在被执行过程中出现阻塞时的步骤之后,还包括:
控制所述出现阻塞的测试设备复位;
将复位后的测试设备的运行状态设置为空闲状态,为空闲状态的所述测试设备重新分配测试任务。
在一实施例中,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤,包括:
监测各测试设备的资源消耗和运行状态,根据所述资源消耗和运行状态获取空闲度最高或资源占用率最低的测试设备;
当确定所述预设条件为所述测试任务的预计测试时长时,将预计测试时长最长的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试;或
当确定所述预设条件为所述测试任务的代码复杂度时,将代码复杂度最高的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试;或
当确定所述预设条件为所述测试任务的功能复杂度时,将功能复杂度最高的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试。
在一实施例中,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤之后,还包括:
对预计测试时长最长、代码复杂度最高或功能复杂度最高的测试任务进行至少两次测试。
在一实施例中,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤,包括:
根据所有测试任务的所述任务类型确定必检测试任务;
将所述必检测试任务分配至空闲度最高或资源占用率最低的测试设备进行测试。
在一实施例中,所述根据各所述测试结果生成所述应用程序的综合测试结果的步骤,包括:
从测试数据库中获取所有测试任务的标准测试结果;
将各所述测试设备的测试结果与对应的所述标准测试结果进行一一比对,根据比对结果生成所述应用程序的综合测试结果。
本申请还提供一种应用程序测试装置,包括:
获取模块,用于响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
分配模块,用于根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
接收模块,用于接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
生成模块,用于根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的应用程序测试方法、装置、计算机设备和存储介质,通过响应于应用程序的测试请求,获取应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;根据任务类型将所有测试任务分别分配至对应测试设备,并接收各所述测试设备发送的测试任务的运行信息,根据运行信息分别提取各测试设备的测试结果,根据各测试结果生成所述应用程序的综合测试结果,从而将应用程序的多个测试任务按任务类型分别分配至相匹配的测试设备中,合理调用各测试设备,并实现了多个测试设备同时对同一应用程序的测试,因此可以在短时间内得到多个测试设备的测试结果,提高应用程序的测试效率。
附图说明
图1为本申请一实施例的应用程序测试方法的流程示意图;
图2为本申请一实施例的应用程序测试装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供了一种应用程序测试方法,以解决目前的应用程序测试方法测试效率较低的问题。本申请可以主机为执行主体,该主机与至少两个测试设备连接。具体的,所述主机可以通过输入输出接口如通用串行总线(Universal Serial Bus,简称USB),与各个测试设备连接。其中,所述测试设备可以为应用程序进行测试,如电脑;主机可以为移动终端,如智能手机、平板电脑等所述至少两个测试设备可以包括用于对待测应用程序进行测试的真机,如测试机房内的真机,且该至少两个测试设备可以包括安卓(Android)操作系统或苹果操作系统(iPhone Operating System,简称iOS)的所有主流设备。该主机可包括具有主流操作系统版本的设备、以及市面上用户量大的设备等。
在一个实施例中,参照图1,该应用程序测试方法包括步骤:
S1、响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
S2、根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
S3、接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
S4、根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
其中,应用程序是指待测试的应用程序,例如可以是直播应用、购物应用及办公应用等。应用程序的测试,即是通过测试技术手段运行或测试某个软件的一个项目,目的在于检验该项目是否满足规定的需要或弄清楚预期结果与实际结果之间的差别。
该主机可以为近端操作终端。该测试请求可以为用户对该主机上安装的待测应用程序进行相应操作对应的指令。该主机响应于该测试请求,将应用程序的各个测试任务分别发送至每个测试设备,可使得每个测试设备执行被分配的测试任务。
该运行信息可包括测试任务对应的信息。该测试任务可包括:运行稳定性测试、功能遍历测试、性能测试、用户界面(User Interface,简称UI)测试中的至少一种。该测试设备可根据该运行信息对应用程序进行测试任务对应的测试,获得该测试任务对应的测试结果。
具体的,本申请可在主机上安装一套控制程序,主机与各测试设备进行通信连接,以分配测试任务并获取测试结果,控制程序可以实时查看与其通信连接的各个测试设备的设备状态(空闲/执行中/暂停),当需要执行测试任务时,根据任务类型控制程序自动分配测试任务到空闲状态的测试设备执行,当测试设备都处于非空闲状态则可进行排队,例如,将应用程序的所有测试任务按类型进行划分,如可分成测试时长较长的测试任务,将不同测试时长的测试任务分别分配至不同测试设备中进行测试,接收各测试设备发送的测试任务的运行信息,从运行信息分别提取出各个测试设备的测试结果,并依据所有测试结果进行综合评估,得到该应用程序测试的综合测试结果。
在生成综合测试结果后,最后对所述综合测试结果进行展示,以使得用户可以根据该综合测试结果来清楚的获知本次应用程序测试的具体测试数据,以及清楚的了解具体的测试情况,以便后续用户可以根据该综合测试结果对后续的应用程序测试流程进行对应的改进。
此外,还可统计应用程序的测试任务的历史出错率,将历史出错率大于预设值的测试任务分配至最空闲的测试设备。其中,所述主机可以是虚拟容器(docker等),其在设备成本和维护成本上,消耗的资源比较低。同时,还可以通过虚拟容器监听客户端发出的应用程序的测试请求,以获取测试请求的方法名称、参数名称、类型及参数值,将测试请求的方法名称、参数名称、类型及参数值的测试请求以及相应代码打包发送至对应测试设备,并接收各测试设备测试完成后返回的参数名称、参数类型值及参数值的测试结果,生成综合测试结果,将综合测试结果返回至客户端。
在一实施例中,在步骤S4中,所述根据各所述测试结果生成所述应用程序的综合测试结果的步骤,可具体包括:
从测试数据库中获取所有测试任务的标准测试结果;
将各所述测试设备的测试结果与对应的所述标准测试结果进行一一比对,根据比对结果生成所述应用程序的综合测试结果。
其中,所述测试结果可包括输出日志、运行内容。可进一步对测试的结果进行整理、归纳和分析,例如借助于Excel文件、数据库和一些直方图、圆饼图、趋势图等来进行分析和表示,主要的方法有对比分析、根本原因(Root Cause)查找、问题分类、趋势(时间序列)分析等。对比分析,主机执行测试结果与标准测试结果的对比工作,包括对运行的日期时间的记录,对运行的路径的记录,以及测试对象的版本数据等的比对。比对之后,查询出不匹配的地方并指出错误的可能起因,并根据所发现的应用程序的缺陷历史数据进行分析,预测未来情况,对已有数据进行统计分析,以了解软件开发中主要问题或产生问题的主要原因,从而比较容易提高软件质量。
本申请的应用程序测试方法,通过响应于应用程序的测试请求,获取应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;根据任务类型将所有测试任务分别分配至对应测试设备,并接收各所述测试设备发送的测试任务的运行信息,根据运行信息分别提取各测试设备的测试结果,根据各测试结果生成所述应用程序的综合测试结果,从而将应用程序的多个测试任务按任务类型分别分配至相匹配的测试设备中,合理调用各测试设备,并实现了多个测试设备同时对同一应用程序的测试,因此可以在短时间内得到多个测试设备的测试结果,提高应用程序的测试效率。
在一实施例中,在步骤S3中,所述接收各所述测试设备发送的测试任务的运行信息的步骤之前,还可包括:
当监测到任一测试任务在被执行过程中出现阻塞时,获取所述出现阻塞的测试任务的测试记录及测试进程;
将所述测试记录以及测试进程打包发送至备用测试设备,利用所述备用测试设备继续对所述出现阻塞的测试任务进行测试。
本实施例中,主机实时监测各测试设备的测试任务的执行情况,将监测到某一测试任务在被执行过程中出现阻塞时,则提取该测试任务当前的测试记录及测试进程,如测试到哪一步,测试结果如何,然后将测试记录及测试进程打包发送至备用测试设备,备用测试设备根据所述出现阻塞的测试任务的测试记录及测试进程继续执行未完成的测试任务,以确保测试任务的及时执行。
例如,在测试任务被执行过程中,测试任务的执行时间超过预设时长还未执行开始下一进程时,则认为该测试任务出现阻塞。或者测试任务执行出错时,也可被认为出现阻塞。
此外,还可对每个测试任务的测试结果进行标识,根据标识对各测试设备发送的测试结果进行区分,以避免生成的综合测试结果出错。
进一步地,所述当监测到任一测试任务在被执行过程中出现阻塞时的步骤之后,还可包括:
控制所述出现阻塞的测试设备复位;
将复位后的测试设备的运行状态设置为空闲状态,为空闲状态的所述测试设备重新分配测试任务。
本实施例对出现阻塞的测试设备进行复位,例如重新启动测试设备,并对复位的测试设备重新分配测试任务,重新进行相关测试工作。
此外,还可实时监控各测试设备的任务执行情况,根据执行情况分配测试任务。例如,当前有A测试任务、B测试任务和C测试任务,A测试任务需要执行20分钟,每隔40分钟执行一次;B测试任务需要执行10分钟,每隔20分钟执行一次;C测试任务需要执行5分钟,每隔20分钟执行一次。现有X、Y两个测试设备,假设10:00开始,X测试设备执行A测试任务,Y测试设备执行B测试任务,当需要执行C测试任务时,监控到X、Y两个测试设备都在执行任务,则等待。B测试任务在Y测试设备执行至10分钟时,即10:10执行结束,则在10:10开始,C测试任务在Y测试设备上执行。10:15C测试任务执行结束,Y测试设备为空闲状态。10:20A测试任务执行结束,X测试设备也为空闲状态。10:20B测试任务开始执行,此时X、Y测试设备均为空闲状态,任一测试设备都可开始执行B测试任务。假如A测试任务在X测试设备执行过程中卡住时,且30分钟后若未执行至新的流程节点,则X测试设备的运行状态切换为执行失败,将X测试设备复位后设置为空闲状态。
在一实施例中,在步骤S2中,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤,可具体包括:
监测各测试设备的资源消耗和运行状态,根据所述资源消耗和运行状态获取空闲度最高或资源占用率最低的测试设备;
当确定所述预设条件为所述测试任务的预计测试时长时,将预计测试时长最长的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试;或
当确定所述预设条件为所述测试任务的代码复杂度时,将代码复杂度最高的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试;或
当确定所述预设条件为所述测试任务的功能复杂度时,将功能复杂度最高的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试。
本实施例的预设条件可包括预计测试时长、代码复杂度或功能复杂度。其中,所述预计测试时长为测试任务在执行过程中,预计消耗的累计时长;所述代码复杂度用于表征测试任务中代码的复杂程度,是评估应用程序质量的重要标准,同时也是应用程序中影响代码故障率、代码可维护性的重要因素之一;所述功能复杂度用于表征测试任务中功能的复杂程度,可根据应用程序的某项功能在开发过程中所耗费的时长进行评估,还可根据该项功能在运行时所消耗的内存进行确定。本申请通过监测各测试设备的资源消耗及运行状态,将预计测试时长最长、代码复杂度最高或功能复杂度最高的测试任务分配至空闲度最高或资源占用率最低的测试设备进行测试,以合理调用各测试设备,实现资源的最大化利用。例如,当前X测试设备的资源消耗较高时,则将待测试任务分配至Y测试设备进行测试,或当前X测试设备正在执行的A测试任务的完成度比Y测试设备较高时,则将待测试任务分配至X测试设备进行测试,从而进一步提高测试效率。又如,如果一个测试设备的当前资源占用率为80%,由于其占用率超过了预先设定的可利用阈值(例如可利用阈值设置为60%),则可以确定该测试设备不适用于进行后续的测试任务测试。
需要说明的是:如果所有测试设备均没有空闲资源,则无法确定待分配的测试任务的测试设备,可以在客户端上显示失败的提示消息、失败原因为服务器无空闲资源等,并终止后续步骤。
在一实施例中,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤之后,还可包括:
对预计测试时长最长、代码复杂度最高或功能复杂度最高的测试任务进行至少两次测试。
本实施例根据测试任务在历史测试过程中的测试时长进行统计分析,预估所有测试任务的预计测试时长;以及对测试任务的代码进行分析,确定测试任务的代码复杂度及功能复杂度,对预计测试时长最长、代码复杂度最高或功能复杂度最高的测试任务进行多次测试,以提高测试结果的准确性。
在一实施例中,在步骤S2中,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤,可具体包括:
根据所有测试任务的所述任务类型确定必检测试任务;
将所述必检测试任务分配至空闲度最高或资源占用率最低的测试设备进行测试。
本实施例可根据不同的任务类型反映测试任务的重要性,并将测试任务划分为必检测试任务及非必检测试任务,将必检测试任务分配至空闲度最高或资源占用率最低的测试设备进行测试,将非必检测试任务分配至空闲度最低或资源占用率最高的测试设备进行排队测试。例如,可将不容易出错的测试任务划分为非必检测试任务,对于非必检测试任务,可划分至空闲度较低或资源占用率较高的测试设备进行测试。
进一步地,本申请还可为必检测试任务和非必检测试任务设置标记,非必检测试任务的标记用于标记不必要的测试任务,例如日常自动触发产生的测试任务,日常自动触发的测试任务可以提高持续集成的频率,以便于尽早发现应用程序中存在的缺陷。必检测试任务的标记用于标记重要的测试任务,重要的测试任务是必须进行持续集成的测试,如新版本应用程序开发和应用程序发布时必须进行持续集成的测试,以保证应用程序的质量。在将提交的集成测试任务添加至测试队列的过程中,可以去掉不必要的集成测试任务,减少集成测试任务等待测试的时间,提高集成测试任务的效率。
参照图2,本申请实施例中还提供一种应用程序测试装置,包括:
获取模块1,用于响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
分配模块2,用于根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
接收模块3,用于接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
生成模块4,用于根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
其中,应用程序是指待测试的应用程序,例如可以是直播应用、购物应用及办公应用等。应用程序的测试,即是通过测试技术手段运行或测试某个软件的一个项目,目的在于检验该项目是否满足规定的需要或弄清楚预期结果与实际结果之间的差别。
该主机可以为近端操作终端。该测试请求可以为用户对该主机上安装的待测应用程序进行相应操作对应的指令。该主机响应于该测试请求,将应用程序的各个测试任务分别发送至每个测试设备,可使得每个测试设备执行被分配的测试任务。
该运行信息可包括测试任务对应的信息。该测试任务可包括:运行稳定性测试、功能遍历测试、性能测试、用户界面(User Interface,简称UI)测试中的至少一种。该测试设备可根据该运行信息对应用程序进行测试任务对应的测试,获得该测试任务对应的测试结果。
具体的,本申请可在主机上安装一套控制程序,主机与各测试设备进行通信连接,以分配测试任务并获取测试结果,控制程序可以实时查看与其通信连接的各个测试设备的设备状态(空闲/执行中/暂停),当需要执行测试任务时,根据任务类型控制程序自动分配测试任务到空闲状态的测试设备执行,当测试设备都处于非空闲状态则可进行排队,例如,将应用程序的所有测试任务按类型进行划分,如可分成测试时长较长的测试任务,将不同测试时长的测试任务分别分配至不同测试设备中进行测试,接收各测试设备发送的测试任务的运行信息,从运行信息分别提取出各个测试设备的测试结果,并依据所有测试结果进行综合评估,得到该应用程序测试的综合测试结果。
在生成综合测试结果后,最后对所述综合测试结果进行展示,以使得用户可以根据该综合测试结果来清楚的获知本次应用程序测试的具体测试数据,以及清楚的了解具体的测试情况,以便后续用户可以根据该综合测试结果对后续的应用程序测试流程进行对应的改进。
此外,还可统计应用程序的测试任务的历史出错率,将历史出错率大于预设值的测试任务分配至最空闲的测试设备。其中,所述主机可以是虚拟容器(docker等),其在设备成本和维护成本上,消耗的资源比较低。同时,还可以通过虚拟容器监听客户端发出的应用程序的测试请求,以获取测试请求的方法名称、参数名称、类型及参数值,将测试请求的方法名称、参数名称、类型及参数值的测试请求以及相应代码打包发送至对应测试设备,并接收各测试设备测试完成后返回的参数名称、参数类型值及参数值的测试结果,生成综合测试结果,将综合测试结果返回至客户端。
在一实施例中,在步骤S4中,所述根据各所述测试结果生成所述应用程序的综合测试结果的步骤,可具体包括:
从测试数据库中获取所有测试任务的标准测试结果;
将各所述测试设备的测试结果与对应的所述标准测试结果进行一一比对,根据比对结果生成所述应用程序的综合测试结果。
其中,所述测试结果可包括输出日志、运行内容。可进一步对测试的结果进行整理、归纳和分析,例如借助于Excel文件、数据库和一些直方图、圆饼图、趋势图等来进行分析和表示,主要的方法有对比分析、根本原因(Root Cause)查找、问题分类、趋势(时间序列)分析等。对比分析,主机执行测试结果与标准测试结果的对比工作,包括对运行的日期时间的记录,对运行的路径的记录,以及测试对象的版本数据等的比对。比对之后,查询出不匹配的地方并指出错误的可能起因,并根据所发现的应用程序的缺陷历史数据进行分析,预测未来情况,对已有数据进行统计分析,以了解软件开发中主要问题或产生问题的主要原因,从而比较容易提高软件质量。
如上所述,可以理解地,本申请中提出的所述应用程序测试装置的各组成部分可以实现如上所述应用程序测试方法任一项的功能,具体结构不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于关系抽取模型、药物发现模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序测试方法。
上述处理器执行上述的应用程序测试方法,包括:
响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种应用程序测试方法,包括步骤:
响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本申请的最大有益效果在于:
本申请的应用程序测试方法、装置、计算机设备和存储介质,通过响应于应用程序的测试请求,获取应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;根据任务类型将所有测试任务分别分配至对应测试设备,并接收各所述测试设备发送的测试任务的运行信息,根据运行信息分别提取各测试设备的测试结果,根据各测试结果生成所述应用程序的综合测试结果,从而将应用程序的多个测试任务按任务类型分别分配至相匹配的测试设备中,合理调用各测试设备,并实现了多个测试设备同时对同一应用程序的测试,因此可以在短时间内得到多个测试设备的测试结果,提高应用程序的测试效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种应用程序测试方法,其特征在于,包括:
响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
2.根据权利要求1所述的方法,其特征在于,所述接收各所述测试设备发送的测试任务的运行信息的步骤之前,还包括:
当监测到任一测试任务在被执行过程中出现阻塞时,获取所述出现阻塞的测试任务的测试记录及测试进程;
将所述测试记录以及测试进程打包发送至备用测试设备,利用所述备用测试设备继续对所述出现阻塞的测试任务进行测试。
3.根据权利要求2所述的方法,其特征在于,所述当监测到任一测试任务在被执行过程中出现阻塞时的步骤之后,还包括:
控制所述出现阻塞的测试设备复位;
将复位后的测试设备的运行状态设置为空闲状态,为空闲状态的所述测试设备重新分配测试任务。
4.根据权利要求1所述的方法,其特征在于,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤,包括:
监测各测试设备的资源消耗和运行状态,根据所述资源消耗和运行状态获取空闲度最高或资源占用率最低的测试设备;
当确定所述预设条件为所述测试任务的预计测试时长时,将预计测试时长最长的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试;或
当确定所述预设条件为所述测试任务的代码复杂度时,将代码复杂度最高的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试;或
当确定所述预设条件为所述测试任务的功能复杂度时,将功能复杂度最高的测试任务优先分配至空闲度最高或资源占用率最低的测试设备进行测试。
5.根据权利要求4所述的方法,其特征在于,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤之后,还包括:
对所述预计测试时长最长、代码复杂度最高或功能复杂度最高的测试任务进行至少两次测试。
6.根据权利要求1所述的方法,其特征在于,所述根据所述任务类型将所有测试任务分别分配至对应测试设备的步骤,包括:
根据所有测试任务的所述任务类型确定必检测试任务;
将所述必检测试任务分配至空闲度最高或资源占用率最低的测试设备进行测试。
7.根据权利要求1所述的方法,其特征在于,所述根据各所述测试结果生成所述应用程序的综合测试结果的步骤,包括:
从测试数据库中获取所有测试任务的标准测试结果;
将各所述测试设备的测试结果与对应的所述标准测试结果进行一一比对,根据比对结果生成所述应用程序的综合测试结果。
8.一种应用程序测试装置,其特征在于,包括:
获取模块,用于响应于应用程序的测试请求,获取所述应用程序的所有测试任务,根据预设条件对所述所有测试任务划分任务类型;
分配模块,用于根据所述任务类型将所有测试任务分别分配至对应测试设备,其中,所述测试设备用于执行被分配至的所述测试任务;
接收模块,用于接收各所述测试设备发送的测试任务的运行信息,所述运行信息包括各测试设备执行所述应用程序对应测试任务过程中的信息;
生成模块,用于根据所述运行信息分别提取各测试设备的测试结果,根据各所述测试结果生成所述应用程序的综合测试结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述应用程序测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述应用程序测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011502651.2A CN112506791A (zh) | 2020-12-17 | 2020-12-17 | 应用程序测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011502651.2A CN112506791A (zh) | 2020-12-17 | 2020-12-17 | 应用程序测试方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112506791A true CN112506791A (zh) | 2021-03-16 |
Family
ID=74922303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011502651.2A Pending CN112506791A (zh) | 2020-12-17 | 2020-12-17 | 应用程序测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506791A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454815A (zh) * | 2022-08-12 | 2022-12-09 | 广州极点三维信息科技有限公司 | 一种支持定制化测试任务的自动化测试系统 |
CN116346696A (zh) * | 2023-05-26 | 2023-06-27 | 深圳市东微智能科技股份有限公司 | 批量网络测试方法、装置、设备及存储介质 |
-
2020
- 2020-12-17 CN CN202011502651.2A patent/CN112506791A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454815A (zh) * | 2022-08-12 | 2022-12-09 | 广州极点三维信息科技有限公司 | 一种支持定制化测试任务的自动化测试系统 |
CN115454815B (zh) * | 2022-08-12 | 2023-09-26 | 广州极点三维信息科技有限公司 | 一种支持定制化测试任务的自动化测试系统 |
CN116346696A (zh) * | 2023-05-26 | 2023-06-27 | 深圳市东微智能科技股份有限公司 | 批量网络测试方法、装置、设备及存储介质 |
CN116346696B (zh) * | 2023-05-26 | 2023-08-04 | 深圳市东微智能科技股份有限公司 | 批量网络测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297711B (zh) | 批量数据处理方法、装置、计算机设备及存储介质 | |
CN108845884B (zh) | 物理资源分配方法、装置、计算机设备和存储介质 | |
CN110069572B (zh) | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 | |
CN109597685B (zh) | 任务分配方法、装置和服务器 | |
CN109586952B (zh) | 服务器扩容方法、装置 | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN110928653B (zh) | 跨集群任务的执行方法、装置、计算机设备和存储介质 | |
CN112506791A (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
CN107783829B (zh) | 任务处理方法、装置、存储介质和计算机设备 | |
CN111858065A (zh) | 数据处理方法、设备、存储介质及装置 | |
CN110162453B (zh) | 测试方法、装置、计算机可读存储介质和计算机设备 | |
CN110688168A (zh) | 提高应用程序启动速度方法、装置、设备及存储介质 | |
CN108874618B (zh) | Cognos进程的监控方法、装置、计算机设备和存储介质 | |
CN112084040A (zh) | 一种基于应用镜像数据识别的容器资源规划系统与方法 | |
CN112699040A (zh) | 压力测试方法、装置、设备及计算机可读存储介质 | |
CN112527600A (zh) | 监控日志处理方法、装置、设备及存储介质 | |
CN108733545B (zh) | 一种压力测试方法及装置 | |
CN111694734A (zh) | 软件接口校验方法、装置及计算机设备 | |
CN113157411A (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN114064497A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN112269697B (zh) | 一种设备存储性能测试方法、系统及相关装置 | |
CN111756594B (zh) | 压力测试的控制方法、计算机设备和计算机可读存储介质 | |
CN115525392A (zh) | 容器监控方法、装置、电子设备及存储介质 | |
CN113485933A (zh) | 自动化测试方法和分布式系统 | |
CN114756451A (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 |