CN109871328B - 一种软件测试方法及装置 - Google Patents

一种软件测试方法及装置 Download PDF

Info

Publication number
CN109871328B
CN109871328B CN201910141903.4A CN201910141903A CN109871328B CN 109871328 B CN109871328 B CN 109871328B CN 201910141903 A CN201910141903 A CN 201910141903A CN 109871328 B CN109871328 B CN 109871328B
Authority
CN
China
Prior art keywords
test
testing
software
target
machines
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
CN201910141903.4A
Other languages
English (en)
Other versions
CN109871328A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201910141903.4A priority Critical patent/CN109871328B/zh
Publication of CN109871328A publication Critical patent/CN109871328A/zh
Application granted granted Critical
Publication of CN109871328B publication Critical patent/CN109871328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种软件测试方法及装置。所述方法包括:测试平台接收测试人员发送的待测试软件的测试命令,根据软件测试的类型,从预先定义的多个测试环境中克隆创建待测试软件对应的测试环境;进而在多个测试机器中搭建至少一个测试容器;其中,测试容器包括测试环境和待测试软件,以使测试容器中的待测试软件在测试环境中执行测试任务。如此,采用预先存储的测试环境,能够有效避免测试人员反复搭建测试环境带来的人力物力浪费的问题,从而减轻测试人员的工作负担。

Description

一种软件测试方法及装置
技术领域
本发明涉及软件测试技术领域,尤其涉及一种软件测试方法及装置。
背景技术
随着软件开发技术的提高,软件开发工具的完善,软件测试日益得到重视和专业化。现有的软件测试,多需要测试人员部署大量的测试机器,并且人工在测试机器中搭建和客户环境相仿的测试环境,这样才能进行软件测试。
由于软件测试存在一定的重复性,故对于不同的软件测试有时可以使用相同的测试环境,然而,现有技术中,每次进行软件测试,都需要测试人员花费大量时间和精力重新搭建测试环境,给测试人员带来了很大的工作负担。
基于此,目前亟需一种软件测试方法,用于解决现有技术中每次进行软件测试,都需要测试人员花费大量时间和精力重新搭建测试环境,给测试人员带来了很大的工作负担的问题。
发明内容
本发明实施例提供一种软件测试方法及装置,以解决现有技术中每次进行软件测试,都需要测试人员花费大量时间和精力重新搭建测试环境,给测试人员带来了很大的工作负担的技术问题。
本发明实施例提供一种软件测试方法,所述方法应用于测试***,所述测试***包括测试管理设备和多个测试机器,所述测试管理设备包括测试平台;所述方法包括:
所述测试平台接收测试人员发送的待测试软件的测试命令;所述测试命令包括软件测试的类型和软件测试的测试任务;
所述测试平台根据所述软件测试的类型,从预先定义的多个测试环境中克隆创建所述待测试软件对应的测试环境;
所述测试平台在所述多个测试机器中搭建至少一个测试容器;所述测试容器包括所述测试环境和所述待测试软件,以使所述测试容器中的所述待测试软件在所述测试环境中执行所述测试任务。
如此,测试平台在接收到测试命令后,可以直接获取预先存储的测试环境,并在测试机器中搭建测试容器,由于测试容器中包括测试环境,因此,软件测试可以直接在测试容器中进行。本发明实施例中预先存储的测试环境能够有效避免测试人员反复搭建测试环境带来的人力物力浪费的问题,从而减轻测试人员的工作负担,增加机器资源复用,提高机器资源使用率,缩短执行时间。
在一种可能的实现方式中,所述测试平台在所述多个测试机器中搭建至少一个测试容器之前,还包括:
所述测试平台获取当前周期内所述多个测试机器的资源使用量;
所述测试平台根据每个测试机器的资源使用量和所述测试任务对应的资源需求量,确定至少一个目标测试机器;
所述测试平台在所述多个测试机器中搭建至少一个测试容器,包括:
所述测试平台在所述至少一个目标测试机器中搭建所述至少一个测试容器。
在一种可能的实现方式中,所述测试容器的数量通过以下方式确定:
若所述测试任务的数量小于或等于所述目标测试机器的数量,则确定所述测试容器的数量与所述测试任务的数量一致;
若所述测试任务的数量大于所述目标测试机器的数量,则确定所述测试容器的数量与所述目标测试机器的数量一致。
在一种可能的实现方式中,若所述测试任务的数量大于所述目标测试机器的数量,则所述测试平台在所述至少一个目标测试机器中搭建所述至少一个测试容器之后,还包括:
所述测试平台从所述至少一个测试任务中确定与所述目标测试机器的数量一致的待分配的测试任务;
所述测试平台将所述待分配的测试任务逐一分配给所述至少一个目标测试机器;
所述测试平台返回确定与所述目标测试机器的数量一致的待分配的测试任务的步骤,直至所述至少一个测试任务全部被分配。
在一种可能的实现方式中,所述测试管理设备还包括用于管理所述多个测试机器的Rancher服务器;
所述测试平台获取当前周期内所述多个测试机器的资源使用量,包括:
所述测试平台通过所述Rancher服务器获取当前周期内所述多个测试机器的资源使用量;所述当前周期内所述多个测试机器的资源使用量是所述Rancher服务器从所述多个测试机器中采集并存储的。
在一种可能的实现方式中,所述测试平台在所述多个测试机器中搭建至少一个测试容器之后,还包括:
所述测试平台接收并存储所述测试机器发送的测试报告。
在一种可能的实现方式中,所述测试平台在所述多个测试机器中搭建至少一个测试容器之后,还包括:
所述测试平台若确定软件测试结束,则删除所述测试机器中的所述测试容器。
本发明实施例提供一种软件测试装置,所述装置应用于测试***,所述测试***包括测试管理设备和多个测试机器,所述测试管理设备包括测试平台;所述装置为所述测试平台,所述装置包括:
接收单元,用于接收测试人员发送的待测试软件的测试命令;所述测试命令包括软件测试的类型和软件测试的测试任务;
处理单元,用于根据所述软件测试的类型,从预先定义的多个测试环境中克隆创建所述待测试软件对应的测试环境;
搭建单元,用于在所述多个测试机器中搭建至少一个测试容器;所述测试容器包括所述测试环境和所述待测试软件,以使所述测试容器中的所述待测试软件在所述测试环境中执行所述测试任务。
在一种可能的实现方式中,在所述搭建单元在所述多个测试机器中搭建至少一个测试容器之前,所述处理单元还用于:
获取当前周期内所述多个测试机器的资源使用量;并根据每个测试机器的资源使用量和所述测试任务对应的资源需求量,确定至少一个目标测试机器;
所述搭建单元具体用于:
在所述至少一个目标测试机器中搭建所述至少一个测试容器。
在一种可能的实现方式中,所述测试容器的数量通过以下方式确定:
若所述测试任务的数量小于或等于所述目标测试机器的数量,则确定所述测试容器的数量与所述测试任务的数量一致;
若所述测试任务的数量大于所述目标测试机器的数量,则确定所述测试容器的数量与所述目标测试机器的数量一致。
在一种可能的实现方式中,若所述测试任务的数量大于所述目标测试机器的数量,则所述搭建单元在所述至少一个目标测试机器中搭建所述至少一个测试容器之后,还用于:
从所述至少一个测试任务中确定与所述目标测试机器的数量一致的待分配的测试任务;并将所述待分配的测试任务逐一分配给所述至少一个目标测试机器;以及在确定第一目标测试机器执行完成所述待分配的测试任务后,从所述至少一个测试任务中获取除所述待分配的测试任务以外的任一测试任务,并分配给所述第一目标测试机器,直至所述至少一个测试任务全部被分配;所述第一目标测试机器为所述至少一个目标测试机器中任一目标测试机器。
在一种可能的实现方式中,所述测试管理设备还包括用于管理所述多个测试机器的Rancher服务器;
所述处理单元具体用于:
通过所述Rancher服务器获取当前周期内所述多个测试机器的资源使用量;所述当前周期内所述多个测试机器的资源使用量是所述Rancher服务器从所述多个测试机器中采集并存储的。
在一种可能的实现方式中,所述搭建单元在所述多个测试机器中搭建至少一个测试容器之后,所述接收单元还用于:
接收并存储所述测试机器发送的测试报告。
在一种可能的实现方式中,所述搭建单元在所述多个测试机器中搭建至少一个测试容器之后,所述处理单元还用于:
若确定软件测试结束,则删除所述测试机器中的所述测试容器。
本申请实施例的还提供一种装置,该装置具有实现上文所描述的软件测试方法的功能。该功能可以通过硬件执行相应的软件实现,在一种可能的设计中,该装置包括:处理器、收发器、存储器;该存储器用于存储计算机执行指令,该收发器用于实现该装置与其他通信实体进行通信,该处理器与该存储器通过该总线连接,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行上文所描述的软件测试方法。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的软件测试方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的软件测试方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1a为本发明实施例适用的一种测试***的架构示意图;
图1b为本发明实施例适用的另一种测试***的架构示意图;
图2为本发明实施例提供的一种软件测试方法所对应的流程示意图;
图3为本发明实施例涉及的整体性的流程示意图;
图4为本发明实施例提供的一种软件测试装置的结构示意图。
具体实施方式
下面结合说明书附图对本申请进行具体说明,方法实施例中的具体操作方法也可以应用于装置实施例中。
图1a示例性示出了本发明实施例适用的一种测试***的架构示意图,如图1a所示,本发明实施例适用的测试***100可以包括测试管理设备101和多个测试机器,例如,图1a中示出的测试机器1021、测试机器1022和测试机器1023。其中,测试管理设备101可以通过网络与任一测试机器连接,例如,测试管理设备101可以通过网络与测试机器1021连接,或者,测试管理设备101也可以通过网络与测试机器1022连接,或者,测试管理设备101还可以通过网络与测试机器1023连接。
本发明实施例中,测试管理设备101可以包括测试平台1011。测试平台1011可以根据测试命令智能调度分发测试任务,将测试任务分发至测试机器,并接收测试机器在执行完测试任务后上传的测试报告。
在图1a的基础上,图1b示例性示出了本发明实施例适用的另一种测试***的架构示意图,如图1b所示,测试管理设备101可以包括Rancher服务器1012,Rancher服务器1012用于管理多个测试机器。通过Rancher服务器1012管理各测试机器,智能检测各测试机器资源使用量,从而缓解测试平台1011的运行负担。
基于图1a和图1b所示的***架构,图2示例性示出了本发明实施例提供的一种软件测试方法所对应的流程示意图。如图2所示,具体包括如下步骤:
步骤201,测试平台接收测试人员发送的待测试软件的测试命令。
步骤202,测试平台根据软件测试的类型,从预先定义的多个测试环境中克隆创建所述待测试软件对应的测试环境。
步骤203,测试平台在多个测试机器中搭建至少一个测试容器。
如此,测试平台在接收到测试命令后,可以直接获取预先存储的测试环境,并在测试机器中搭建测试容器,由于测试容器中包括测试环境,因此,软件测试可以直接在测试容器中进行。本发明实施例中预先存储的测试环境能够有效避免测试人员反复搭建测试环境带来的人力物力浪费的问题,从而减轻测试人员的工作负担,增加机器资源复用,提高机器资源使用率,缩短执行时间。
具体来说,步骤201中,测试命令可以包括软件测试的类型和软件测试的测试任务。其中,软件测试是一种实际输出与预期输出之间的审核或者比较过程,换言之,软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。进一步地,软件测试的类型主要包括接口测试何性能测试。软件测试的测试任务可以是对要执行测试的产品/项目进行分析,确定测试策略,制定测试任务。
步骤202,测试平台可以预先存储有多个测试环境。进一步地,测试平台还可以存储有每个测试环境对应的软件测试的类型。如表1所示,为每个测试环境对应的软件测试的类型的一种示例。其中,测试环境A对应的软件测试的类型为功能测试,测试环境B对应的软件测试的类型为性能测试,测试环境C对应的软件测试的类型为安全测试。
表1:每个测试环境对应的软件测试的类型的一种示例
测试环境 软件测试的类型
测试环境A 功能测试
测试环境B 性能测试
测试环境C 安全测试
步骤203中,测试容器可以包括测试环境和待测试软件,通过在测试机器中搭建测试容器,可以使得测试容器中的待测试软件在测试环境中执行测试任务。
本发明实施例中,测试容器可以是docker镜像。
进一步地,以图1b示出的***架构中包括Rancher服务器为例,测试平台还可以通过Rancher服务器在多个测试机器中搭建至少一个测试容器。
进一步地,为了提高搭建测试容器的成功率,加快软件测试的速度,本发明实施例中,在执行上述步骤203之前,可以先从多个测试机器中确定出至少一个目标测试机器,进而在目标测试机器中搭建测试容器。具体来说,测试平台可以获取当前周期内多个测试机器的资源使用量,进而可以根据每个测试机器的资源使用量和测试任务对应的资源需求量,确定至少一个目标测试机器,从而在至少一个目标测试机器中搭建至少一个测试容器。
考虑到图1b示出的***架构中还可以包括Rancher服务器,因此,Rancher服务器可以从多个测试机器中采集并存储的当前周期内多个测试机器的资源使用量,如此,测试平台可以通过Rancher服务器获取当前周期内多个测试机器的资源使用量。采用Rancher服务器管理多个测试机器,可以减轻测试平台的运行负担,同时也可以提高多个测试机器的管理效率。
举个例子,设定每个测试任务对应的资源需求量为10G,测试***包括5个测试机器(分别编号测试机器1、测试机器2、测试机器3、测试机器4、测试机器5),每个测试机器的最大资源使用量为100G,其中,测试机器1和测试机器2当前周期内的资源使用量达到100G,测试机器3当前周期可知内的资源使用量达到95G,测试机器4和测试机器5当前周期内的资源使用量达到90G,只有测试机器4和测试机器5的资源使用量能够满足测试任务的资源需求量,因此,目标测试机器为测试机器4和测试机器5。
需要说明的是,在其它可能的实现方式中,本领域技术人员也可以采用其它方式来确定目标测试机器,比如可以根据各测试机器的性能,将性能较好的测试机器作为目标测试机器,具体不做限定。
更进一步地,考虑到本发明实施例中,测试任务的数量与目标测试机器的数量可能存在不一致的情况,比如,测试任务的数量可能小于或等于目标测试机器的数量,或者,测试任务的数量也可能大于目标测试机器的数量。为了使得测试容器的数量能够满足不同数量的测试任务或目标测试机器,本发明实施例中,可以通过如下方式确定测试容器的数量。
方式一,若测试任务的数量小于或等于目标测试机器的数量,则可以确定测试容器的数量与测试任务的数量一致。
方式二,若测试任务的数量大于目标测试机器的数量,则可以确定测试容器的数量与目标测试机器的数量一致。
进一步的,在上述方式二中,由于测试任务的数量大于目标测试机器的数量时,所选取的测试容器的数量是与目标测试机器的数量一致的,也就是说,测试任务的数量也是大于测试容器的数量,因此,在这种情况下,可以采用多种方式分配测试任务。一种可能的实现方式为,测试平台可以从至少一个测试任务中确定与目标测试机器的数量一致的待分配的测试任务,并将待分配的测试任务逐一分配给至少一个目标测试机器;进而,待目标测试机器执行完成待分配的测试任务后,测试平台在确定第一目标测试机器执行完成待分配的测试任务后,从至少一个测试任务中获取除所述待分配的测试任务以外的任一测试任务,并分配给第一目标测试机器,直至所有的测试任务全部被分配;其中,所述第一目标测试机器为至少一个目标测试机器中任一目标测试机器。
在其它可能的实现方式中,测试平台也可以将所有的测试任务平均分配给各目标测试机器;或者,测试平台也可以在判断测试任务的数量与目标测试机器的数量的基础上,根据是否有其他的并行任务来判断机器的使用情况,进而确定是否要占用全部测试机器,以及确定各测试机器的分配比率,具体不做限定。
可选地,在执行步骤203之后,测试平台还可以接收并存储测试机器发送的测试报告。
采用这种方法,测试平台可以主动归集各测试机器进行软件测试产生的测试报告,并且可合并展示同一软件测试的测试报告,方便用户查看测试结果。
可选地,在执行步骤203之后,测试平台若确定软件测试结束,则可以删除测试机器中的测试容器。
采用这种方法,当需要进行软件测试时在测试机器搭建软件测试所需的测试容器,当软件测试结束后可以删除测试容器,释放测试机器的资源,从而能够节约测试机器的资源,减少测试机器资源的浪费。
为了更清楚地介绍上述软件测试方法,下面结合图3,对本发明实施例中所涉及到的流程进行整体性说明。如图3所示,可以包括以下步骤:
步骤301,测试平台接收测试人员发送的待测试软件的测试命令。
步骤302,测试平台确定软件测试的测试任务列表。
步骤303,Rancher服务器从多个测试机器中采集并存储当前周期内多个测试机器的资源使用量。
步骤304,测试平台通过Rancher服务器获取当前周期内所述多个测试机器的资源使用量。
步骤305,测试平台根据每个测试机器的资源使用量和测试任务对应的资源需求量,确定至少一个目标测试机器。
步骤306,测试平台判断测试任务的数量是否大于目标测试机器的数量,若大于,则执行步骤307;否则,执行步骤308。
步骤307,测试平台确定测试容器的数量与目标测试机器的数量一致。
步骤308,测试平台确定测试容器的数量与测试任务的数量一致。
步骤309,测试平台在至少一个目标测试机器中搭建至少一个测试容器。
步骤310,测试平台从测试任务列表中确定与目标测试机器的数量一致的待分配的测试任务。
步骤311,测试平台将待分配的测试任务逐一分配给至少一个目标测试机器。
步骤312,测试机器接收测试平台分配的测试任务。
步骤313,测试机器在搭建的测试容器中执行测试任务。
步骤314,测试机器向测试平台发送测试报告。
步骤315,测试平台判断测试任务列表中的测试任务是否全部被分配,若是,则执行步骤316;否则,执行步骤317。
步骤316,测试平台判断软件测试是否结束,若结束,则执行步骤318;否则,等待预设时间段后,返回步骤316。
步骤317,测试平台在确定第一目标测试机器执行完成所述待分配的测试任务后,从至少一个测试任务中获取除所述待分配的测试任务以外的任一测试任务,并分配给第一目标测试机器,直至至少一个测试任务全部被分配。
步骤318,测试平台删除测试机器中的测试容器。
本发明实施例中,测试平台在接收到测试命令后,可以直接获取预先存储的测试环境,并在测试机器中搭建测试容器,由于测试容器中包括测试环境,因此,软件测试可以直接在测试容器中进行。采用预先存储的测试环境,能够有效避免测试人员反复搭建测试环境带来的人力物力浪费的问题,从而减轻测试人员的工作负担。进而,在软件测试结束后,可以删除测试容器,释放测试机器的资源,从而能够节约测试机器的资源,减少测试机器资源的浪费。
基于相同构思,本发明实施例提供的一种软件测试装置,,所述装置应用于测试***,测试***包括测试管理设备和多个测试机器,测试管理设备可以包括测试平台;所述装置可以为测试平台。如图4所示,该装置包括接收单元401、处理单元402和搭建单元403;其中,
接收单元401,用于接收测试人员发送的待测试软件的测试命令;所述测试命令包括软件测试的类型和软件测试的测试任务;
处理单元402,用于根据所述软件测试的类型,从预先定义的多个测试环境中克隆创建所述待测试软件对应的测试环境;
搭建单元403,用于在所述多个测试机器中搭建至少一个测试容器;所述测试容器包括所述测试环境和所述待测试软件,以使所述测试容器中的所述待测试软件在所述测试环境中执行所述测试任务。
在一种可能的实现方式中,在所述搭建单元403在所述多个测试机器中搭建至少一个测试容器之前,所述处理单元402还用于:
获取当前周期内所述多个测试机器的资源使用量;并根据每个测试机器的资源使用量和所述测试任务对应的资源需求量,确定至少一个目标测试机器;
所述搭建单元403具体用于:
在所述至少一个目标测试机器中搭建所述至少一个测试容器。
在一种可能的实现方式中,所述测试容器的数量通过以下方式确定:
若所述测试任务的数量小于或等于所述目标测试机器的数量,则确定所述测试容器的数量与所述测试任务的数量一致;
若所述测试任务的数量大于所述目标测试机器的数量,则确定所述测试容器的数量与所述目标测试机器的数量一致。
在一种可能的实现方式中,若所述测试任务的数量大于所述目标测试机器的数量,则所述搭建单元403在所述至少一个目标测试机器中搭建所述至少一个测试容器之后,还用于:
从所述至少一个测试任务中确定与所述目标测试机器的数量一致的待分配的测试任务;并将所述待分配的测试任务逐一分配给所述至少一个目标测试机器;以及在确定第一目标测试机器执行完成所述待分配的测试任务后,从所述至少一个测试任务中获取除所述待分配的测试任务以外的任一测试任务,并分配给所述第一目标测试机器,直至所述至少一个测试任务全部被分配;所述第一目标测试机器为所述至少一个目标测试机器中任一目标测试机器。
在一种可能的实现方式中,所述测试管理设备还包括用于管理所述多个测试机器的Rancher服务器;
所述处理单元402具体用于:
通过所述Rancher服务器获取当前周期内所述多个测试机器的资源使用量;所述当前周期内所述多个测试机器的资源使用量是所述Rancher服务器从所述多个测试机器中采集并存储的。
在一种可能的实现方式中,所述搭建单元403在所述多个测试机器中搭建至少一个测试容器之后,所述接收单元401还用于:
接收并存储所述测试机器发送的测试报告。
在一种可能的实现方式中,所述搭建单元403在所述多个测试机器中搭建至少一个测试容器之后,所述处理单元402还用于:
若确定软件测试结束,则删除所述测试机器中的所述测试容器。
本申请实施例的还提供一种装置,该装置具有实现上文所描述的软件测试方法的功能。该功能可以通过硬件执行相应的软件实现,在一种可能的设计中,该装置包括:处理器、收发器、存储器;该存储器用于存储计算机执行指令,该收发器用于实现该装置与其他通信实体进行通信,该处理器与该存储器通过该总线连接,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行上文所描述的软件测试方法。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的软件测试方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的软件测试方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种软件测试方法,其特征在于,所述方法应用于测试***,所述测试***包括测试管理设备和多个测试机器,所述测试管理设备包括测试平台和Rancher服务器,所述Rancher服务器用于管理所述多个测试机器;所述方法包括:
所述测试平台接收测试人员发送的待测试软件的测试命令;所述测试命令包括软件测试的类型和软件测试的测试任务;
所述测试平台根据所述软件测试的类型,从预先定义的多个测试环境中克隆创建所述待测试软件对应的测试环境;
所述测试平台通过所述Rancher服务器获取当前周期内所述多个测试机器的资源使用量;
所述测试平台根据每个测试机器的资源使用量和所述测试任务对应的资源需求量,确定至少一个目标测试机器;
所述测试平台在所述至少一个目标测试机器中搭建至少一个测试容器;所述测试容器包括所述测试环境和所述待测试软件,以使所述测试容器中的所述待测试软件在所述测试环境中执行所述测试任务。
2.根据权利要求1所述的方法,其特征在于,所述测试容器的数量通过以下方式确定:
若所述测试任务的数量小于或等于所述目标测试机器的数量,则确定所述测试容器的数量与所述测试任务的数量一致;
若所述测试任务的数量大于所述目标测试机器的数量,则确定所述测试容器的数量与所述目标测试机器的数量一致。
3.根据权利要求2所述的方法,其特征在于,若所述测试任务的数量大于所述目标测试机器的数量,则所述测试平台在所述至少一个目标测试机器中搭建所述至少一个测试容器之后,还包括:
所述测试平台从所述至少一个测试任务中确定与所述目标测试机器的数量一致的待分配的测试任务;
所述测试平台将所述待分配的测试任务逐一分配给所述至少一个目标测试机器;
所述测试平台在确定第一目标测试机器执行完成所述待分配的测试任务后,从所述至少一个测试任务中获取除所述待分配的测试任务以外的任一测试任务,并分配给所述第一目标测试机器,直至所述至少一个测试任务全部被分配;所述第一目标测试机器为所述至少一个目标测试机器中任一目标测试机器。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述测试平台在所述多个测试机器中搭建至少一个测试容器之后,还包括:
所述测试平台接收并存储所述测试机器发送的测试报告。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述测试平台在所述多个测试机器中搭建至少一个测试容器之后,还包括:
所述测试平台若确定软件测试结束,则删除所述测试机器中的所述测试容器。
6.一种软件测试装置,其特征在于,所述装置应用于测试***,所述测试***包括测试管理设备和多个测试机器,所述测试管理设备包括测试平台和Rancher服务器,所述Rancher服务器用于管理所述多个测试机器;所述装置为所述测试平台,所述装置包括:
接收单元,用于接收测试人员发送的待测试软件的测试命令;所述测试命令包括软件测试的类型和软件测试的测试任务;
处理单元,用于根据所述软件测试的类型,从预先定义的多个测试环境中克隆创建所述待测试软件对应的测试环境;通过所述Rancher服务器获取当前周期内所述多个测试机器的资源使用量;根据每个测试机器的资源使用量和所述测试任务对应的资源需求量,确定至少一个目标测试机器;
搭建单元,用于在所述至少一个目标测试机器中搭建至少一个测试容器;所述测试容器包括所述测试环境和所述待测试软件,以使所述测试容器中的所述待测试软件在所述测试环境中执行所述测试任务。
7.根据权利要求6所述的装置,其特征在于,所述测试容器的数量通过以下方式确定:
若所述测试任务的数量小于或等于所述目标测试机器的数量,则确定所述测试容器的数量与所述测试任务的数量一致;
若所述测试任务的数量大于所述目标测试机器的数量,则确定所述测试容器的数量与所述目标测试机器的数量一致。
8.根据权利要求7所述的装置,其特征在于,若所述测试任务的数量大于所述目标测试机器的数量,则所述搭建单元在所述至少一个目标测试机器中搭建所述至少一个测试容器之后,还用于:
从所述至少一个测试任务中确定与所述目标测试机器的数量一致的待分配的测试任务;并将所述待分配的测试任务逐一分配给所述至少一个目标测试机器;以及在确定第一目标测试机器执行完成所述待分配的测试任务后,从所述至少一个测试任务中获取除所述待分配的测试任务以外的任一测试任务,并分配给所述第一目标测试机器,直至所述至少一个测试任务全部被分配;所述第一目标测试机器为所述至少一个目标测试机器中任一目标测试机器。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有指令,当所述指令在计算机上运行时,使得计算机实现执行权利要求1至5中任一项所述的方法。
10.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至5中任一权利要求所述的方法。
CN201910141903.4A 2019-02-26 2019-02-26 一种软件测试方法及装置 Active CN109871328B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910141903.4A CN109871328B (zh) 2019-02-26 2019-02-26 一种软件测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910141903.4A CN109871328B (zh) 2019-02-26 2019-02-26 一种软件测试方法及装置

Publications (2)

Publication Number Publication Date
CN109871328A CN109871328A (zh) 2019-06-11
CN109871328B true CN109871328B (zh) 2022-04-05

Family

ID=66919245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910141903.4A Active CN109871328B (zh) 2019-02-26 2019-02-26 一种软件测试方法及装置

Country Status (1)

Country Link
CN (1) CN109871328B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110380930B (zh) * 2019-07-16 2022-07-12 腾讯科技(深圳)有限公司 一种测试方法、装置及服务器、计算机存储介质
CN110532170B (zh) * 2019-07-18 2023-08-08 北京文渊佳科技有限公司 搭建测试环境的方法、装置、电子设备及介质
CN110399307A (zh) * 2019-07-31 2019-11-01 网宿科技股份有限公司 一种测试方法、测试平台及目标服务器
CN112650666B (zh) * 2019-10-12 2024-04-09 北京达佳互联信息技术有限公司 一种软件测试***、方法、装置、控制设备及存储介质
CN111209190B (zh) * 2019-12-29 2024-02-02 航天信息股份有限公司 一种基于中央随机的控索性软件测试方法及装置
CN112131134A (zh) * 2020-10-14 2020-12-25 深圳壹账通智能科技有限公司 Ipo项目的时间点触发测试方法、装置、设备和存储介质
CN113626344B (zh) * 2021-10-12 2022-02-08 广州嘉为科技有限公司 一种软件自动化测试的调度方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360952A (zh) * 2012-03-02 2015-02-18 北京奇虎科技有限公司 一种软件测试***及方法
CN107832206A (zh) * 2017-10-16 2018-03-23 深圳市牛鼎丰科技有限公司 测试方法、装置、计算机可读存储介质和计算机设备
CN108388521A (zh) * 2018-03-28 2018-08-10 四川长虹电器股份有限公司 浏览器兼容性测试***与方法
CN108427641A (zh) * 2018-01-29 2018-08-21 中国互联网络信息中心 一种基于Docker容器的多任务调度自动化测试方法及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102105690B1 (ko) * 2016-04-27 2020-04-28 한국전자통신연구원 오픈 소스 가상화 클라우드 환경 기반 네트워크 컴퓨팅 개발 테스트베드 시스템
US10055339B2 (en) * 2016-09-28 2018-08-21 Wipro Limited Methods and systems for testing mobile applications
CN107957940B (zh) * 2016-10-17 2021-03-16 腾讯科技(深圳)有限公司 一种测试日志处理方法、***及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360952A (zh) * 2012-03-02 2015-02-18 北京奇虎科技有限公司 一种软件测试***及方法
CN107832206A (zh) * 2017-10-16 2018-03-23 深圳市牛鼎丰科技有限公司 测试方法、装置、计算机可读存储介质和计算机设备
CN108427641A (zh) * 2018-01-29 2018-08-21 中国互联网络信息中心 一种基于Docker容器的多任务调度自动化测试方法及***
CN108388521A (zh) * 2018-03-28 2018-08-10 四川长虹电器股份有限公司 浏览器兼容性测试***与方法

Also Published As

Publication number Publication date
CN109871328A (zh) 2019-06-11

Similar Documents

Publication Publication Date Title
CN109871328B (zh) 一种软件测试方法及装置
CN108845884B (zh) 物理资源分配方法、装置、计算机设备和存储介质
CN106294120B (zh) 测试代码的方法、设备和计算机程序产品
CN108255707B (zh) 测试用例的开发角色创建方法、装置、设备及存储介质
CN102868573B (zh) Web服务负载云测试方法和装置
EP3353652A1 (en) System and method for processing task resources
CN107682417B (zh) 一种数据节点的任务分配方法和装置
US20180102982A1 (en) Equitable Sharing of System Resources in Workflow Execution
CN107992362A (zh) 自动化性能测试的方法、装置及***
CN107733735B (zh) 一种植入于压测宝中的脚本录制***及方法
CN109491788A (zh) 一种虚拟化平台负载均衡实现方法及装置
CN106980571A (zh) 一种测试用例集的构建方法和设备
CN109150653B (zh) 一种远程硬件在环hil自动化测试方法及***
CN110083535A (zh) 一种软件测试方法及装置
CN112817748A (zh) 一种基于安卓虚拟机处理任务的方法、计算机设备
CN112559147A (zh) 基于gpu占用资源特点的动态匹配算法、***和设备
CN111382031A (zh) 测试方法及装置
CN107092556B (zh) 测试方法、装置及设备
CN111784185A (zh) 一种分布式配电通信网定时任务调度***
CN109858792B (zh) 一种基于试验步骤的核电站调试试验任务管理方法和***
CN115712501A (zh) 一种适用于工程机械的云仿真方法和***
CN107634978A (zh) 一种资源调度方法及装置
CN105718297A (zh) 虚拟机建立***以及方法
CN115221041A (zh) 多设备的测试方法、装置、电子设备及存储介质
CN110908911B (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