CN110008123B - 一种自动部署测试软件的方法以及相应的装置 - Google Patents

一种自动部署测试软件的方法以及相应的装置 Download PDF

Info

Publication number
CN110008123B
CN110008123B CN201910243452.5A CN201910243452A CN110008123B CN 110008123 B CN110008123 B CN 110008123B CN 201910243452 A CN201910243452 A CN 201910243452A CN 110008123 B CN110008123 B CN 110008123B
Authority
CN
China
Prior art keywords
software
tested
test
target
testing
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
CN201910243452.5A
Other languages
English (en)
Other versions
CN110008123A (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.)
Wuhan Dream Database Co ltd
Original Assignee
Wuhan Dream Database 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 Wuhan Dream Database Co ltd filed Critical Wuhan Dream Database Co ltd
Priority to CN201910243452.5A priority Critical patent/CN110008123B/zh
Publication of CN110008123A publication Critical patent/CN110008123A/zh
Application granted granted Critical
Publication of CN110008123B publication Critical patent/CN110008123B/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/3664Environments for testing or debugging software
    • 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

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

一种自动部署测试软件的方法以及相应的装置
技术领域
本发明属于软件测试领域,更具体地,涉及一种自动部署测试软件的方法以及相应的装置。
背景技术
在数据同步软件的测试流程中,由于软件版本更新较为频繁,每一次版本的更新都需要进行测试。同时,由于数据同步软件应用的实际场景较为多且复杂,导致数据同步软件的版本的种类繁多,例如,针对不同种类的数据库有:oracle、mysql、postgresql、db2、informix、redis或达梦等,各类数据库又有不同版本的区别,例如,oracle有oracle 12c和oracle 11g等不同版本,db2有V9.7和V10.5等不同版本。
另外,针对不同操作系统也需要单独编译相应的软件版本,例如,国外操作系统有redhat、windows和AIX等,国产操作系统有凝思和麒麟等,各操作系统也有版本上的区别,例如redhat有redhat6和redhat7等版本,AIX有AIX5.3和AIX7.1等版本。同时,针对国产CPU同样有不同的版本,例如,龙芯、飞腾和申威等。
由上所述的数据库、操作系统和CPU存在多种组合,与之相匹配的同步软件的版本也会很多,进而导致针对同步软件进行测试的测试环境多且复杂。另外,数据同步软件的使用场景也较为多样化,实际使用时,会涉及源端与目的端的一对多、多对一以及多节点级联的同步模式。
综上所述,硬件环境的复杂多样性与实际同步场景的多样性,使得数据同步软件在测试环境的安装部署变得较为繁琐(难点在于测试环境的复杂性和多样性)。在这种情况下,采用传统人工拷贝软件包,并手动执行安装程序的方法,不仅会带来重复性的人力工作,导致测试部署的效率低下,而且,部署过程容易出错,导致无法准确测试同步软件的性能。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种自动部署测试软件的方法以及相应的装置,其目的在于本发明采用自动化的方式部署待测试软件,可以有效减少测试人员的工作量,提高测试效率。同时,采用自动化的方式部署测试软件,可以有效降低部署出错的概率,提高软件测试的准确率和可信度。
为实现上述目的,按照本发明的一个方面,提供了一种自动部署测试软件的方法,所述自动部署测试软件的方法包括:
获取待测试软件;
解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境;
依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器;
驱动所述目标测试机器安装所述待测试软件,以进行软件测试。
优选地,所述待测试软件携带有同步模式配置文件;
解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境包括:
解析所述同步模式配置文件,确定所述待测试软件需要部署的源端测试机器的数目和目的端测试机器的数目;
解析所述待测试软件的名称和/或属性,得到与所述待测试软件相匹配的数据库类型、操作系统类型和/或CPU类型,以得到与所述待测软件相匹配的目标测试环境。
优选地,所述自动部署测试软件的方法设置在自动部署装置上,所述自动部署装置上设置有测试环境配置文件,其中,所述测试环境配置文件包括:测试机器的IP地址,以及每一测试机器对应的数据库类型、操作系统和CPU类型;
依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器包括:
解析所述测试环境配置文件,确定与所述待测试软件对应的数据库类型、操作系统和/或CPU类型相匹配的目标测试机器;
将所述待测试软件发送至所述目标测试机器。
优选地,驱动所述目标测试机器安装所述待测试软件,以进行软件测试具体包括:
判断确定所述目标测试机器是否安装过测试软件;
若所述目标测试机器安装过测试软件,则重新设定所述待测试软件的安装路径,驱动所述目标测试机器将所述待测试软件安装在重新设定的安装路径下,以进行软件测试;
若所述目标测试机器未安装过测试软件,则获取所述待测试软件的默认安装路径,驱动所述目标测试机器将所述待测试软件安装在默认安装路径下,以进行软件测试。
优选地,所述驱动所述目标测试机器安装所述待测试软件,以进行软件测试包括:
依据所述待测试软件以及与所述待测试软件相匹配的目标测试机器,生产安装脚本;
将所述安装脚本发送至所述目标测试机器,在所述安装脚本的驱动下,将所述待测试软件安装于所述目标测试机器上,以进行软件测试。
优选地,驱动所述目标测试机器安装所述待测试软件,以进行软件测试之后还包括:
获取所述待测试软件在所述目标测试机器上的运行时间;
若所述运行时间大于预设的时间阈值,则依据所述待测试软件的目标测试环境,重新确定备选测试机器;
当所述待测试软件在所述目标测试机器上运行失败时,则采用备选测试机器对所述待测试软件进行测试。
优选地,待测试软件的数目为多个,具体包括第一待测试软件和第二待测试软件,所述第二待测试软件的优先级高于所述第一待测试软件,所述第一待测试软件和所述第二待测试软件之间存在相同的目标测试机器,其中,所述目标测试机器正在对所述第一待测试软件进行测试;
所述自动部署测试软件的方法还包括:
计算所述目标测试机器完成测试所述第一待测试软件所需的测试时间;
判断所述测试时间是否不大于所述第二待测试软件可接受的等待时间;
若所述测试时间不大于所述第二待测试软件可接受的等待时间,则等待所述第一待测试软件完成测试后,将所述第二待测试软件部署至所述目标测试机器上。
优选地,所述自动部署测试软件的方法还包括:
若所述测试时间大于所述第二待测试软件可接受的等待时间,则暂停对所述第一待测试软件进行测试,并将所述第二待测试软件部署至所述目标测试机器上,以对所述第二待测试软件进行测试。
优选地,所述获取待测试软件包括:
按照预设的时间间隔,扫描软件包仓库;
当所述软件包仓库中存在新增的待测试软件时,则将所述待测试软件下载至本地。
按照本发明的另一方面,提供了一种自动部署装置,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行本发明所述的自动部署测试软件的方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供一种自动部署测试软件的方法,该自动部署测试软件的方法包括:获取待测试软件,解析待测试软件,得到与待测试软件相匹配的目标测试环境,依据目标测试环境选择目标测试机器,将待测试软件发送至目标测试机器;驱动目标测试机器安装待测试软件,以进行软件测试。本发明的自动部署测试软件的方法可以自动下载待测试软件,并根据待测试软件的自身信息以及外部配置文件信息,确定待测试软件的目标测试环境,并将待测试软件上传至目标测试环境,实现待测试软件的自动安装以及测试,从而有效减少测试人员的工作量,提高测试效率。同时,采用自动化的方式部署测试软件,可以有效降低部署出错的概率,提高软件测试的准确率和可信度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种自动部署测试软件的方法的流程示意图;
图2是本发明实施例提供图1中的步骤13的具体流程示意图;
图3是本发明实施例提供的自动部署装置、软件包仓库和目标测试机器之间的连接示意图;
图4是本发明实施例提供的另一种自动部署测试软件的方法的流程示意图;
图5是本发明实施例提供的又一种自动部署测试软件的方法的流程示意图;
图6是本发明实施例提供的一种自动部署装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
本实施例提供一种自动部署测试软件的方法,该自动部署测试软件的方法,采用自动化测试的方式取代人工测试,可以有效减少测试人员的工作量,提高测试效率。本实施例的自动部署测试软件是设置在自动部署装置上的,该自动部署装置具体可以为服务器,参阅图1,本实施例的自动部署测试软件的方法包括如下步骤:
步骤10:获取待测试软件。
在本实施例中,待测试软件为同步软件,该待测试软件可以是开发团队完成新版本测试软件开发后,上传至软件包仓库(例如,软件包仓库可以是一服务器,用于存储所有的待测试软件)。其中,待测试软件可以为新类型的同步软件,或者,可以是已经存在的某一类型的同步软件的更新版本。
在实际应用场景下,自动部署装置按照预设的时间间隔,扫描软件包仓库,其中,预设的时间间隔可以根据实际测试工作进行配置,或者,可以根据开发人员更新测试软件的进度进行设置,例如,预设的时间间隔可以为1小时、6小时或者24小时等。当扫描到所述软件包仓库中存在新增的待测试软件后,判断该新增的待测试软件是否需要进行测试,若需要,则将所述待测试软件下载至本地。
在另一个应用场景下,自动部署装置可以与软件包仓库建立实时通信,当软件包仓库上新增待测试软件后,软件包仓库向自动部署装置发送测试请求,自动部署装置响应所述测试请求,并从软件包仓库中下载对应的待测试软件。
步骤11:解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境。
其中,针对数据同步软件,当源端和目的端对应的环境信息不同时,数据同步软件的设计也存在差异。为了更真实地反映同步软件的性能,需要将同步软件放置在与之相匹配的测试环境下进行软件测试。其中,数据库类型、操作系统和/或CPU类型等信息均会影响着同步软件的设计。因此,需要根据数据库类型、操作系统和/或CPU类型等信息确定相应的目标测试环境。
步骤12:依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器。
其中,本实施例的待测试软件主要用于数据同步使用,目标测试机器的数目至少为两个。
在本实施例中,所述自动部署装置上设置有测试环境配置文件,其中,所述测试环境配置文件包括:测试机器的IP地址,以及每一测试机器对应的数据库类型、操作系统以及CPU类型。
自动部署装置依据目标测试环境从众多测试机器中选择合适的测试机器,作为目标测试机器。其中,可以按照参数一一匹配的方式选择目标测试机器,例如,待测试软件对应的目标测试环境为:数据库类型为oracle,操作系统为windows,CPU类型为龙芯;则在众多测试机器中选择与前述三种参数(数据库、操作系统、CPU)相同的测试机器,作为目标测试机器。
在实际应用场景下,可能不存在满足各项参数均相同的测试机器,此时,可以选择匹配度最高的测试机器作为目标测试机器,或者,采用具有兼容性的测试机器作为目标测试机器。或者,满足各项参数的测试机器正在对其他测试软件进行测试,由于资源限制,目前无法将该待测试软件部署到该测试机器上,而目前需要尽快对该待测试软件进行测试,则可以选择匹配度最高的测试机器作为目标测试机器,或者,采用具有兼容性的测试机器作为目标测试机器。
步骤13:驱动所述目标测试机器安装所述待测试软件,以进行软件测试。
在本实施例中,选择好目标测试机器后,将该待测试软件发送至目标测试机器,并远程驱动所述目标测试机器安装所述待测试软件,安装完成后,运行该待测试软件,以进行软件测试。
本实施例的自动部署测试软件的方法可以自动下载待测试软件,并根据待测试软件的自身信息以及外部配置文件信息,确定待测试软件的目标测试环境,并将待测试软件上传至目标测试环境,实现待测试软件的自动安装以及测试,从而有效减少测试人员的工作量,提高测试效率。同时,采用自动化的方式部署测试软件,可以有效降低部署出错的概率,提高软件测试的准确率和可信度。
在本实施例中,所述待测试软件携带有同步模式配置文件,在步骤11中,解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境包括:
解析所述同步模式配置文件,确定所述待测试软件需要部署的源端测试机器的数目和目的端测试机器的数目。其中,不同的同步模式,源端和目的端的数目也相应不同,例如,一对一同步时,源端和目的端的数目各为1个;一对多同步时,存在源端的数目为1个,目的端的数目为多个,或,源端数目为多个,目的端数目为1个的情况;还存在多节点级联的同步模式。
在同步模式配置文件中,会记录该待测试软件所需要部署的机器的数目,例如,需要1台测试机器作为源端,2台测试机器作为目的端;或者,2台测试机器作为源端,1台测试机器作为目的端。在本实施例中,首先根据同步模式配置文件确定源端与目的端的数目,然后,再确定每个测试机器所应满足的测试环境。
在本实施例中,每个待测试软件具有统一的命名格式,例如,命名格式为:同步软件名称+数据库类型名称+操作系统类型名称+日期;当涉及特殊的CPU时,命名格式为:同步软件名称+数据库类型名称+操作系统名称+CPU类型名称+日期。通过解析所述待测试软件的名称,得到与所述待测试软件相匹配的数据库类型、操作系统类型和/或CPU类型,以得到与所述待测软件相匹配的目标测试环境。
在另一个实施例中,每个待测试软件对应的数据库类型、操作系统类型和/或CPU类型,也可记录在每个待测试软件的属性信息中,通过解析所述待测试软件的名称,得到与所述待测试软件相匹配的数据库类型、操作系统类型和/或CPU类型,以得到与所述待测软件相匹配的目标测试环境。
在具体应用场景下,所述自动部署测试软件的方法设置在自动部署装置上,所述自动部署装置上设置有测试环境配置文件,其中,所述测试环境配置文件包括:测试机器的IP地址,以及每一测试机器对应的数据库类型、操作系统以及CPU类型。其中,测试机器具体可以为服务器。
在步骤12中,依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器具体包括:解析所述测试环境配置文件,确定与所述待测试软件对应的数据库类型、操作系统和/或CPU类型相匹配的目标测试机器;将所述待测试软件发送至所述目标测试机器。
此外,测试环境配置文件中还包括有待测试软件的归档路径,以及各测试机器的用户名和密码。例如,IP地址为192.168.8.241的测试机器的环境为:待测试软件的归档路径为/opt/installsoft,操作系统的类型为redhat6,数据库的类型为db2V9.7。如此,根据步骤11中解析出来的数据库类型和操作系统类型等信息,便可初步确定该待测试软件对应的待部署的测试机器。
通常情况下,会有多台相同配置的测试机器,例如,IP地址为192.168.8.241的测试机器、IP地址为192.168.8.242的测试机器、IP地址为192.168.8.243的测试机器上安装的操作系统和数据库都是一样的,具体确定哪个测试机器为目标测试机器,可以综合评价每个测试机器的资源情况而定。
在实际应用场景下,由于测试环境通常是共同使用,在同一台测试机器上,可能同时运行多个测试软件,为了实现资源的合理利用,可以实时监测各测试机器的资源使用情况,其中,监测指标包括CPU使用情况、内存占用情况、磁盘IO等信息,在参数匹配度相同的情况下,优先选用资源最充分的测试机器作为目标测试机器。
在本实施例中,在不同的时间段或者相同的时刻,测试机器可以对多个不同的测试软件进行测试,当测试软件的类型不同时,需要将测试软件安装在不同的安装路径下,以避免不同的待测试软件之间存在冲突。
因此,如图3所示,在步骤13中,驱动所述目标测试机器安装所述待测试软件,以进行软件测试具体包括如下步骤:
步骤131:判断确定所述目标测试机器是否安装过测试软件。
在本实施例中,通过全局扫描的方式,确定所述目标测试机器是否安装过测试软件。一般而言,目标测试机器对第一个测试软件进行测试时,会将第一个测试软件安装在默认的安装路径下,基于此特性,为了提高处理的效率,可以直接定位到默认的安装路径,查看默认安装路径下是否安装有测试软件。
步骤132:若所述目标测试机器安装过测试软件,则重新设定所述待测试软件的安装路径,驱动所述目标测试机器将所述待测试软件安装在重新设定的安装路径下,以进行软件测试。
当目标测试机器安装过测试软件,则需要重新设定所述待测试软件的安装路径,驱动所述目标测试机器将所述待测试软件安装在重新设定的安装路径下,以进行软件测试。其中,重新设定的安装路径可以依据实际情况而定,在此不做具体限制。
步骤133:若所述目标测试机器未安装过测试软件,则获取所述待测试软件的默认安装路径,驱动所述目标测试机器将所述待测试软件安装在默认安装路径下,以进行软件测试。
当目标测试机器未安装过测试软件,则获取所述待测试软件的默认安装路径,驱动所述目标测试机器将所述待测试软件安装在默认安装路径下,以进行软件测试。其中,默认安装路径可以通过读取测试环境配置文件而获得。
在本实施例中,为了实现自动安装,在选择好目标测试机器后,生产安装脚本,实现待测试软件的自动安装以及参数配置。在不同的操作系统下编写安装脚本时,虽然安装脚本的执行流程是固定的,但是由于不同操作系统下各脚本语言对应的语法存在一些差异,因此,需要依据目标测试机器的操作系统,生成与之相匹配的安装脚本。
具体地,依据所述待测试软件以及与所述待测试软件相匹配的目标测试机器,生产安装脚本;将所述安装脚本发送至所述目标测试机器,在所述安装脚本的驱动下,将所述待测试软件安装于所述目标测试机器上,以进行软件测试。
在本实施例中,当选择好目标测试机器后,将待测试软件的名称与目标测试机器的信息,建立映射关系,并将该映射关系写入到测试环境配置文件中,一方面用于生成安装脚本,另一方面用于判断每个测试机器的资源使用情况。其中,目标测试机器的信息包括目标测试机器的IP地址、目标测试机器的操作系统类型、目标测试机器的数据库类型、待测试软件归档路径和待测试软件的安装路径。
下面举例说明映射关系的格式,如下:
xxx_db2V9.7_rh6_20190101(待测试软件名称)--------------192.168.8.241(测试机器的IP地址),redhat6(测试机器的操作系统类型),db2V9.7(测试机器的数据库类型),/opt/install(待测试软件归档路径),/opt/xxx(待测试软件的安装路径)
xxx_db2V9.7_rh6_20190101--------------192.168.8.242,redhat6,db2V9.7,/opt/install,/opt/xxx
进一步地,将待测试软件以及安装脚本发送至目标测试机器,然后远程执行安装脚本,当安装脚本执行完成后,读取安装日志,以确定本次安装是否成功。当待测试软件安装成功后,在测试环境配置文件中,添加软件安装成功的标志位。如果待测试软件安装失败,则根据报错原因进行问题排查,以确定故障原因,并重新安装待测试软件。必要的情况下,可以上报安装失败的提示信息,提示操作人员排查故障原因。
实施例2:
在实际测试过程中,可能会在较短的时间内部署多个待测试软件,由于每个测试机器的资源有限,与某个待测试软件相匹配的目标测试机器,可能正在测试先到达的待测试软件,而且,由于资源的限制,当前时刻无法将该待测试软件安装的对应的目标测试软件上,为了提高测试的效率,此时,存在的一种解决方案是,退而求其次,选择另一个测试机器作为目标测试机器对待测试软件进行测试,但是,在测试的过程中,有可能会存在测试失败或测试结果不佳的情况发生,为了解决此问题本实施例提供的另一种自动部署测试软件的方法。
如图4所示,该自动部署测试软件的方法包括如下步骤:
步骤20:获取待测试软件。
步骤21:解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境。
步骤22:依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器。
步骤23:驱动所述目标测试机器安装所述待测试软件,以进行软件测试。
其中,步骤20~步骤23与上述实施例1中的步骤10~步骤13,实现方式基本相同,具体可以参照实施例1中的描述。不过,本实施例的目标测试机器不是性能最好或者匹配度最佳的测试机器(如前述问题分析,性能最好的测试机器正在被占用中)。
步骤24:获取所述待测试软件在所述目标测试机器上的运行时间。
在本实施例中,待测试软件完成测试的时间一般会满足预设的时间阈值,其中,时间阈值可以是开发人员依据程序设计,进行预估的时间。如果待测试软件在目标测试机器上的运行时间较长,可能会出现待测试软件运行不正常的情况发生,进而导致测试结果失败或不佳。
步骤25:若所述运行时间大于预设的时间阈值,则依据所述待测试软件的目标测试环境,重新确定备选测试机器。
步骤26:当所述待测试软件在所述目标测试机器上运行失败时,则采用备选测试机器对所述待测试软件进行测试。
为了能够及时发现该问题,并提供备选测试机器,在本实施例中,实时获取所述待测试软件在所述目标测试机器上的运行时间,若所述运行时间大于预设的时间阈值,则依据所述待测试软件的目标测试环境,重新确定备选测试机器,当所述待测试软件在所述目标测试机器上运行失败时,则采用备选测试机器对所述待测试软件进行测试。其中,当前述正在占用的最佳测试机器上的测试任务完成后,可以将该测试机器标记为备选测试机器,或者为其他与该待测试软件相匹配的测试机器。
在另一个应用场景下,当前来了一个优先级较高的测试任务,但是与其要求吻合的机型被其他测试任务占用,为了避免等待时间过长,可以采用如下方案,进行测试软件的部署。
本实施例适用的应用场景可以理解为:待测试软件的数目为多个,具体包括第一待测试软件和第二待测试软件,所述第二待测试软件的优先级高于所述第一待测试软件,所述第一待测试软件和所述第二待测试软件之间存在相同的目标测试机器,其中,所述目标测试机器正在对所述第一待测试软件进行测试。如图5所示,本实施例的自动部署测试软件的方法包括如下步骤:
步骤30:获取待测试软件。
步骤31:解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境。
步骤32:依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器。
步骤33:驱动所述目标测试机器安装所述待测试软件,以进行软件测试。
其中,步骤20~步骤23与上述实施例1中的步骤10~步骤13,实现方式基本相同,具体可以参照实施例1中的描述。前述的待测试软件可以理解为第一待测试软件。
步骤34:计算所述目标测试机器完成测试第一待测试软件所需的测试时间。
步骤35:判断所述测试时间是否不大于所述第二待测试软件可接受的等待时间。
步骤36:若所述测试时间不大于所述第二待测试软件可接受的等待时间,则等待所述第一待测试软件完成测试后,将所述第二待测试软件部署至所述目标测试机器上。
步骤37:若所述测试时间大于所述第二待测试软件可接受的等待时间,则暂停对所述第一待测试软件进行测试,并将所述第二待测试软件部署至所述目标测试机器上,以对所述第二待测试软件进行测试。
进一步地,在等待过程中,可以将第二待测试软件进行拆分,将与该等待加入的目标测试机器相关的测试项目剥离出来,先在其他测试机器上完成与等待加入的目标测试机器无关的测试项目,后续该目标测试机器进入测试环境后,完成剥离出的测试项目,进行无缝衔接的操作,可以进一步提高测试的效率。
本发明各实施例的自动部署测试软件的方法可以自动下载待测试软件,并根据待测试软件的自身信息以及外部配置文件信息,确定待测试软件的目标测试环境,并将待测试软件上传至目标测试环境,实现待测试软件的自动安装以及测试,从而有效减少测试人员的工作量,提高测试效率。同时,采用自动化的方式部署测试软件,可以有效降低部署出错的概率,提高软件测试的准确率和可信度。
实施例3
请参阅图6,图6是本发明实施例提供的一种自动部署装置的结构示意图。本实施例的自动部署装置包括一个或多个处理器41以及存储器42。其中,图6中以一个处理器41为例。
处理器41和存储器42可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器42作为一种基于自动部署测试软件的方法的非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1或实施例2中的自动部署测试软件的方法以及对应的程序指令。处理器41通过运行存储在存储器42中的非易失性软件程序、指令以及模块,从而执行自动部署测试软件的方法的各种功能应用以及数据处理,实现实施例1或实施例2的自动部署测试软件的方法的功能。
其中,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器42可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至处理器41。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
关于自动部署测试软件的方法请参照图1~图5及相关的文字描述在此,不再赘述。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为ROM)、随机存取存储器(Random AccessMemory,简写为RAM)、磁盘或光盘等。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种自动部署测试软件的方法,其特征在于,所述自动部署测试软件的方法包括:
获取待测试软件;
解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境;
依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器;
驱动所述目标测试机器安装所述待测试软件,以进行软件测试;
待测试任务的数目为多个,具体包括第一待测试任务和第二待测试任务,所述第二待测试任务的优先级高于所述第一待测试任务,所述第一待测试任务和所述第二待测试任务之间存在相同的目标测试机器,其中,所述目标测试机器正在对所述第一待测试任务进行测试;
所述自动部署测试软件的方法还包括:
计算所述目标测试机器完成测试所述第一待测试任务所需的测试时间;
判断所述测试时间是否不大于所述第二待测试任务可接受的等待时间;
若所述测试时间不大于所述第二待测试任务可接受的等待时间,则等待所述第一待测试任务完成测试后,将所述第二待测试任务部署至所述目标测试机器上;
若所述测试时间大于所述第二待测试任务可接受的等待时间,则暂停对所述第一待测试任务进行测试,并将所述第二待测试任务部署至所述目标测试机器上,以对所述第二待测试任务进行测试。
2.根据权利要求1所述的自动部署测试软件的方法,其特征在于,所述待测试软件携带有同步模式配置文件;
解析所述待测试软件,得到与所述待测试软件相匹配的目标测试环境包括:
解析所述同步模式配置文件,确定所述待测试软件需要部署的源端测试机器的数目和目的端测试机器的数目;
解析所述待测试软件的名称和/或属性,得到与所述待测试软件相匹配的数据库类型、操作系统类型和/或CPU类型,以得到与所述待测试软件相匹配的目标测试环境。
3.根据权利要求1所述的自动部署测试软件的方法,其特征在于,所述自动部署测试软件的方法设置在自动部署装置上,所述自动部署装置上设置有测试环境配置文件,其中,所述测试环境配置文件包括:测试机器的IP地址,以及每一测试机器对应的数据库类型、操作系统和CPU类型;
依据所述目标测试环境选择目标测试机器,将所述待测试软件发送至所述目标测试机器包括:
解析所述测试环境配置文件,确定与所述待测试软件对应的数据库类型、操作系统和/或CPU类型相匹配的目标测试机器;
将所述待测试软件发送至所述目标测试机器。
4.根据权利要求1所述的自动部署测试软件的方法,其特征在于,驱动所述目标测试机器安装所述待测试软件,以进行软件测试具体包括:
判断确定所述目标测试机器是否安装过测试软件;
若所述目标测试机器安装过测试软件,则重新设定所述待测试软件的安装路径,驱动所述目标测试机器将所述待测试软件安装在重新设定的安装路径下,以进行软件测试;
若所述目标测试机器未安装过测试软件,则获取所述待测试软件的默认安装路径,驱动所述目标测试机器将所述待测试软件安装在重新设定的安装路径下,以进行软件测试。
5.根据权利要求1所述的自动部署测试软件的方法,其特征在于,所述驱动所述目标测试机器安装所述待测试软件,以进行软件测试包括:
依据所述待测试软件以及与所述待测试软件相匹配的目标测试机器,生产安装脚本;
将所述安装脚本发送至所述目标测试机器,在所述安装脚本的驱动下,将所述待测试软件安装于所述目标测试机器上,以进行软件测试。
6.根据权利要求1所述的自动部署测试软件的方法,其特征在于,驱动所述目标测试机器安装所述待测试软件,以进行软件测试之后还包括:
获取所述待测试软件在所述目标测试机器上的运行时间;
若所述运行时间大于预设的时间阈值,则依据所述待测试软件的目标测试环境,重新确定备选测试机器;
当所述待测试软件在所述目标测试机器上运行失败时,则采用备选测试机器对所述待测试软件进行测试。
7.根据权利要求1~6任一项所述的自动部署测试软件的方法,其特征在于,所述获取待测试软件包括:
按照预设的时间间隔,扫描软件包仓库;
当所述软件包仓库中存在新增的待测试软件时,则将所述待测试软件下载至本地。
8.一种自动部署装置,其特征在于,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行如权利要求1~7任一项所述的自动部署测试软件的方法。
CN201910243452.5A 2019-03-28 2019-03-28 一种自动部署测试软件的方法以及相应的装置 Active CN110008123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910243452.5A CN110008123B (zh) 2019-03-28 2019-03-28 一种自动部署测试软件的方法以及相应的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910243452.5A CN110008123B (zh) 2019-03-28 2019-03-28 一种自动部署测试软件的方法以及相应的装置

Publications (2)

Publication Number Publication Date
CN110008123A CN110008123A (zh) 2019-07-12
CN110008123B true CN110008123B (zh) 2022-04-26

Family

ID=67168636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910243452.5A Active CN110008123B (zh) 2019-03-28 2019-03-28 一种自动部署测试软件的方法以及相应的装置

Country Status (1)

Country Link
CN (1) CN110008123B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159031B (zh) * 2019-12-24 2023-11-24 珠海市小源科技有限公司 应用移动终端自动化测试的方法、计算机装置及计算机可读存储介质
CN111026089B (zh) * 2019-12-25 2021-06-15 卡斯柯信号(北京)有限公司 一种列控中心测试环境自动部署方法及装置
CN111309602A (zh) * 2020-02-04 2020-06-19 北京同邦卓益科技有限公司 一种软件测试方法、装置及系统
CN111737117A (zh) * 2020-06-11 2020-10-02 苏州浪潮智能科技有限公司 一种整机系统的测试方法、装置、设备及存储介质
CN111813683B (zh) * 2020-07-14 2023-10-03 深圳前海移联科技有限公司 一种通用的软件测试环境自动同步方法
CN112306883A (zh) * 2020-11-05 2021-02-02 北京小米移动软件有限公司 软件测试方法、装置及介质
CN113282483A (zh) * 2021-02-07 2021-08-20 北京大米科技有限公司 测试方法、相关装置、以及计算机介质
CN113377388A (zh) * 2021-06-29 2021-09-10 平安普惠企业管理有限公司 软件安装方法、系统及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4145735A (en) * 1977-02-02 1979-03-20 Nippon Steel Corporation Monitor for priority level of task in information processing system
DE59310052D1 (de) * 1993-11-26 2000-07-06 Siemens Ag Recheneinheit mit mehreren ausführbaren Tasks
WO2001057665A2 (en) * 2000-02-07 2001-08-09 Epicrealm Operating Inc. Method and apparatus for dynamic data flow control
WO2005096143A1 (en) * 2004-03-31 2005-10-13 Coware, Inc. Resource management in a multicore architecture
JP2006293559A (ja) * 2005-04-07 2006-10-26 Toshiba Corp タスクの優先度逆転現象の回避処理装置および回避処理方法
CN103678130A (zh) * 2013-12-17 2014-03-26 中国联合网络通信集团有限公司 自动化性能测试方法及测试平台
CN109446069A (zh) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 兼容性测试方法、装置、计算机设备和介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4145735A (en) * 1977-02-02 1979-03-20 Nippon Steel Corporation Monitor for priority level of task in information processing system
DE59310052D1 (de) * 1993-11-26 2000-07-06 Siemens Ag Recheneinheit mit mehreren ausführbaren Tasks
WO2001057665A2 (en) * 2000-02-07 2001-08-09 Epicrealm Operating Inc. Method and apparatus for dynamic data flow control
WO2005096143A1 (en) * 2004-03-31 2005-10-13 Coware, Inc. Resource management in a multicore architecture
JP2006293559A (ja) * 2005-04-07 2006-10-26 Toshiba Corp タスクの優先度逆転現象の回避処理装置および回避処理方法
CN103678130A (zh) * 2013-12-17 2014-03-26 中国联合网络通信集团有限公司 自动化性能测试方法及测试平台
CN109446069A (zh) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 兼容性测试方法、装置、计算机设备和介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CPU Scheduling in Multimedia Operating Systems;Daniel Alexander Taranovsky;《https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.4549&rep=rep1&type=pdf》;19991231;全文 *
iOS Swift GCD开发教程;镜画者;《https://juejin.cn/post/6844903588930519047》;20180409;全文 *
作业调度算法总结;soldier123333;《https://blog.csdn.net/weixin_36340947/article/details/78180703》;20171009;全文 *
基于服务总线浮动车数据分布式并行处理算法;杨槐;《科技资讯》;20131013(第29期);全文 *
嵌入式软件仿真测试环境实时任务调度的研究;王乾宇等;《计算机测量与控制》;20120525(第05期);全文 *

Also Published As

Publication number Publication date
CN110008123A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN110008123B (zh) 一种自动部署测试软件的方法以及相应的装置
CN109726093B (zh) 用于执行测试用例的方法、设备和计算机程序产品
CN101930400B (zh) Sdk自动化测试系统及方法
CN107302476B (zh) 一种测试异步交互系统的自动化测试方法与系统
CN106708718B (zh) 服务框架接口测试方法与装置
CN101719097A (zh) 自动化测试脚本的调试方法、系统和自动化应用服务器
CN111309636B (zh) 机器人自动化测试系统、方法、构建服务器及存储介质
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN112130956A (zh) 一种基于Jenkins的自动化CI/CD流水线方法
CN113032262A (zh) 一种自动化仿真测试方法
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN114297666A (zh) 一种基于模糊测试的云部署自动化漏洞挖掘系统
CN112306877A (zh) 一种电力系统故障运维方法及系统
CN106708727B (zh) 一种分布式病毒特征样本验证方法及系统
CN111209188A (zh) 一种分布式存储系统的测试方法和装置
CN111581081B (zh) 一种自动化测试系统及方法
CN109460331B (zh) 一种克隆特性测试方法、装置、设备及存储介质
CN108319551B (zh) 一种软件的测试方法、装置、计算机设备及可读存储介质
WO2023051073A1 (zh) 数据库测试方法、分布式数据库、存储介质
CN109271309B (zh) 自动化测试软件的方法及装置、服务器、设备和存储介质
CN110795341A (zh) 一种服务器的自动测试方法、系统及装置
CN112148588B (zh) 一种自动化测试的对象资源的自动分析方法及测试工具
CN114647588A (zh) 接口测试方法及装置
CN111190822A (zh) 一种自动化测试分布式系统软件的方法及装置
CN114116466B (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

Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant after: Wuhan dream database Co., Ltd

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant before: WUHAN DAMENG DATABASE Co.,Ltd.

CB02 Change of applicant information
CB03 Change of inventor or designer information

Inventor after: Feng Yuan

Inventor after: Yu Yuanlan

Inventor after: Song Tianyang

Inventor before: Fu Quan

Inventor before: Feng Yuan

Inventor before: Yu Yuanlan

Inventor before: Song Tianyang

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant