CN110765026B - 自动化测试方法、装置、存储介质及设备 - Google Patents

自动化测试方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN110765026B
CN110765026B CN201911053638.0A CN201911053638A CN110765026B CN 110765026 B CN110765026 B CN 110765026B CN 201911053638 A CN201911053638 A CN 201911053638A CN 110765026 B CN110765026 B CN 110765026B
Authority
CN
China
Prior art keywords
test
target
containers
target container
test case
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
CN201911053638.0A
Other languages
English (en)
Other versions
CN110765026A (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.)
Wanghai Kangxin Beijing Technology Co ltd
Original Assignee
Wanghai Kangxin Beijing 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 Wanghai Kangxin Beijing Technology Co ltd filed Critical Wanghai Kangxin Beijing Technology Co ltd
Priority to CN201911053638.0A priority Critical patent/CN110765026B/zh
Publication of CN110765026A publication Critical patent/CN110765026A/zh
Application granted granted Critical
Publication of CN110765026B publication Critical patent/CN110765026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及自动化测试技术领域,尤其涉及一种自动化测试方法、装置、存储介质及设备,其中,所述自动化测试方法,包括:根据预设的测试需求获取若干测试用例;在预设的分布式***上创建多个用于执行所述测试用例的目标容器;根据所述测试用例的数据大小与目标容器的处理性能进行匹配,将测试用例分配到与之匹配的目标容器中运行。本申请提供的方案,通过构建多个目标容器,将测试用例分配到与之匹配的目标容器中运行,实现在同一主机上并行执行多个测试用例的目的,提高资源的利用率及自动化测试效率。

Description

