CN108694121B - 一种自动化测试方法、装置及系统 - Google Patents

一种自动化测试方法、装置及系统 Download PDF

Info

Publication number
CN108694121B
CN108694121B CN201710236943.8A CN201710236943A CN108694121B CN 108694121 B CN108694121 B CN 108694121B CN 201710236943 A CN201710236943 A CN 201710236943A CN 108694121 B CN108694121 B CN 108694121B
Authority
CN
China
Prior art keywords
tested
software installation
node
test
obtaining
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
CN201710236943.8A
Other languages
English (en)
Other versions
CN108694121A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710236943.8A priority Critical patent/CN108694121B/zh
Publication of CN108694121A publication Critical patent/CN108694121A/zh
Application granted granted Critical
Publication of CN108694121B publication Critical patent/CN108694121B/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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种自动化测试方法及装置,该方法包括:获得待测试系统中的每一待测试节点对应的至少一个软件安装包的存储地址信息;依据所获得的存储地址信息,确定待测试系统中的每一待测试节点对应的至少一个软件安装包;将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对待测试系统的软件安装;获得完成软件安装的待测试系统对应的测试脚本;运行所获得的测试脚本,对完成软件安装的待测试系统进行自动化测试。应用本发明实施例,减少了测试过程中的测试人员的手动参与,提升了测试过程中自动化的覆盖率。

Description

一种自动化测试方法、装置及系统
技术领域
本发明涉及分布式系统软件测试和管理技术领域,特别是涉及一种自动化测试方法、装置及系统。
背景技术
随着大数据时代的来临,越来越多的分布式集群系统(例如:分布式云存储系统)应运而生。通常来说,分布式集群系统比传统的单机系统会更加复杂,进一步的,测试分布式集群系统也会更加复杂。
现有的针对分布式集群系统的测试方案中,引入了自动化测试框架,具体的,测试人员首先需要手动构建分布式集群系统,即手动登录存储软件安装包的存储节点,从上述存储节点中查找获得所需的软件安装包,并手动将所获得的软件安装包安装至分布式集群系统中的节点中,以使分布式集群系统中的节点安装对应的软件安装包,构建分布式集群系统。在构建完成分布式集群系统后,在自动化测试框架中自动获得预存的针对分布式集群系统的测试脚本,并运行测试脚本对分布式集群系统进行自动化测试。
可见,在现有的自动化测试方案中,还需要手动为分布式集群系统中的节点安装所需的软件安装包,即对于分布式集群系统的构建还需要测试人员人工构建。在针对分布式集群系统的测试方案中,需要测试人员参与的程度依然较高。
发明内容
本发明实施例的目的在于提供一种自动化测试方法、装置及系统,以减少测试过程中的测试人员的手动参与,提升测试过程中自动化的覆盖率。具体技术方案如下:
一方面,本发明实施例提供了一种自动化测试方法,所述方法包括:
获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,所述每一待测试节点为:待测试系统中的节点;
依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包;
将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
获得完成软件安装的所述待测试系统对应的测试脚本;
运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试。
可选地,所述每一待测试节点对应的至少一个软件安装包存储于存储节点中,所获得的存储地址信息为:所述至少一个软件安装包在所述存储节点中的地址信息;
所述依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包的步骤,包括:
依据所获得的存储地址信息,从所述存储节点中确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包。
可选地,在所述将所确定的每一软件安装包发送至对应的待测试节点的步骤之前,所述方法还包括:
获得所述待测试系统中每一待测试节点的路由IP地址;
依据所获得的IP地址,与每一待测试节点建立安全壳协议SSH连接;
所述将所确定的每一软件安装包发送至对应的待测试节点的步骤,包括:
基于所建立的SSH连接,将所确定的每一软件安装包发送至对应的待测试节点。
可选地,在所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤之前,所述方法还包括:
获得所述每一待测试节点发送的第一信息,其中,所述第一信息包含用于描述待测试节点已安装成功所接收的软件安装包的信息;
依据所获得的第一信息,构建超文本传输协议HTTP或超文本传输安全协议HTTPS;
基于所构建的HTTP或HTTPS,根据预设的配置信息对完成软件安装的所述待测试系统进行配置;
获得配置后的所述待测试系统;
所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤,包括:
获得配置后的所述待测试系统对应的测试脚本。
可选地,在所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤之前,所述方法还包括:
获得完成软件安装的所述待测试系统对应的测试用例描述;
所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤,包括:
根据所述测试用例描述,获得完成软件安装的所述待测试系统对应的测试脚本。
可选地,所述测试用例描述中包含:至少一组第一描述信息,每一组第一描述信息中包含:所对应驱动数据的第一标识;
所述根据所述测试用例描述,获得完成软件安装的所述待测试系统对应的测试脚本的步骤,包括:
依据所述测试用例描述中所包含的至少一组第一描述信息,以及每一组第一描述信息对应的预定的测试执行过程模板,编译生成测试脚本;其中,所述测试脚本中包含:每一组第一描述信息对应的测试对象关键字以及每一测试对象关键字对应的驱动数据;
每一测试执行过程模板中包含:第二描述信息以及测试对象关键字的映射关系,每一组第二描述信息中包含:所对应第一描述信息中的所述驱动数据的第二标识,每一测试对象关键字对应的驱动数据由所对应第一标识以及第二标识确定。
可选地,在所述运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试的步骤之后,所述方法还包括:
获得完成软件安装的所述待测试系统对应的当前测试结果;
存储所述当前测试结果。
可选地,在所述存储所述当前测试结果的步骤之后,所述方法还包括:
获得完成软件安装的所述待测试系统对应的前N次的测试结果,其中,所述N为正整数;
对比所述当前测试结果与所述前N次的测试结果中的每一测试结果,获得对比结果;
存储所获得的对比结果。
可选地,在所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤之前,所述方法还包括:
获得在预设的自动化测试框架中所创建的所述待测试系统对应的目标项目;
所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤,包括:
在所创建的目标项目中,获得每一待测试节点对应的至少一个软件安装包的存储地址信息。
另一方面,本发明实施例提供了一种自动化测试装置,所述装置包括:
第一获得模块,用于获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,所述每一待测试节点为:待测试系统中的节点;
第一确定模块,用于依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包;
发送模块,用于将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
第二获得模块,用于获得完成软件安装的所述待测试系统对应的测试脚本;
运行测试模块,用于运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试。
可选地,所述每一待测试节点对应的至少一个软件安装包存储于存储节点中,所获得的存储地址信息为:所述至少一个软件安装包在所述存储节点中的地址信息;
所述第一确定模块,具体用于
依据所获得的存储地址信息,从所述存储节点中确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包。
可选地,所述装置还包括第三获得模块和建立连接模块;
所述第三获得模块,用于在所述将所确定的每一软件安装包发送至对应的待测试节点之前,获得所述待测试系统中每一待测试节点的路由IP地址;
所述建立连接模块,用于依据所获得的IP地址,与每一待测试节点建立安全壳协议SSH连接;
所述发送模块,具体用于
基于所建立的SSH连接,将所确定的每一软件安装包发送至对应的待测试节点。
可选地,所述装置还包括第四获得模块、构建模块、配置模块和第五获得模块;
所述第四获得模块,用于在所述获得完成软件安装的所述待测试系统对应的测试脚本之前,获得所述每一待测试节点发送的第一信息,其中,所述第一信息包含用于描述待测试节点已安装成功所接收的软件安装包的信息;
所述构建模块,用于依据所获得的第一信息,构建超文本传输协议HTTP或超文本传输安全协议HTTPS;
所述配置模块,用于基于所构建的HTTP或HTTPS,根据预设的配置信息对完成软件安装的所述待测试系统进行配置;
所述第五获得模块,用于获得配置后的所述待测试系统;
所述第二获得模块,具体用于
获得配置后的所述待测试系统对应的测试脚本。
可选地,所述装置还包括第六获得模块;
所述第六获得模块,用于在所述获得完成软件安装的所述待测试系统对应的测试脚本之前,获得完成软件安装的所述待测试系统对应的测试用例描述;
所述第二获得模块,具体用于
根据所述测试用例描述,获得完成软件安装的所述待测试系统对应的测试脚本。
可选地,所述测试用例描述中包含:至少一组第一描述信息,每一组第一描述信息中包含:所对应驱动数据的第一标识;
所述第二获得模块,具体用于
依据所述测试用例描述中所包含的至少一组第一描述信息,以及每一组第一描述信息对应的预定的测试执行过程模板,编译生成测试脚本;其中,所述测试脚本中包含:每一组第一描述信息对应的测试对象关键字以及每一测试对象关键字对应的驱动数据;
每一测试执行过程模板中包含:第二描述信息以及测试对象关键字的映射关系,每一组第二描述信息中包含:所对应第一描述信息中的所述驱动数据的第二标识,每一测试对象关键字对应的驱动数据由所对应第一标识以及第二标识确定。
可选地,所述装置还包括第七获得模块和第一存储模块;
所述第七获得模块,用于在所述运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试之后,获得完成软件安装的所述待测试系统对应的当前测试结果;
所述第一存储模块,用于存储所述当前测试结果。
可选地,所述装置还包括第八获得模块、第九获得模块和第二存储模块;
所述第八获得模块,用于在所述存储所述当前测试结果的步骤之后,获得完成软件安装的所述待测试系统对应的前N次的测试结果,其中,所述N为正整数;
所述第九获得模块,用于对比所述当前测试结果与所述前N次的测试结果中的每一测试结果,获得对比结果;
所述第二存储模块,用于存储所获得的对比结果。
可选地,所述装置还包括第十获得模块;
所述第十获得模块,用于在所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤之前,获得在预设的自动化测试框架中所创建的所述待测试系统对应的目标项目;
所述第一获得模块,具体用于
在所创建的目标项目中,获得每一待测试节点对应的至少一个软件安装包的存储地址信息。
另一方面,本发明实施例提供了一种自动化测试系统,所述自动化测试系统包括:存储节点、自动化测试节点以及至少两个待测试节点;
所述存储节点,用于存储每一待测试节点对应的至少一个软件安装包,其中,所述每一待测试节点为:待测试系统中的节点;
所述自动化测试节点,用于获得每一待测试节点对应的至少一个软件安装包的存储地址信息;依据所获得的存储地址信息,从所述存储节点中确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包;将所确定的每一软件安装包发送至对应的待测试节点;
所述至少两个待测试节点:用于接收所述自动化测试节点发送的至少一个软件安装包,并安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
所述自动化测试节点,还用于获得完成软件安装的所述待测试系统对应的测试脚本;运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试。
本发明实施例中,获得待测试系统中的每一待测试节点对应的至少一个软件安装包的存储地址信息;依据所获得的存储地址信息,确定待测试系统中的每一待测试节点对应的至少一个软件安装包;将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对待测试系统的软件安装;获得完成软件安装的待测试系统对应的测试脚本;运行所获得的测试脚本,对完成软件安装的待测试系统进行自动化测试。可见,在对待测试系统的测试过程中,能够自动完成对待测试系统的软件安装,并自动完成对待测试系统的测试,减少了测试过程中的测试人员的手动参与,提升了测试过程中自动化的覆盖率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种自动化测试方法的流程示意图;
图2为本发明实施例提供的一种自动化测试方法的另一流程示意图;
图3为本发明实施例提供的一种自动化测试装置的结构示意图;
图4为本发明实施例提供的一种自动化测试装置的另一结构示意图;
图5为本发明实施例提供的一种自动化测试系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种自动化测试方法、装置及系统,以减少测试过程中的测试人员的手动参与,提升测试过程中自动化的覆盖率。
需要说明的是,本发明实施例所提供的一种自动化测试方法,可以应用于任一安装有预设的自动化测试框架的电子设备中,该预设的自动化测试框架可以为预设的Jenkins工具,在本发明实施例中,上述预设的Jenkins工具中添加有以插件形式存在的Robot Framework工具。其中,Jenkins工具是一个可扩展的持续集成引擎;RobotFramework工具是一款利用Python编程语言编写的功能自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。上述预设的Jenkins工具可以实现持续、自动地构建、测试待测试系统的功能。并且,上述预设的Jenkins工具可以仅对外提供一个用于触发对待测试系统的自动化测试的接口。
如图1所示,本发明实施例所提供的一种自动化测试方法,可以包括步骤:
S101:获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,每一待测试节点为:待测试系统中的节点;
S102:依据所获得的存储地址信息,确定待测试系统中的每一待测试节点对应的至少一个软件安装包;
可以理解的是,上述的待测试系统可以为任一分布式集群系统,例如:分布式云存储系统、分布式对象存储系统等等。
当需要对待测试系统进行自动化测试时,可以首先在预设的自动化测试框架中,输入待测试系统的每一待测试节点的标识,其中,该每一待测试节点的标识可以为:每一待测试节点的地址信息等,能够唯一确定每一待测试节点的信息。然后对应所输入的每一待测试节点的标识,输入每一待测试节点需要安装的软件安装包的存储地址信息。基于所输入的每一待测试节点的标识以及对应每一待测试节点的标识输入的至少一个软件安装包的存储地址信息,确定待测试系统中的每一待测试节点对应的至少一个软件安装包。
在一种实现方式中,所述每一待测试节点对应的至少一个软件安装包存储于存储节点中,所获得的存储地址信息为:至少一个软件安装包在存储节点中的地址信息;
所述依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包(S102)的步骤,可以包括:
依据所获得的存储地址信息,从存储节点中确定待测试系统中的每一待测试节点对应的至少一个软件安装包。
举例而言,当每一待测试节点对应的至少一个软件安装包存储于存储节点中时,其中,上述存储节点可以为SVN(Subversion)服务器(一个开放源代码的版本控制系统),上述的存储地址信息可以为SVN地址。安装有预设的自动化测试框架的电子设备可以构造SVN或HTTP(HyperText Transfer Protocol,超文本传输协议)协议,以根据SVN地址,从上述SVN服务器中自动查找确定上述的至少一个软件安装包。
其中,在对应每一待测试节点的标识,输入至少一个软件安装包的存储地址信息时,还需要为每一待测试节点的标识对应的待测试节点,配置安装所对应的软件安装包时的安装顺序,以使每一待测试节点在后续的安装所接收的软件安装包时,按所配置的安装顺序安装。
S103:将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对待测试系统的软件安装;
需要说明的是,在确定每一软件安装包后,可以依据所输入的每一待测试节点的标识,以及对应每一待测试节点的标识输入的至少一个软件安装包的存储地址信息,将所确定的每一软件安装包发送至对应的待测试节点。每一待测试节点接收并安装所对应的至少一个软件安装包,以完成对待测试系统的软件安装。
进一步的,在一种实现方式中,每一待测试节点的标识对应的待测试节点安装软件安装包时的安装顺序,可以通过对应每一待测试节点的标识输入上述存储地址信息的输入顺序体现,在将每一软件安装包发送至对应的待测试节点时,按照上述存储地址信息的输入顺序,发送每一上述存储地址信息对应的软件安装包,以使每一待测试节点按上述的发送顺序,接收并安装软件安装包,完成对待测试系统的软件安装。在另一种实现方式中,还可以在将所确定的每一软件安装包发送至对应的待测试节点时,也将所配置的安装顺序发送至对应的待测试节点,以使每一待测试节点按所接收的安装顺序,安装软件安装包,完成对待测试系统的软件安装。等等,这都是可以的。
S104:获得完成软件安装的待测试系统对应的测试脚本;
S105:运行所获得的测试脚本,对完成软件安装的待测试系统进行自动化测试。
在本发明实施例中,可以预先存储完成软件安装的待测试系统对应的测试脚本,这样可以直接获得预先存储的且上述待测试系统对应的测试脚本,安装有预设的自动化测试框架的电子设备可以直接运行上述所获得的测试脚本,对上述待测试系统进行自动化测试。
应用本发明实施例,获得待测试系统中的每一待测试节点对应的至少一个软件安装包的存储地址信息;依据所获得的存储地址信息,确定待测试系统中的每一待测试节点对应的至少一个软件安装包;将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对待测试系统的软件安装;获得完成软件安装的待测试系统对应的测试脚本;运行所获得的测试脚本,对完成软件安装的待测试系统进行自动化测试。可见,在对待测试系统的测试过程中,能够自动完成对待测试系统的软件安装,并自动完成对待测试系统的测试,减少了测试过程中的测试人员的手动参与,提升了测试过程中自动化的覆盖率。
在一种实现方式中,上述每一待测试节点的标识可以为能够唯一确定每一待测试节点的信息,在一种实现方式中,上述每一待测试节点的标识可以为每一待测试节点的路由IP(Internet Protocol,网际协议)地址,如图2所示,可以包括如下步骤:
S201:获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,每一待测试节点为:待测试系统中的节点;
S202:依据所获得的存储地址信息,确定待测试系统中的每一待测试节点对应的至少一个软件安装包;
其中,S201与图1中所示的S101相同,S202与图1中所示的S102相同。
S203:获得待测试系统中每一待测试节点的路由IP地址;
S204:依据所获得的IP地址,与每一待测试节点建立SSH(Secure Shell,安全壳协议)连接;
S205:基于所建立的SSH连接,将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对待测试系统的软件安装;
其中,S205为图1中所示的S103的一种实现方式。
S206:获得完成软件安装的待测试系统对应的测试脚本;
S207:运行所获得的测试脚本,对完成软件安装的待测试系统进行自动化测试。
其中,S206与图1中所示的S104相同,S207与图1中所示的S105相同。
需要强调的是,安装有预设的自动化测试框架的电子设备在获得每一待测试节点的IP地址后,依据所获得的IP地址,与每一待测试节点建立SSH连接,并基于所建立的SSH连接,将所获得的每一软件安装包发送至对应的待测试节点。其中,SSH为建立在应用层和传输层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议。
在待测试系统中的每一待测试节点安装完成所接收的每一软件安装包后,为了保证自动化测试过程的顺利进行,还可以对待测试系统进行配置(例如:对待测试系统进行初始化)。在一种实现方式中,测试人员可以手动对完成软件安装的待测试系统进行配置(例如:对待测试系统进行初始化)。
在另一种实现方式中,还可以对待测试系统进行自动化配置,以进一步减少测试过程中测试人员的手动参与,提高测试过程中自动化的覆盖率。具体的,在所述获得完成软件安装的待测试系统对应的测试脚本(S104)的步骤之前,所述方法还可以包括:
获得每一待测试节点发送的第一信息,其中,第一信息包含用于描述待测试节点已安装成功所接收的软件安装包的信息;
依据所获得的第一信息,构建超文本传输协议HTTP或超文本传输安全协议HTTPS;
基于所构建的HTTP或HTTPS,根据预设的配置信息对完成软件安装的待测试系统进行配置;
获得配置后的待测试系统;
所述获得完成软件安装的待测试系统对应的测试脚本(S104)的步骤,可以包括:
获得配置后的待测试系统对应的测试脚本。
可以理解的是,每一待测试节点安装成功所接收的软件安装包后,可以进行重启,然后向安装有预设的自动化测试框架的电子设备,发送用于描述待测试节点已安装成功所接收的软件安装包的第一信息,以通知安装有预设的自动化测试框架的电子设备已安装成功软件安装包,完成了对待测试系统的软件安装。
本发明实施例中,发送至每一待测试节点的软件安装包中可以均包含一个WEBServer(World Wide WebServer,万维网服务器)软件安装包,每一待测试节点均会安装该WEB软件安装包,在每一待测试节点重启后,上述WEB软件安装包对应的WEB软件也会启动。当安装有预设的自动化测试框架的电子设备,接收到每一待测试节点发送的第一信息后,会构建HTTP或HTTPS协议,以模拟WEB端,并基于所构建的HTTP或HTTPS与启动所安装的WEB软件的待测试节点进行通信,以根据预设的配置信息对完成软件安装的待测试系统进行配置(例如:对完成软件安装的待测试系统进行初始化)。
举例而言,当待测试系统为分布式云存储系统时,该初始化的步骤可以包括:对分布式云存储系统的存储卷的格式化、创建分布式云存储系统的资源池等等。其中,上述配置的具体步骤可以根据该待测试系统的类型进行设置。
另外,在一种实现方式中,可以预先存储上述待测试系统对应的测试用例的描述信息。这样,在所述获得完成软件安装的待测试系统对应的测试脚本(S104)的步骤之前,所述方法还可以包括:
获得完成软件安装的待测试系统对应的测试用例描述;
所述获得完成软件安装的待测试系统对应的测试脚本(S104)的步骤,可以包括:
根据测试用例描述,获得完成软件安装的待测试系统对应的测试脚本。
需要说明的是,测试用例描述可以为测试人员针对完成软件安装的待测试系统预先设置的信息。一般的,测试人员可以预先对应上述待测试系统,定义一个测试用例描述模板;然后,在上述测试用例描述模板中添加上述待测试系统对应的每一测试用例描述,其中,上述测试用例描述模板可以存储于excel表中。上述测试用例描述模板中的每一行可以表示一个测试用例描述,每一列中均包含所对应的测试用例描述的描述信息。举例而言,当上述待测试系统为一个分布式云存储系统时,测试用例描述模板可以如表1所示。
表1
Figure GDA0001308743220000141
可以理解的是,当本发明实施例中自动化测试为关键字驱动测试时,可以根据测试用例描述以及预定的测试执行过程模板,确定该测试用例描述对应的测试对象关键字以及每一测试对象关键字对应的驱动数据,然后,根据所确定的测试对象关键字以及每一测试对象关键字对应的驱动数据,可以获得包含上述测试对象关键字以及每一测试对象关键字对应的驱动数据的代码,该代码即为完成软件安装的待测试系统对应的测试脚本。在一种实现方式中,测试用例描述中包含:至少一组第一描述信息,每一组第一描述信息中包含:所对应驱动数据的第一标识;
所述根据测试用例描述,获得完成软件安装的待测试系统对应的测试脚本的步骤,可以包括:
依据测试用例描述中所包含的至少一组第一描述信息,以及每一组第一描述信息对应的预定的测试执行过程模板,编译生成测试脚本;其中,测试脚本中包含:每一组第一描述信息对应的测试对象关键字以及每一测试对象关键字对应的驱动数据;
每一测试执行过程模板中包含:第二描述信息以及测试对象关键字的映射关系,每一组第二描述信息中包含:所对应第一描述信息中的所述驱动数据的第二标识,每一测试对象关键字对应的驱动数据由所对应第一标识以及第二标识确定。
其中,当本发明实施例中自动化测试为关键字驱动测试时,安装有预设的自动化测试框架的电子设备利用预设的编程语言,读取所获得的测试用例描述所包含的每一组第一描述信息,并采用面向对象技术,从每一组第一描述信息对应的预定的测试执行过程模板中,确定出上述每一组第一描述信息对应的测试对象关键字,并且利用第一标识以及第二标识,确定出上述第一描述信息对应的测试对象关键字对应的驱动数据,编译生成测试脚本。
在一种实现方式中,本发明实施例中,上述预设的自动化测试框架可以为:添加有以插件形式存在的Robot Framework工具的Jenkins工具,此时,该预设的编程语言可以为Python编程语言。
另外,当对上述待测试系统设置出新的测试用例描述时,直接将上述新的测试用例描述所包含的至少一组第一描述信息,按照测试用例描述模板进行填写即可。
如表1所示的测试用例描述模板中,存在九列对测试用例描述的第一描述信息,即表1中所示的测试用例描述存在九列的第一描述信息(也即九组第一描述信息)。此时,可以存在九个预定的测试执行过程模板,其中,测试用例描述模板中的每一列第一描述信息,对应一个预定的测试执行过程模板。下面仅利用如表1中所示的,测试用例描述模板中第六列的第一描述信息和第七列的第一描述信息,进行举例说明,如表2A和表2B所示,分别为如表1中所示的,测试用例描述模板中第六列的第一描述信息对应的预定的测试执行过程模板,和第七列的第一描述信息对应的预定的测试执行过程模板。表1中的“Domain1”为驱动数据“Domain1”的第一标识,“bucket1”为驱动数据“bucket1”的第一标识,“object1”为驱动数据“object1”的第一标识。
表2A
Figure GDA0001308743220000161
表2B
Figure GDA0001308743220000162
可以理解的是,利用预设的编程语言,读取表1中所示的测试用例描述模板里的测试用例描述,再结合表1中所示的测试用例描述对应的预定的测试执行过程模板(如表2A和表2B所示,包含第二描述信息以及测试对象关键字的映射关系),可以编译生成测试脚本。
其中,表2A中的“(D.*)”为驱动对象关键字“创建域”对应的驱动数据“domain1”的正则表达式(即驱动数据“domain1”的第二标识),“(b.*)”为驱动对象关键字“创建bucket”对应的驱动数据“bucket1”的正则表达式(即驱动数据“bucket1”的第二标识),“(.*)”为驱动对象关键字“上传object”对应的驱动数据“object1”的正则表达式(即驱动数据“object1”的第二标识),“(.*)”为驱动对象关键字“下载object”对应的驱动数据“object1”的正则表达式(即驱动数据“object1”的第二标识)。
承接上述例子,所生成的测试脚本的具体内容,可以如下:
)1.用户基本功能_文件业务_object下载
[Documentation]doc
…前置条件:
…1.集群正常工作
…2.已创建Domain1,Domain1中已创建bucket1,且bucket1有可用容量
…3.已成功上传object1到bucket1中
…测试步骤及数据:
…1.用户请求下载object1
…预期结果:
…a.SS给SDK返回object1的数据
…b.下载下来的object1的数据与上传时一致
[Tags]auto 01.用户基本功能
[Setup]Run Keywords setup1
Set test variable${testcase_name}01.用户基本功能_文件业务_object下载
Check_state
创建域domain1
创建bucket bucket1
上传object object1
下载object object1
需要强调的是,在关键字驱动测试中,每一驱动对象关键字均存在唯一性,且驱动数据的正则表达式也存在唯一性,根据每一驱动数据的正则表达式可以唯一确定驱动数据。
为了更好的提高测试人员的使用体验,并便于测试人员后期找出上述待测试系统的缺陷,并进一步对上述待测试系统的缺陷进行改善,提高上述待测试系统的健壮性。在一种实现方式中,在所述运行所获得的测试脚本,对完成软件安装的待测试系统进行自动化测试(S106)的步骤之后,所述方法还可以包括:
获得完成软件安装的待测试系统对应的当前测试结果;
存储当前测试结果。
可以理解的是,在每次对上述待测试系统执行本发明实施例所提供的自动化测试流程后,本发明实施例均需要获得并存储针对上述待测试系统的当前测试结果,以方便测试人员对当前测试结果的查看。在一种实现方式中,当前测试结果中可以包括描述哪些测试用例描述测试成功的信息,以及描述哪些测试用例描述测试失败的信息,并且,还可以包括描述测试用例描述测试成功和测试失败的个数的信息,等等。在一种实现方式中,测试人员可以通过安装预设的自动化测试框架的电子设备所模拟的WEB端,对当前测试结果进行查看。
在一种实现方式中,在所述存储当前测试结果的步骤之后,所述方法还可以包括:
获得完成软件安装的待测试系统对应的前N次的测试结果,其中,N为正整数;
对比当前测试结果与前N次的测试结果中的每一测试结果,获得对比结果;
存储所获得的对比结果。
需要说明的是,可以对上述待测试系统进行多次自动化测试,以保证测试结果的可靠性,在获得当前测试结果后,可以继续获得当前测试结果的前N次的测试结果,将上述的前N次的测试结果以及当前测试结果中的所有测试结果进行对比,以确定上述测试结果是否相同,为存在差异的测试结果,标记预定标识。
例如,可以以当前测试结果作为对比基准,将前N次的测试结果中与当前测试结果存在差异的测试结果标记预定标识。或者,以前N次的测试结果中的一个测试结果作为对比基准,将前N次的测试结果中除上述作为对比基准的测试结果外的其他测试结果以及当前测试结果中的、且与上述作为对比基准的测试结果存在差异的测试结果标记预定标识。等等,这都是可以的。
另外的,还可以将针对上述待测试系统的前N次的测试结果以及当前测试结果中的,每次测试结果的测试用例描述测试成功和测试失败的个数进行存储,并将上述的每次测试结果的测试用例描述测试成功和测试失败的个数,根据测试开始(或结束)时间的先后顺序,绘制成图表。其中,上述图表可以以每次测试开始(或结束)时间为横轴,以测试用例描述的个数为纵轴,绘制上述每次测试结果中测试用例描述测试成功和测试失败的个数。
在一种实现方式中,在所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤之前,所述方法还包括:
获得在预设的自动化测试框架中所创建的待测试系统对应的目标项目;
所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤,包括:
在所创建的目标项目中,获得每一待测试节点对应的至少一个软件安装包的存储地址信息。
可以理解的是,在需要对待测试系统进行自动化测试时,需要测试人员在预设的自动化测试框架中针对待测试系统创建目标项目,进一步的,在所创建的目标项目中,获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,所创建的目标项目可以默认调用自动化构建以及调用自动化测试。
在一种实现方式中,测试人员还可以对所创建的目标项目手动设置配置信息,安装预设的自动化测试框架的电子设备依据测试人员设置的配置信息对目标项目进行配置,例如:配置信息可以包括对应目标项目调用自动化构建、调用自动化测试、调用测试结果自动保存等等。在一种实现方式中,上述预设的自动化测试框架可以为:添加有以插件形式存在的Robot Framework工具的Jenkins工具,此时,上述所创建的目标项目可以为Jenkins项目。
相应于上述方法实施例,本发明实施例还提供了一种自动化测试装置,如图3所示,所述装置可以包括:
第一获得模块310,用于获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,所述每一待测试节点为:待测试系统中的节点;
第一确定模块320,用于依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包;
发送模块330,用于将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
第二获得模块340,用于获得完成软件安装的所述待测试系统对应的测试脚本;
运行测试模块350,用于运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试。
应用本发明实施例,获得待测试系统中的每一待测试节点对应的至少一个软件安装包的存储地址信息;依据所获得的存储地址信息,确定待测试系统中的每一待测试节点对应的至少一个软件安装包;将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对待测试系统的软件安装;获得完成软件安装的待测试系统对应的测试脚本;运行所获得的测试脚本,对完成软件安装的待测试系统进行自动化测试。可见,在对待测试系统的测试过程中,能够自动完成对待测试系统的软件安装,并自动完成对待测试系统的测试,减少了测试过程中的测试人员的手动参与,提升了测试过程中自动化的覆盖率。
在一种实现方式中,所述每一待测试节点对应的至少一个软件安装包存储于存储节点中,所获得的存储地址信息为:所述至少一个软件安装包在所述存储节点中的地址信息;
所述第一确定模块320,具体用于
依据所获得的存储地址信息,从所述存储节点中确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包。
在一种实现方式中,基于图3所示结构,如图4所示,所述装置还可以包括第五获得模块410和建立连接模块420;
所述第五获得模块410,用于在所述将所确定的每一软件安装包发送至对应的待测试节点之前,获得所述待测试系统中每一待测试节点的路由IP地址;
所述建立连接模块420,用于依据所获得的IP地址,与每一待测试节点建立安全壳协议SSH连接;
所述发送模块330,具体用于
基于所建立的SSH连接,将所确定的每一软件安装包发送至对应的待测试节点。
在一种实现方式中,所述装置还可以包括第四获得模块、构建模块、配置模块和第五获得模块;
所述第四获得模块,用于在所述获得完成软件安装的所述待测试系统对应的测试脚本之前,获得所述每一待测试节点发送的第一信息,其中,所述第一信息包含用于描述待测试节点已安装成功所接收的软件安装包的信息;
所述构建模块,用于依据所获得的第一信息,构建超文本传输协议HTTP或超文本传输安全协议HTTPS;
所述配置模块,用于基于所构建的HTTP或HTTPS,根据预设的配置信息对完成软件安装的所述待测试系统进行配置;
所述第五获得模块,用于获得配置后的所述待测试系统;
所述第二获得模块340,具体用于
获得配置后的所述待测试系统对应的测试脚本。
在一种实现方式中,所述装置还可以包括第六获得模块;
所述第六获得模块,用于在所述获得完成软件安装的所述待测试系统对应的测试脚本之前,获得完成软件安装的所述待测试系统对应的测试用例描述;
所述第二获得模块340,具体用于
根据所述测试用例描述,获得完成软件安装的所述待测试系统对应的测试脚本。
在一种实现方式中,所述测试用例描述中包含:至少一组第一描述信息,每一组第一描述信息中包含:所对应驱动数据的第一标识;
所述第二获得模块340,具体用于
依据所述测试用例描述中所包含的至少一组第一描述信息,以及每一组第一描述信息对应的预定的测试执行过程模板,编译生成测试脚本;其中,所述测试脚本中包含:每一组第一描述信息对应的测试对象关键字以及每一测试对象关键字对应的驱动数据;
每一测试执行过程模板中包含:第二描述信息以及测试对象关键字的映射关系,每一组第二描述信息中包含:所对应第一描述信息中的所述驱动数据的第二标识,每一测试对象关键字对应的驱动数据由所对应第一标识以及第二标识确定。
在一种实现方式中,所述装置还可以包括第七获得模块和第一存储模块;
所述第七获得模块,用于在所述运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试之后,获得完成软件安装的所述待测试系统对应的当前测试结果;
所述第一存储模块,用于存储所述当前测试结果。
在一种实现方式中,所述装置还可以包括第八获得模块、第九获得模块和第二存储模块;
所述第八获得模块,用于在所述存储所述当前测试结果的步骤之后,获得完成软件安装的所述待测试系统的前N次的测试结果,其中,所述N为正整数;
所述第九获得模块,用于对比所述当前测试结果与所述前N次的测试结果中的每一测试结果,获得对比结果;
所述第二存储模块,用于存储所获得的对比结果。
在一种实现方式中,所述装置还可以包括第十获得模块;
所述第十获得模块,用于在所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤之前,获得在预设的自动化测试框架中所创建的所述待测试系统对应的目标项目;
所述第一获得模块310,具体用于
在所创建的目标项目中,获得每一待测试节点对应的至少一个软件安装包的存储地址信息。
相应于上述方法实施例,本发明实施例还提供了一种自动化测试系统,如图5所示,所述自动化测试系统可以包括:存储节点510、自动化测试节点520以及至少两个待测试节点530;
所述存储节点510,用于存储每一待测试节点对应的至少一个软件安装包,其中,所述每一待测试节点为:待测试系统中的节点;
所述自动化测试节点520,用于获得每一待测试节点对应的至少一个软件安装包的存储地址信息;依据所获得的存储地址信息,从所述存储节点610中确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包;将所确定的每一软件安装包发送至对应的待测试节点;
所述至少两个待测试节点530:用于接收所述自动化测试节点620发送的至少一个软件安装包,并安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
所述自动化测试节点520,还用于获得完成软件安装的所述待测试系统对应的测试脚本;运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (15)

1.一种自动化测试方法,其特征在于,所述方法包括:
获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,所述每一待测试节点为:待测试系统中的节点;
依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包;
将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
获得完成软件安装的所述待测试系统对应的测试脚本;
运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试;
所述每一待测试节点对应的至少一个软件安装包存储于存储节点中,所获得的存储地址信息为:所述至少一个软件安装包在存储节点中的地址信息;
所述依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包的步骤,包括:
依据所获得的存储地址信息,从所述存储节点中按照预设协议自动确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包,其中,所述软件安装包包含WEBServer软件安装包;
在所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤之前,所述方法还包括:
获得所述每一待测试节点发送的第一信息,其中,所述第一信息包含用于描述待测试节点已安装成功所接收的软件安装包的信息;
依据所获得的第一信息,构建超文本传输协议HTTP或超文本传输安全协议HTTPS;
基于所构建的HTTP或HTTPS与所述待测试节点通信,根据预设的配置信息对完成软件安装的所述待测试系统进行配置;
获得配置后的所述待测试系统;
所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤,包括:
获得配置后的所述待测试系统对应的测试脚本。
2.根据权利要求1所述的方法,其特征在于,在所述将所确定的每一软件安装包发送至对应的待测试节点的步骤之前,所述方法还包括:
获得所述待测试系统中每一待测试节点的路由IP地址;
依据所获得的IP地址,与每一待测试节点建立安全壳协议SSH连接;
所述将所确定的每一软件安装包发送至对应的待测试节点的步骤,包括:
基于所建立的SSH连接,将所确定的每一软件安装包发送至对应的待测试节点。
3.根据权利要求1所述的方法,其特征在于,在所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤之前,所述方法还包括:
获得完成软件安装的所述待测试系统对应的测试用例描述;
所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤,包括:
根据所述测试用例描述,获得完成软件安装的所述待测试系统对应的测试脚本。
4.根据权利要求3所述的方法,其特征在于,所述测试用例描述中包含:至少一组第一描述信息,每一组第一描述信息中包含:所对应驱动数据的第一标识;
所述根据所述测试用例描述,获得完成软件安装的所述待测试系统对应的测试脚本的步骤,包括:
依据所述测试用例描述中所包含的至少一组第一描述信息,以及每一组第一描述信息对应的预定的测试执行过程模板,编译生成测试脚本;其中,所述测试脚本中包含:每一组第一描述信息对应的测试对象关键字以及每一测试对象关键字对应的驱动数据;
每一测试执行过程模板中包含:第二描述信息以及测试对象关键字的映射关系,每一组第二描述信息中包含:所对应第一描述信息中的所述驱动数据的第二标识,每一测试对象关键字对应的驱动数据由所对应第一标识以及第二标识确定。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试的步骤之后,所述方法还包括:
获得完成软件安装的所述待测试系统对应的当前测试结果;
存储所述当前测试结果。
6.根据权利要求5所述的方法,其特征在于,在所述存储所述当前测试结果的步骤之后,所述方法还包括:
获得完成软件安装的所述待测试系统对应的前N次的测试结果,其中,所述N为正整数;
对比所述当前测试结果与所述前N次的测试结果中的每一测试结果,获得对比结果;
存储所获得的对比结果。
7.根据权利要求1-4任一项所述的方法,其特征在于,在所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤之前,所述方法还包括:
获得在预设的自动化测试框架中所创建的所述待测试系统对应的目标项目;
所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤,包括:
在所创建的目标项目中,获得每一待测试节点对应的至少一个软件安装包的存储地址信息。
8.一种自动化测试装置,其特征在于,所述装置包括:
第一获得模块,用于获得每一待测试节点对应的至少一个软件安装包的存储地址信息,其中,所述每一待测试节点为:待测试系统中的节点;
第一确定模块,用于依据所获得的存储地址信息,确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包;
发送模块,用于将所确定的每一软件安装包发送至对应的待测试节点,以使每一待测试节点安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
第二获得模块,用于获得完成软件安装的所述待测试系统对应的测试脚本;
运行测试模块,用于运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试;
所述每一待测试节点对应的至少一个软件安装包存储于存储节点中,所获得的存储地址信息为:所述至少一个软件安装包在所述存储节点中的地址信息;
所述第一确定模块,具体用于
依据所获得的存储地址信息,从所述存储节点中确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包,其中,所述软件安装包包含WEB Server软件安装包;
第四获得模块,用于在所述获得完成软件安装的所述待测试系统对应的测试脚本之前,获得所述每一待测试节点发送的第一信息,其中,所述第一信息包含用于描述待测试节点已安装成功所接收的软件安装包的信息;
构建模块,用于依据所获得的第一信息,构建超文本传输协议HTTP或超文本传输安全协议HTTPS;
配置模块,用于基于所构建的HTTP或HTTPS与所述待测试节点通信,根据预设的配置信息对完成软件安装的所述待测试系统进行配置;
第五获得模块,用于获得配置后的所述待测试系统;
所述第二获得模块,具体用于
获得配置后的所述待测试系统对应的测试脚本。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括第三获得模块和建立连接模块;
所述第三获得模块,用于在所述将所确定的每一软件安装包发送至对应的待测试节点之前,获得所述待测试系统中每一待测试节点的路由IP地址;
所述建立连接模块,用于依据所获得的IP地址,与每一待测试节点建立安全壳协议SSH连接;
所述发送模块,具体用于
基于所建立的SSH连接,将所确定的每一软件安装包发送至对应的待测试节点。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括第六获得模块;
所述第六获得模块,用于在所述获得完成软件安装的所述待测试系统对应的测试脚本之前,获得完成软件安装的所述待测试系统对应的测试用例描述;
所述第二获得模块,具体用于
根据所述测试用例描述,获得完成软件安装的所述待测试系统对应的测试脚本。
11.根据权利要求10所述的装置,其特征在于,所述测试用例描述中包含:至少一组第一描述信息,每一组第一描述信息中包含:所对应驱动数据的第一标识;
所述第二获得模块,具体用于
依据所述测试用例描述中所包含的至少一组第一描述信息,以及每一组第一描述信息对应的预定的测试执行过程模板,编译生成测试脚本;其中,所述测试脚本中包含:每一组第一描述信息对应的测试对象关键字以及每一测试对象关键字对应的驱动数据;
每一测试执行过程模板中包含:第二描述信息以及测试对象关键字的映射关系,每一组第二描述信息中包含:所对应第一描述信息中的所述驱动数据的第二标识,每一测试对象关键字对应的驱动数据由所对应第一标识以及第二标识确定。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述装置还包括第七获得模块和第一存储模块;
所述第七获得模块,用于在所述运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试之后,获得完成软件安装的所述待测试系统对应的当前测试结果;
所述第一存储模块,用于存储所述当前测试结果。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括第八获得模块、第九获得模块和第二存储模块;
所述第八获得模块,用于在所述存储所述当前测试结果的步骤之后,获得完成软件安装的所述待测试系统对应的前N次的测试结果,其中,所述N为正整数;
所述第九获得模块,用于对比所述当前测试结果与所述前N次的测试结果中的每一测试结果,获得对比结果;
所述第二存储模块,用于存储所获得的对比结果。
14.根据权利要求8-11任一项所述的装置,其特征在于,所述装置还包括第十获得模块;
所述第十获得模块,用于在所述获得每一待测试节点对应的至少一个软件安装包的存储地址信息的步骤之前,获得在预设的自动化测试框架中所创建的所述待测试系统对应的目标项目;
所述第一获得模块,具体用于
在所创建的目标项目中,获得每一待测试节点对应的至少一个软件安装包的存储地址信息。
15.一种自动化测试系统,其特征在于,所述自动化测试系统包括:存储节点、自动化测试节点以及至少两个待测试节点;
所述存储节点,用于存储每一待测试节点对应的至少一个软件安装包,其中,所述每一待测试节点为:待测试系统中的节点;
所述自动化测试节点,用于获得每一待测试节点对应的至少一个软件安装包的存储地址信息;依据所获得的存储地址信息,从所述存储节点中确定所述待测试系统中的每一待测试节点对应的至少一个软件安装包,所述软件安装包包含WEB Server软件安装包;将所确定的每一软件安装包发送至对应的待测试节点;
所述至少两个待测试节点:用于接收所述自动化测试节点发送的至少一个软件安装包,并安装所接收的至少一个软件安装包,完成对所述待测试系统的软件安装;
所述自动化测试节点,还用于获得完成软件安装的所述待测试系统对应的测试脚本;运行所获得的测试脚本,对完成软件安装的所述待测试系统进行自动化测试;在所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤之前,还用于获得所述每一待测试节点发送的第一信息,其中,所述第一信息包含用于描述待测试节点已安装成功所接收的软件安装包的信息;依据所获得的第一信息,构建超文本传输协议HTTP或超文本传输安全协议HTTPS;基于所构建的HTTP或HTTPS与所述待测试节点通信,根据预设的配置信息对完成软件安装的所述待测试系统进行配置;获得配置后的所述待测试系统;所述获得完成软件安装的所述待测试系统对应的测试脚本的步骤,包括:获得配置后的所述待测试系统对应的测试脚本。
CN201710236943.8A 2017-04-12 2017-04-12 一种自动化测试方法、装置及系统 Active CN108694121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710236943.8A CN108694121B (zh) 2017-04-12 2017-04-12 一种自动化测试方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710236943.8A CN108694121B (zh) 2017-04-12 2017-04-12 一种自动化测试方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108694121A CN108694121A (zh) 2018-10-23
CN108694121B true CN108694121B (zh) 2021-12-17

Family

ID=63843919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710236943.8A Active CN108694121B (zh) 2017-04-12 2017-04-12 一种自动化测试方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108694121B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104337B (zh) * 2018-11-01 2022-02-18 郑州云海信息技术有限公司 一种测试网络访问控制工具的方法、装置及设备
CN109597764A (zh) * 2018-12-10 2019-04-09 浪潮(北京)电子信息产业有限公司 一种目录配额的测试方法及相关装置
CN109902017A (zh) * 2019-03-06 2019-06-18 厦门商集网络科技有限责任公司 一种基于RobotFramework测试Dubbo接口的方法及终端
CN112256554B (zh) * 2019-07-22 2023-06-16 腾讯科技(深圳)有限公司 一种基于场景测试用例进行测试的方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035896A (zh) * 2010-12-31 2011-04-27 北京航空航天大学 一种适用于软件系统的基于ttcn-3的分布式测试框架
CN106502642A (zh) * 2016-09-21 2017-03-15 北京深维科技有限公司 一种eda工具的评价方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8739131B2 (en) * 2007-05-04 2014-05-27 International Business Machines Corporation Completing functional testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035896A (zh) * 2010-12-31 2011-04-27 北京航空航天大学 一种适用于软件系统的基于ttcn-3的分布式测试框架
CN106502642A (zh) * 2016-09-21 2017-03-15 北京深维科技有限公司 一种eda工具的评价方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
jenkins上配置robotframeworkride自动化脚本任务;shahaizimxm;《https://blog.csdn.net/xiangmin_meng/article/details/47747235》;20150818;第1-6页 *
Jenkins进阶系列之——12详解Jenkins节点配置;爱自己;《https://www.cnblogs.com/zz0412/p/jenkins_jj_12.html》;20131221;第1-5页 *
Robotframework自定义关键字库;流浪的如影;《https://www.cnblogs.com/donjor/p/6030287.html》;20161104;第1-3页 *

Also Published As

Publication number Publication date
CN108694121A (zh) 2018-10-23

Similar Documents

Publication Publication Date Title
CN108694121B (zh) 一种自动化测试方法、装置及系统
KR101782457B1 (ko) 어플리케이션 업그레이드 방법 및 장치
CN107580040B (zh) 一种对智能家居终端中的通信模块升级的方法和装置
CN112988485B (zh) 电力物联网设备模拟测试方法及装置
CN104717282A (zh) 一种控制安卓操作系统智能终端的方法、装置与系统
CN107632829A (zh) 一种基于iOS系统下的App自动化持续集成系统及方法
CN105487859B (zh) 一种基于模板的大数据组件web部署方法
CN110825985B (zh) 数据采集系统、方法、装置、控制设备及代理设备
CN103957117A (zh) 实现网络设备智能安装的系统及其方法
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
CN111786893A (zh) mesh组网中无线路由器软件版本的同步方法和装置
CN103186376A (zh) 一种用于建立或更新软件开发环境的方法、装置和设备
CN107113199B (zh) 用于分析和处理通信序列的分析装置
CN108776592A (zh) 一种页面构建的方法、装置、设备及存储介质
CN111641996B (zh) 基于蓝牙Mesh网络的设备入网方法和装置、存储介质
CN115514667A (zh) 接入服务处理方法、系统、装置、电子设备以及存储介质
CN116257438A (zh) 接口测试用例的更新方法及相关设备
CN104780076A (zh) 一种代码检查方法和设备
TW201303615A (zh) 用戶端配置系統及方法
CN104104701A (zh) 在线服务的配置更新的方法和系统
CN104917633A (zh) 模拟fota升级的方法和装置
CN114285779B (zh) 测试请求的处理方法、装置和系统
CN114466000B (zh) 一种cdn网关回源方法及装置
CN115982493A (zh) 页面跳转方法及装置、存储介质及电子装置
US7747711B2 (en) Network configuration method and system

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