自动化测试方法、装置、存储介质及设备
技术领域
本申请涉及自动化测试技术领域,具体而言,本申请涉及一种自动化测试方法、装置、存储介质及设备。
背景技术
随着软件产业的不断发展,新开发的软件越来越复杂,功能越来越多,使得软件测试也变得越来越复杂。在软件测试过程中,为保证测试质量,通常需要设计和编写大量的测试用例,然后利用编写的测试用例进行软件的功能测试或性能测试,传统利用测试用例进行手工测试的方式,效率低下。
现在往往利用测试用例进行自动测试,但自动测试在一台机器上只能单线程执行,也就是说,普通的自动测试执行是采用单进程来执行测试用例集,而且,测试时间会随着用例数量及流程复杂度的提升而增多,一般来说,当接口测试用例集多到几百个时,测试时间会在十分钟以上,对于一些版本迭代周期较快的项目,如:敏感开发项目,其对应的自动化用例是不断积累的,导致其测试用例的数量随着测试次数的增长而不断增多,该种方案运行全部的测试用例需要消耗大量的时间,测试效率低。
发明内容
本申请提供了一种自动化测试方法、装置、计算机可读存储介质及计算机设备,以提高自动化测试过程的效率。
本申请实施例首先提供了一种自动化测试方法,包括:
根据预设的测试需求获取若干测试用例;
在预设的分布式***上创建多个用于执行所述测试用例的目标容器;
根据所述测试用例的数据大小与目标容器的处理性能进行匹配,将测试用例分配到与之匹配的目标容器中运行。
一种实施例中,根据所述测试用例的数据大小与目标容器的处理性能进行匹配的步骤,包括:
根据目标容器的数量对多个测试用例进行批次划分,每批测试用例的数量与目标容器的数量相同;
针对每一批次,获取每一测试用例的数据大小,并根据所述数据大小对测试用例进行排序;
针对每一批次,调用预先按照所述目标容器的处理性能对目标容器进行排序的排序结果;
针对每一批次,将所述排序相同的测试用例与目标容器进行匹配。
一种实施例中,根据在预设的分布式***上创建多个用于执行所述测试用例的目标容器的步骤,包括:
获取目标容器所在的分布式***的节点信息;
根据所述节点信息读取所述分布式***上各节点的***资源占用率;
根据各节点的***资源占用率确定所述各节点对应的目标容器的处理性能;
根据测试需求及所述处理性能生成各节点对应的配置文件,根据所述配置文件创建目标容器。
一种实施例中,所述将测试用例分配到与之匹配的目标容器中运行的步骤之后,还包括:
对各节点的***资源占用率进行采集,获得***资源占用率;
根据所述***资源占用率修正目标容器的处理性能。
一种实施例中,所述将测试用例分配到与之匹配的目标容器中运行的步骤之后,还包括:
获取记录测试用例运行过程的日志文件;
从所述日志文件中提取测试结果及对应的测试用例标识;
整合所述测试结果及测试用例标识生成测试报告并发送所述测试报告。
一种实施例中,所述生成测试报告的步骤之后,还包括:
检测到测试报告中的测试结果超出其预设的标准参考范围,确定与该测试结果关联的测试用例标识;
对该测试用例标识对应的目标测试用例二次执行,获取二次测试结果;
根据所述二次测试结果确定导致所述测试结果异常的异常信息。
一种实施例中,所述根据所述二次测试结果确定导致所述测试结果异常的异常信息的步骤,包括:
当二次测试结果同样超出其标准参考范围时,确定所述测试结果对应的测试用例异常。
相应地,本申请还提供了一种自动化测试装置,包括:
获取测试用例模块,用于根据预设的测试需求获取若干测试用例;
创建目标容器模块,用于在预设的分布式***上创建多个用于执行所述测试用例的目标容器;
分配运行模块,用于根据所述测试用例的数据大小与目标容器的处理性能进行匹配,将测试用例分配到与之匹配的目标容器中运行。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项技术方案所述的自动化测试方法的步骤。
更进一步地,本申请实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一技术方案所述的自动化测试方法的步骤。
与现有技术相比,本申请提供的方案至少具备如下优点:
本申请提供的自动化测试方法,首先针对测试需求获取对应的测试用例,然后在分布式***上创建多个用于执行测试用例的目标容器,利用目标容器处理与之处理性能相匹配的测试用例,与传统的单线程执行测试用例的方案相比,本申请通过构建多个目标容器,实现在同一主机上并行执行多个测试用例的目的,提高资源的利用率及测试用例的测试效率。
而且,本申请将测试用例的数据大小与目标容器的处理性能相匹配,将数据量较大的测试用例分配至处理性能较强的目标容器中执行,有利于提高测试用例的执行效率,进而提高整个测试进程的效率。
附图说明
图1为本申请一个实施例提供的自动化测试方法的实施环境图;
图2为本申请一个实施例提供的自动化测试方法的流程图;
图3为本申请一个实施例提供的在预设的分布式***上创建多个用于执行所述测试用例的目标容器的流程图;
图4为本申请一个实施例提供的根据所述测试用例的数据大小与目标容器的处理性能进行匹配的流程图;
图5为本申请一个实施例提供的对测试报告进行数据分析的流程图;
图6为本申请一种实施例提供的自动化测试装置的结构示意图;
图7为本申请一种实施例提供的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
图1为一个实施例提供的自动化测试方法的实施环境图,在该实施环境中,包括用户终端与服务器端,置于用户终端或服务器端的分布式***,分布式***包括多个节点,图1展示了分布式***位于服务器端的情况,分布式***中包含N个节点(N为大于1的整数)。
结合图1提供的环境图,本申请提供的方案在服务器端使用时的执行过程如下:根据测试需求获取符合测试需求的若干测试用例,在预设的分布式***上创建多个用于执行所述测试用例的目标容器,根据测试用例的数据大小与目标容器的处理性能进行匹配处理,将测试用例分配到与之匹配的目标容器中运行,实现利用多个目标容器对测试用例进行并行操作的目的,提高了自动化测试的效率。
本申请提供的用户终端可为智能手机、平板电脑、笔记本电脑、台式计算机等,服务器端可为具有处理功能的计算机设备,但并不局限于此。服务器端与用户终端可以通过蓝牙、USB(通用串行总线)或者其他通讯连接方式进行网络连接,本申请在此不做限制。
图2为本申请一个实施例提供的自动化测试方法的流程图,包括如下步骤:
步骤S210,根据预设的测试需求获取若干测试用例;
步骤S220,根据所述测试需求在预设的分布式***上创建多个用于执行测试用例的目标容器;
步骤S230,根据所述测试用例的数据大小与目标容器的处理性能进行匹配,将测试用例分配到与之匹配的目标容器中运行。
服务器端接收到对某一应用的测试请求,解析该测试请求获取其中的测试需求,测试需求是软件开发过程中对软件开发结果的测试,可以包括对软件整体或局部程序的测试,如功能测试,性能测试等。本申请优先采用回归测试方法进行软件测试,每个新版本的软件测试都可以利用回归测试进行测试,以便大幅降低***测试、维护升级等阶段的成本。
根据测试需求编写测试用例或者调用预先针对测试需求存储的测试用例,调用预先针对测试需求存储的测试用例的过程如下:在分布式***中加载测试用例的存储地址,即将测试用例的运行地址指向分布式***,分布式***通过测试用例的存储地址抓取测试用例。
获得测试用例之后,利用配置文件定时启动测试用例,如:利用jenkins定时启动测试用例,配置文件可以根据实际情况进行设置,本申请能够利用jenkins的配置文件动监控测试用例的启动进程,也可以通过配置文件设定启动周期及启动时间,实现对大量测试用例自动启动测试的目的。
本申请提供的分布式***上包括若干节点,所述节点可以为服务器节点,服务器节点可以分布于多个不同的硬件设备上,各服务器节点上除了为自动化测试配置一定的数据处理性能,也可以为其他应用程序配置一定的数据处理性能,即一个服务器节点上同时运行多个应用程序,因此,不同服务器节点上可利用的数据处理性能存在差异,而基于服务器节点创建的目标容器,目标容器的处理性能可以在服务器节点上预先设定固定处理性能,也可以将服务器节点中当前可利用的处理性能设置全部为目标容器的处理性能,由于每个服务器节点上当前的***资源占用率可能不同,因此,基于分布式***上的多个服务器节点创建的目标容器的处理性能也存在差异。
本申请提供的目标容器,能够在操作***层面上实现虚拟化,多个目标容器在测试过程中可以直接复用本地主机的操作***,实现在同一主机上并行执行多个测试用例的目的,提高资源的利用率,降低成本,方便管理及容错容灾。
步骤S220的创建多个用于执行所述测试用例的目标容器的步骤之后,还包括:获取到目标容器的处理性能,若目标容器的处理性能为服务器节点中当前可利用的处理性能,基于服务器节点当前已占用的***资源与额定***资源确定当前可利用的***资源,即通过剩余***资源占用率确定目标容器的处理性能。若目标容器的处理性能为设置的固定处理性能,可以为不同目标容器设置不同的固定处理性能,以提高分布式***中不同节点的***资源利用率。
获取测试用例的数据大小,根据测试用例的数据大小与目标容器的处理性能进行匹配,将数据量较大的测试用例分配到处理性能较强的目标容器中执行,以便提高测试效率。
本申请提供的方案,首先针对测试需求获取对应的测试用例,启动测试用例的测试进程,然后在分布式***上创建多个用于执行测试用例的目标容器,利用目标容器处理与之处理性能相匹配的测试用例,与传统的单线程执行测试用例的方案相比,本申请通过构建多个目标容器,实现在同一主机上并行执行多个测试用例的目的,提高资源的利用率及测试用例的测试效率。
而且,本申请将测试用例的数据大小与目标容器的处理性能相匹配,将数据量较大的测试用例分配至处理性能较强的目标容器中执行,有利于提高测试用例的执行效率,进而提高整个测试进程的效率。
为了更清楚本申请提供的自动化测试方案及其技术效果,接下来以多个实施例对其具体实施方案进行详细阐述。
一种实施例中,步骤S220的在预设的分布式***上创建多个用于执行所述测试用例的目标容器的步骤,可以通过如下方式进行,其流程图如图3所示,包括:
S310,获取目标容器所在的分布式***的节点信息;
S320,根据所述节点信息读取所述分布式***上各节点的***资源占用率;
S330,根据各节点的***资源占用率确定所述各节点对应的目标容器的处理性能;
S340,根据测试需求及所述处理性能生成各节点对应的配置文件,根据所述配置文件创建目标容器。
在预设的分布式***上创建多个用于执行测试用例的目标容器,在此之前,还需要根据测试需求及分布式***的节点信息确定目标容器的配置文件。
分布式***的节点信息中包括***资源占用率,根据各节点当前的***资源占用率确定目标容器的可利用***资源,再根据可利用***资源确定目标容器的处理性能。
分布式***的节点信息包括节点的编号、所处位置、***资源占用率等信息,节点的***资源占用率,表征当前节点中各应用已使用的资源占比或者当前节点中所有应用占用的资源占比之和。目标容器的处理性能由包括:CPU运算、IO接口、外部***等参数中的一种或多种表征,目标容器的处理性能与其分配的***资源大小呈成正比。目标容器的***资源可以为当前节点剩余的***资源,该剩余的***资源为目标容器可利用的***资源,或者基于这些剩余***资源设置的固定***资源,例如:当前服务器节点的***资源占用率为47%,那么目标容器的处理性能是(53%*服务器节点的全部运存)的***资源表征的处理能力,或者直接根据设置(50%*服务器节点的全部运存)的***资源所表征的处理能力为目标容器的处理性能。
本申请实施例根据***资源占用率确定目标容器的处理性能,以便根据目标容器的处理性能分配测试用例,以提高测试用例的执行效率。
根据测试需求及上述实施例获得的目标容器的处理性能生成配置文件,根据各节点对应的配置文件创建目标容器,其中,将测试需求数据化,根据测试需求确定配置文件中的配置参数,如目标容器的数量等信息,利用测试需求及目标容器的处理性能生成目标容器的配置文件,根据配置文件及创建函数生成目标容器。
本申请提供的目标容器为docker容器,docker容器的创建-运行过程如下:创建一个相应的Job实例;利用Docker Daemon为job配置环境参数;执行该job的运行函数。在Job实现过程中,为Job配置参数有两种方式:第一,创建Job实例时,用指定参数直接初始化Job的Args属性;第二,创建完Job后,给Job添加指定的环境变量。
本申请创建的目标容器为docker容器,软件开发用户可以以统一的方式打包测试应用以及依赖包到一个可移植的docker容器中,然后将该容器发布到任何安装有docker引擎的服务器上,实现轻松地进行迁移扩展。而且,目标容器能够有效地将由单个操作***管理的资源划分到孤立的多个组中,实现在组别之间平衡有冲突的资源使用需求,多个容器内同时运行测试用例,不同的容器之间相互隔离,互不干扰,操作***资源的利用率较高。
进一步地,为了提高目标容器的创建效率,可以使用镜像仓库,通过减少在构建镜像时下载组件所需的时间,或者通过将多个运行命令组合成一个命令,减少镜像中的层数,加快构建镜像的速度,缩短构建目标容器的时间,有利于提高整个测试过程的效率。
本申请实施例在分布式***上创建多个目标容器,以便后续利用多个目标容器并行执行多个测试用例,提升测试效率。
在此基础上,由于分布式***的每个节点上均可以同时运行多个程序,也就是说,各节点上可利用的***资源处于变动状态,因此,为了提高目标容器的处理性能的准确性,本申请在将测试用例分配到与之匹配的目标容器中运行的步骤之后,还提供了如下方案,包括:
A1、对各节点的***资源占用率进行采集,获得***资源占用率;
A2、根据所述***资源占用率修正目标容器的处理性能。
本申请实施例提供的方案,在将测试用例分配到目标容器中执行之后,后续还可以通过采集***资源占用率修正各目标容器的处理性能,进一步地,还可以定期对目标容器的处理性能进行修正,修正周期可以根据实际情况设定,可以设置每处理一个测试用例进行一次更新,也可以设置更新周期定时对目标容器的处理性能进行更新,基于当前采集的***资源占用率修正目标容器的处理性能,实现对目标容器的处理性能的修正,以便基于修正后的处理性能进行测试用例与目标容器之间的匹配,提高测试用例与目标容器之间的匹配准确度,进而提高测试用例的测试效率。
步骤S230的根据所述测试用例的数据大小与目标容器的处理性能进行匹配的步骤,可以通过如下方式进行,其流程图如图4所示,包括:
S410,根据目标容器的数量对多个测试用例进行批次划分,每批测试用例的数量与目标容器的数量相同;
S420,针对每一批次,获取每一测试用例的数据大小,根据所述数据大小对测试用例进行排序;
S430,针对每一批次,调用预先按照所述目标容器的处理性能对目标容器进行排序的排序结果;
S440,针对每一批次,将所述排序相同的测试用例与目标容器进行匹配。
本申请实施例提供了一种目标容器与测试用例的匹配方案,每个目标容器每次执行一个测试用例,因此,对测试用例进行批次划分进行分批测试,每批次的测试用例的数量与目标容器的数量相同,且预先根据目标容器的处理性能对目标容器进行排序,获得目标容器在处理性能上的排序结果,根据数据大小对每批次中的测试用例进行排序,获得测试用例的排序结果,由于每批次中测试用例的数量与目标容器的数量相同,因此,将排序相同的测试用例与目标容器进行匹配,且是一一对应的匹配关系。
该种情况下,若测试用例的数量对目标容器数量取余不为零,则获取最后一个批次的测试用例的数量r,对最后一个批次的测试用例按照数据大小进行排序,调用与排名靠前的r个目标容器,按照目标容器的处理性能与测试用例的数据大小进行匹配处理,以最大程度地提高测试用例的处理效率。
上述实施例通过在分布式***上设置多个目标容器,并将测试用例分配到相匹配的目标容器中执行,实现提高测试用例执行效率的目的,本实施例还能通过如下实施例完善测试过程,步骤S230的将测试用例分配到与之匹配的目标容器中运行的步骤之后,还包括:
B1、获取记录测试用例运行过程的日志文件;
B2、从所述日志文件中提取测试结果及对应的测试用例标识;
B3、整合所述测试结果及测试用例标识生成测试报告并发送所述测试报告。
日志文件记录了测试用例在目标容器中运行的整个过程,记录了中间过程数据及最终的测试结果,本申请在获取到每个测试用例的日志文件后,对日志文件进行数据爬取,获取其中的测试结果及测试用例标识。获取多个测试用例的日志文件,爬取其中的测试结果及关联的测试用例标识,将多个所述测试结果及测试用例标识进行数据整合,生成测试报告,并将所述测试报告以邮件的形式发送到用户端,上述处理过程可以通过脚本文件执行,实现对测试报告的自动生成及自动发送,有利于实现测试过程的自动化程度。
上述创建目标容器及利用目标容器运行测试用例、成成测试报告的过程均可以通过脚本文件进行自动执行,编写脚本文件实现测试报告的生成过程中,可以利用HTMLTestRunner的run()方法实现在目标容器中执行测试用例并生成测试报告,HTMLTestRunner是Python标准卡unittest单元测试框架的一个扩展,主要用于生成HTML测试报告,以便生成一份通俗易懂的测试报告来展示自动化测试成果。
通过上述实施例获得测试报告之后,对测试报告进行数据分析,数据分析过程可以采用如下方式进行,其流程图如图5所示,包括:
S510,检测到测试报告中的测试结果超出其预设的标准参考范围,调取与该测试结果关联的测试用例标识;
S520,对该测试用例标识对应的目标测试用例二次执行,获取二次测试结果;
S530,根据所述二次测试结果确定导致所述测试结果异常的异常信息。
预先为每项测试结果设置标准参考范围,将测试报告中的每项测试结果与其对应的标准参考范围作对比,判断是否存在测试结果超出其标准参考范围的异常情况,若检测到测试报告中的测试结果超出其标准参考范围,表明该测试结果异常,该种异常有可能是目标容器执行过程出现问题,如目标容器的运行空间不够,运行环境异常等导致的测试不完全,也有可能是因为测试用例本身出现错误,测试用例数据受损等。有必要针对测试结果异常的情况进一步测试,以明确异常原因,本申请提供的方案是,针对异常的测试结果,调取与该测试结果关联的测试用例标识,将该测试用例标识对应的目标测试用例置于目标容器中二次执行,为了便于区别各目标容器,将第一次执行获得上述测试结果的目标容器称为第一目标容器,这里的目标容器优选为除了第一目标容器之外的其他目标容器,例如:异常测试结果是在目标容器4中执行的,编号1至4的目标容器正常运行,可以将该测试结果对应的测试用例置于编号为1至3的任一个目标容器中重新执行,获取二次测试结果,基于对二次测试结果的分析确定导致测试结果异常的异常信息,如:对二次测试结果与上述第一次测试的测试结果进行对比分析,根据分析结果确定异常信息。也可以利用第一目标容器二次执行目标测试用例,以排除偶发因素或环境因素造成的测试异常。
本申请实施例提供方案,对异常测试结果对应的目标测试用例进行二次执行,基于测试结果与二次测试结果确定导致测试结果异常的异常信息,该种方式能够便捷地明确异常信息,如可以直接排除偶发因素或环境因素导致的测试结果异常。
在此基础上,本申请还提供了以下实施例进一步明确异常测试结果的测试原因,结合图5,根据测试结果确定导致测试结果异常的异常信息的步骤,包括:
S540,判断所述二次测试结果是否超出其标准参考范围;
S550,当二次测试结果同样超出其标准参考范围,确定所述测试结果对应的测试用例异常。
由于测试结果与二次测试结果是针对同一测试用例进行的测试,因此调用预先为该测试用例设置的标准参考范围,将二次测试结果与标准参考范围进行对比,若二次测试结果同样超出其标准参考范围,则确定测试用例有误,若二次测试结果并未超出标准参考范围,则有可能是测试结果对应的目标容器存在异常。
利用本申请提供的方案能够明确当前出现问题的测试结果是否为测试用例有误导致的,避免由于对测试用例的误判,有利于明确测试结果出现问题的准确原因。
进一步地,步骤S550确定所述测试结果对应的测试用例异常的步骤之后,还包括:S560,发送测试用例异常的提醒信息,响应于所述提醒信息中携带的删除指令执行删除异常测试用例的操作。
明确测试用例异常之后,发送测试用例有误的提醒信息,所述提醒信息中携带有删除信息,响应于该删除指令执行删除异常测试用例的操作,以保证测试用例集合的准确性,能够避免其他测试过程利用该有误的测试用例进行测试,有利于保证测试结果的准确性。
进一步地,将测试用例分配到与之匹配的目标容器中运行的步骤之后,还包括:删除目标容器。
在所有的测试用例的测试进程完成之后,测试进程完成包括:对测试结果超出预设的标准参考范围的测试用例进行二次执行之后,即全部测试用例完成了测试及测试验证过程,测试过程不再需要目标容器进行执行,删除目标容器,解除目标容器对***资源的占用。
以上为本申请提供的自动化测试方法的实施例,针对于该方法,下面阐述与其对应的自动化测试装置的实施例。
本申请实施例还提供了一种自动化测试装置,其结构示意图如图6所示,包括:获取测试用例模块610、创建目标容器模块620、分配运行模块630,具体如下:
获取测试用例模块610,用于根据预设的测试需求获取若干测试用例;
创建目标容器模块620,用于在预设的分布式***上创建多个用于执行所述测试用例的目标容器;
分配运行模块630,用于根据所述测试用例的数据大小与目标容器的处理性能进行匹配,将测试用例分配到与之匹配的目标容器中运行。
关于上述实施例中的自动化测试装置,其中各个模块的执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
进一步地,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述任意一项所述的自动化测试方法的步骤。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
更进一步地,本申请实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的自动化测试方法的步骤。
图7是根据一示例性实施例示出的一种用于计算机设备700的框图。例如,计算机设备700可以被提供为服务器端。参照图7,计算机设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述自动化测试方法的步骤。
计算机设备700还可以包括一个电源组件726被配置为执行计算机设备700的电源管理,一个有线或无线网络接口750被配置为将计算机设备700连接到网络,和一个输入输出(I/O)接口758。计算机设备700可以操作基于存储在存储器732的操作***,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本申请各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (9)

1.一种自动化测试方法,其特征在于,包括:
根据预设的测试需求获取若干测试用例;
在预设的分布式***上创建多个用于执行所述测试用例的目标容器;
根据所述测试用例的数据大小与目标容器的处理性能进行匹配,将测试用例分配到与之匹配的目标容器中运行;
获取记录测试用例运行过程的日志文件,所述日志文件中包括测试用例的测试结果;
若测到测试报告中存在异常的测试结果,所述异常的测试结果超出其预设的标准参考范围,则确定与所述异常的测试结果关联的测试用例标识;
将该测试用例标识对应的目标测试用例置于其他目标容器中执行,在所述其他目标容器中对所述目标测试用例二次执行,获取二次测试结果;
基于异常的测试结果和二次测试结果确定导致测试结果异常的异常信息;所述其他目标容器为所述多个目标容器中除了第一目标容器之外的其他容器;所述第一目标容器为第一次执行所述目标测试用例获得所述异常的测试结果的目标容器;所述根据所述测试用例的数据大小与目标容器的处理性能进行匹配,包括:
根据目标容器的数量对多个测试用例进行批次划分,每批测试用例的数量与目标容器的数量相同;
针对每一批次,获取每一测试用例的数据大小,并根据所述数据大小对测试用例进行排序;
针对每一批次,调用预先按照所述目标容器的处理性能对目标容器进行排序的排序结果;
针对每一批次,将所述排序相同的测试用例与目标容器进行匹配。
2.根据权利要求1所述的自动化测试方法,其特征在于,根据在预设的分布式***上创建多个用于执行所述测试用例的目标容器的步骤,包括:
获取目标容器所在的分布式***的节点信息;
根据所述节点信息读取所述分布式***上各节点的***资源占用率;
根据各节点的***资源占用率确定所述各节点对应的目标容器的处理性能;
根据测试需求及所述处理性能生成各节点对应的配置文件,根据所述配置文件创建目标容器。
3.根据权利要求2所述的自动化测试方法,其特征在于,所述将测试用例分配到与之匹配的目标容器中运行的步骤之后,还包括:
对各节点的***资源占用率进行采集,获得***资源占用率;
根据所述***资源占用率修正目标容器的处理性能。
4.根据权利要求1所述的自动化测试方法,其特征在于,所述将测试用例分配到与之匹配的目标容器中运行的步骤之后,还包括:
从所述日志文件中提取测试结果及对应的测试用例标识;
整合所述测试结果及测试用例标识生成测试报告并发送所述测试报告。
5.根据权利要求1所述的自动化测试方法,其特征在于,所述获取二次测试结果之后,还包括:
根据所述二次测试结果确定导致所述测试结果异常的异常信息。
6.根据权利要求5所述的自动化测试方法,其特征在于,所述根据所述二次测试结果确定导致所述测试结果异常的异常信息的步骤,包括:
当二次测试结果同样超出其标准参考范围时,确定所述测试结果对应的测试用例异常。
7.一种自动化测试装置,其特征在于,包括:
获取测试用例模块,用于根据预设的测试需求获取若干测试用例;
创建目标容器模块,用于在预设的分布式***上创建多个用于执行所述测试用例的目标容器;
分配运行模块,用于根据所述测试用例的数据大小与目标容器的处理性能进行匹配,将测试用例分配到与之匹配的目标容器中运行;获取记录测试用例运行过程的日志文件,所述日志文件中包括测试用例的测试结果;若测到测试报告中存在异常的测试结果,所述异常的测试结果超出其预设的标准参考范围,则确定与所述异常的测试结果关联的测试用例标识;将该测试用例标识对应的目标测试用例置于其他目标容器中执行,在所述其他目标容器中对所述目标测试用例二次执行,获取二次测试结果;基于异常的测试结果和二次测试结果确定导致测试结果异常的异常信息;所述其他目标容器为所述多个目标容器中除了第一目标容器之外的其他容器;所述第一目标容器为第一次执行所述目标测试用例获得所述异常的测试结果的目标容器;
分配运行模块具体用于根据目标容器的数量对多个测试用例进行批次划分,每批测试用例的数量与目标容器的数量相同;
针对每一批次,获取每一测试用例的数据大小,并根据所述数据大小对测试用例进行排序;
针对每一批次,调用预先按照所述目标容器的处理性能对目标容器进行排序的排序结果;
针对每一批次,将所述排序相同的测试用例与目标容器进行匹配。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至6中任一项所述的自动化测试方法的步骤。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的自动化测试方法的步骤。
CN201911053638.0A 2019-10-31 2019-10-31 自动化测试方法、装置、存储介质及设备 Active CN110765026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911053638.0A CN110765026B (zh) 2019-10-31 2019-10-31 自动化测试方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911053638.0A CN110765026B (zh) 2019-10-31 2019-10-31 自动化测试方法、装置、存储介质及设备

Publications (2)

Publication Number Publication Date
CN110765026A CN110765026A (zh) 2020-02-07
CN110765026B true CN110765026B (zh) 2023-08-01

Family

ID=69335079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911053638.0A Active CN110765026B (zh) 2019-10-31 2019-10-31 自动化测试方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN110765026B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506465A (zh) * 2020-04-20 2020-08-07 北京易点淘网络技术有限公司 电脑功能测试方法及装置
CN111581085B (zh) * 2020-04-28 2023-06-20 广州市百果园信息技术有限公司 联调测试***及方法
CN111639022B (zh) * 2020-05-16 2023-06-06 中信银行股份有限公司 交易测试方法及装置、存储介质、电子装置
CN112162927B (zh) * 2020-10-13 2024-04-26 网易(杭州)网络有限公司 云计算平台的测试方法、介质、装置和计算设备
CN112346979A (zh) * 2020-11-11 2021-02-09 杭州飞致云信息科技有限公司 软件性能测试方法、***和可读存储介质
CN112486812A (zh) * 2020-11-26 2021-03-12 北京海量数据技术股份有限公司 一种支持云的分布式框架软件测试方法及装置
CN112596750B (zh) * 2020-12-28 2022-04-26 上海安畅网络科技股份有限公司 应用测试方法、装置、电子设备及计算机可读存储介质
CN113485905B (zh) * 2021-02-26 2023-09-05 杜自然 数据交易中的测试方法、装置、设备以及计算机存储介质
CN114039974B (zh) * 2021-10-20 2024-05-31 支付宝(杭州)信息技术有限公司 向用户提供设备服务的方法、装置、存储介质及电子设备
CN117234949B (zh) * 2023-11-13 2024-03-19 广州品唯软件有限公司 测试数据降噪方法、装置、存储介质、计算机设备
CN117520129B (zh) * 2023-11-21 2024-05-10 北京东青互联科技有限公司 一种数据中心设备监控方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8063908B1 (en) * 2007-11-08 2011-11-22 Nvidia Corporation System, method, and computer program product for validating a graphics processor design
CN108959080A (zh) * 2018-06-27 2018-12-07 郑州云海信息技术有限公司 一种基于UnitTest并行执行的自动化测试方法
CN109062780A (zh) * 2018-06-25 2018-12-21 深圳市远行科技股份有限公司 自动化测试用例的开发方法及终端设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609352B (zh) * 2011-01-19 2014-11-19 阿里巴巴集团控股有限公司 一种并行测试方法及并行测试服务器
CN108171050A (zh) * 2017-12-29 2018-06-15 浙江大学 Linux容器的细粒度沙盒策略挖掘方法
CN110083535A (zh) * 2019-04-22 2019-08-02 网宿科技股份有限公司 一种软件测试方法及装置
CN114168429A (zh) * 2021-12-17 2022-03-11 平安付科技服务有限公司 报错分析方法、装置、计算机设备及存储介质
CN114691494A (zh) * 2022-02-28 2022-07-01 网宿科技股份有限公司 测试用例的执行方法、***及测试设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8063908B1 (en) * 2007-11-08 2011-11-22 Nvidia Corporation System, method, and computer program product for validating a graphics processor design
CN109062780A (zh) * 2018-06-25 2018-12-21 深圳市远行科技股份有限公司 自动化测试用例的开发方法及终端设备
CN108959080A (zh) * 2018-06-27 2018-12-07 郑州云海信息技术有限公司 一种基于UnitTest并行执行的自动化测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种J2EE服务器端软件测试用例的复用框架研究;赵亮等;《小型微型计算机***》(第4期);第663-667页 *
基于用例录制的电力二次智能设备自动测试平台;于哲等;《电工技术》(第21期);第75-78页 *

Also Published As

Publication number Publication date
CN110765026A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
CN110765026B (zh) 自动化测试方法、装置、存储介质及设备
CN110162435B (zh) 一种服务器pxe启动测试方法、***、终端及存储介质
CN110045991B (zh) 服务器的raid配置方法、装置、计算机设备和存储介质
CN109587331B (zh) 云手机故障自动修复的方法与***
US11556409B2 (en) Firmware failure reason prediction using machine learning techniques
CN111831567B (zh) 应用的测试环境配置方法、装置、***和介质
CN111371610A (zh) 一种网卡固件批量刷新方法、***、终端及存储介质
CN111966551A (zh) 远程命令执行结果的校验方法、***、终端及存储介质
CN106708727B (zh) 一种分布式病毒特征样本验证方法及***
CN111858201A (zh) 一种bmc综合测试方法、***、终端及存储介质
CN111399862A (zh) Windows缺失驱动的批量安装方法、装置和计算机设备
CN109002348B (zh) 一种虚拟化***中的负载均衡方法及装置
CN114064216A (zh) 一种虚拟机初始化方法、装置、终端设备及存储介质
CN112214413A (zh) 一种应用程序的测试方法、装置、设备及存储介质
CN111768129A (zh) 专有云产品的交付方法、装置、设备及存储介质
CN114860694B (zh) 一种风电场监控***异步协同数据迁移方法及装置
CN116149941A (zh) 服务器部件的监控方法、装置、服务器及存储介质
CN112463574A (zh) 软件测试方法、装置、***、设备和存储介质
CN112596750B (zh) 应用测试方法、装置、电子设备及计算机可读存储介质
CN115221092A (zh) Pci-e卡可分配的总线确定方法、装置、设备及存储介质
CN115080382A (zh) 一种代码测试方法、装置、设备及介质
CN114461458A (zh) 服务器内存测试方法、***、终端及存储介质
CN113656291A (zh) 软件脚本引擎动态调用方法
CN113703804A (zh) ***升级方法、***、装置及存储介质
CN112817620A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 801-2, floor 8, building 3, No. 22, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Applicant after: Wanghai Kangxin (Beijing) Technology Co.,Ltd.

Address before: Room 07, Room 2, Building B, 12 Hongda North Road, Beijing Daxing District, Beijing

Applicant before: BEIJING NEUSOFT VIEWHIGH TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant