CN111190778A - 用于分布式存储系统的磁盘阵列测试系统 - Google Patents

用于分布式存储系统的磁盘阵列测试系统 Download PDF

Info

Publication number
CN111190778A
CN111190778A CN201911370969.7A CN201911370969A CN111190778A CN 111190778 A CN111190778 A CN 111190778A CN 201911370969 A CN201911370969 A CN 201911370969A CN 111190778 A CN111190778 A CN 111190778A
Authority
CN
China
Prior art keywords
test
distributed storage
disk array
code machine
client
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
Application number
CN201911370969.7A
Other languages
English (en)
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.)
ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd.
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry 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 Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Priority to CN201911370969.7A priority Critical patent/CN111190778A/zh
Publication of CN111190778A publication Critical patent/CN111190778A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

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

Abstract

本发明公开了一种用于分布式存储系统的磁盘阵列测试系统,该测试系统包括:代码机、连接于代码机的windows客户端以及连接于代码机的Linux客户端,分布式存储软件和磁盘阵列中的任意一种与代码机、windows客户端和Linux客户端连接;其中,代码机包括:列表存储模块,用于存储用例的列表;测试入口模块,用于根据列表进行用例的运行;其中,代码机根据用例的测试需求向windows客户端和Linux客户端分配任务,以对分布式存储软件或磁盘阵列进行测试。本发明通过上述技术方案,至少能够兼容分布式存储以及磁盘阵列等测试环境,提升了测试工程师的测试效率。

Description

用于分布式存储系统的磁盘阵列测试系统
技术领域
本发明涉及计算机测试技术领域,具体来说,涉及一种用于分布式存储系统的磁盘阵列测试系统。
背景技术
随着信息技术的日益发展,软件层出不穷,尤其是后端分布式存储软件,高可靠、高性能等要求越来越严苛,对测试工作的自动化程度提出了更高的要求。持续不间断、自动化的测试需求被提出;当涉及到大型分布式存储软件、磁盘阵列等产品时,又会有对于各种客户端接入的可靠性及实用性测试,跨平台的实用性尤其重要。
现有的对于大型分布式存储软件、磁盘阵列等产品的测试方法中,RF(RobotFramework)是由Nokia Siemens Networks开发并提供支持的一款自动化测试框架,具有良好的可扩展性,支持关键字驱动,可以进行分布式测试执行,工作于Server/Client的网络模式。
但是,RF目前的缺陷集中于其模式,其是一种有agent的测试工具,本地代码的更新必须上传到相应的节点才能相应的执行某些功能,对于新功能测试而言,不是很方便,并且agent这种模式,一旦agent无法响应,那么对于整个测试来讲,将是毁灭性的问题,对于Linux来讲,SSH是最合适用来执行命令的工具,对于windows而言,内置的winrm可以远程调用powershell。同时RF依赖于python,实际使用中最好保证环境中所有agent的python版本相同,所需要的包也尽可能相同,但是linux客户端随着版本的迭代,内置的python版本是不相同的,这时就会出现兼容性的问题,其次RF目前无法对磁盘阵列进行自动化测试,磁盘阵列的底层基本上都是基于linux进行了改变,无法将agent放入磁盘阵列中,这样限制了RF在磁盘阵列方面的使用。
此外,QTP目前是Micro Focus组织维护的基于VbScript语言的自动化测试工具。主要是用于回归测试和版本迭代测试,支持脚本录制和回放。
但是,对于QTP来讲,它只能应用于windows,而目前随着开源操作系统linux的广泛应用,以及从公司的成本及系统控制方面来讲,很多软件都是部署或者使用在linux上的,而此时QTP就有了很大的局限性。
发明内容
针对相关技术中的上述问题,本发明提出一种用于分布式存储系统的磁盘阵列测试系统,至少能够兼容分布式存储以及磁盘阵列等测试环境,提升了测试工程师的测试效率。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种用于分布式存储系统的磁盘阵列测试系统,包括代码机、连接于代码机的windows客户端以及连接于代码机的Linux客户端,分布式存储软件和磁盘阵列中的任意一种与代码机、windows客户端和Linux客户端连接;
其中,代码机包括:列表存储模块,用于存储用例的列表;测试入口模块,用于根据列表进行用例的运行;
其中,代码机根据用例的测试需求向windows客户端和Linux客户端分配任务,以对分布式存储软件或磁盘阵列进行测试。
根据本发明的实施例,代码机还包括:代码存储模块,用于存储单个用例的代码,其中每个用例的代码对应于用例的列表。
根据本发明的实施例,代码机还包括:配置模块,用于存储测试环境的配置文件,测试环境包括代码机、windows客户端和Linux客户端,配置文件至少包括服务端的配置信息、客户端信息和认证服务器中的任意一种。
根据本发明的实施例,代码机还包括:docker模块,用于存储docker文件以及构建docker镜像的配置文件;日志模块,用于存储执行用例所产生的日志文件。
根据本发明的实施例,代码机还包括:功能补充模块,用于根据windows不支持的计算文件来调用相应的客户端。
根据本发明的实施例,代码机还包括API模块,用于为代码存储模块提供API。
根据本发明的实施例,代码机还包括部署模块,用于对用例的测试进行部署。
本发明通过上述技术方案,解决了测试框架对客户端环境的限制,能够兼容分布式存储以及磁盘阵列等测试环境,提升了测试工程师的测试效率,适用于各种环境的操作,支持虚拟化、全自动化的测试环境,为进一步提高软件测试效率、改善软件质量提出了新的解决方案。。打通了linux控制windows的限制通道,打破了测试框架对客户端环境的限制,从而解决了linux版本软件兼容问题;为磁盘阵列的自动化测试提供了一种思路。另外,通过融合CI/CD、docker,并且可以根据项目需求,采用docker构建大量的客户端。方便扩展,可以根据需求,扩展其他的测试框架进入,例如可以引入RF等框架,将测试用例的编写更加简化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的应用于分布式存储软件的测试系统的示意图;
图2是根据本发明实施例的应用于磁盘阵列的测试系统的示意图;
图3是根据本发明实施例的测试系统的测试流程示意图;
图4是根据本发明实施例的测试系统的测试代码的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
结合图1、图2和图3所示,根据本发明的实施例,提供了一种用于分布式存储系统的磁盘阵列测试系统。该测试系统包括代码机、连接于代码机的windows客户端以及连接于代码机的Linux客户端,分布式存储软件Datastor和磁盘阵列中的任意一种与代码机、windows客户端和Linux客户端连接。其中,代码机也可称为开发机,代码机是用于代码保存及执行的机器。在一些实施例中,代码机可以是日常开发用的Linux机器,或者是gitlab-runner、docker、kubernets或者jenkins机器之中的任意一种。
另外,参考图3所示,windows客户端可以根据实际测试需求分配windows客户端的基本任务,代码机通过winrm服务远程调用机器本身的Powershell执行操作,调用命令等。Linux客户端可以根据实际测试需求分配Linux客户端的基本任务,代码机通过SSHD服务远程调用机器本身的shell执行操作,调用命令等。windows客户端需要配置一下winrm(远程管理)。这样,代码机根据用例的测试需求向windows客户端和Linux客户端分配任务,以对分布式存储软件Datastor或磁盘阵列进行测试。
参考图4所示,代码机中的代码包括以下几个部分:
1)caselist(即列表存储模块),caselist其主要是放置用例的列表,根据用例形成caselist文件,测试框架的入口函数会根据所指定的caselist文件进行测试用例的运行。
2)run_test.py(即测试入口模块),整套测试环境的入口文件,只需要编辑其中的caselist部分,就可以自动执行相应的测试用例。
3)casecode(即代码存储模块),其主要功能是存放单个用例的代码,对应caselist文件中用例列表,可以单个执行,也可以对需要进行批量测试的用例组织caselist文件。开发人员主要编辑的文件便是casecode部分。
4)conf(即配置模块),用于放置测试环境的配置文件。参考图3所示,测试环境包括代码机、windows客户端和Linux客户端。配置文件包括但不限于服务端的配置信息、客户端信息以及认证服务器等环境信息,并且可以根据测试环境的不同,建立不同的配置。
5)docker(即docker模块),主要用于放置dockerfile(docker文件),以及构建docker镜像的配置文件以及脚本等。
6)log(即日志模块),用于存放测试用例执行所产生的日志文件,会根据单个用例的名称生成日志文件。
7)tool(即API模块),用于为代码存储模块提供API。具体的,tool下分common以及lib,lib是最底层的提供API部分的文件,其中包括远程调用、返回信息处理、log的基本格式、mysql操作等。common相对偏上层,主要是将lib库中的API进行包装,为casecode提供API。
8)utils(即功能补充模块)可以用于根据windows不支持的计算文件来调用相应的客户端。具体来说,部分工具或者脚本等,用来补充客户端原生命令无法实现的部分功能,例如windows无法原生支持计算文件的md5值等。这部分文件会根据需要,调用之前会由系统自动传输到相应的客户端。
9)gitlab-ci.yml(即部署模块),主要使用gitlab CI/CD部分,应用于自动化部署及测试等工作。
应当理解,图4所示的代码构成仅是示例性,根据实际测试需求,可以对代码的具体构成进行其他相应配置。
在一个可选的实施例中,为了考虑测试可能部分人员无代码功底,但是有测试思想,可以在代码上层,引入Robot Framework,将代码函数包装成关键字,可以更加方便的进行测试工作。
综上所述,本发明的上述技术方案,解决了测试框架对客户端环境的限制,能够兼容分布式存储以及磁盘阵列等测试环境,提升了测试工程师的测试效率,适用于各种环境的操作,支持虚拟化、全自动化的测试环境,为进一步提高软件测试效率、改善软件质量提出了新的解决方案。打通了linux控制windows的限制通道,打破了测试框架对客户端环境的限制,从而解决了linux版本软件兼容问题;为磁盘阵列的自动化测试提供了一种思路。另外,通过融合CI/CD、docker,并且可以根据项目需求,采用docker构建大量的客户端。方便扩展,可以根据需求,扩展其他的测试框架进入,例如可以引入RF等框架,将测试用例的编写更加简化。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种用于分布式存储系统的磁盘阵列测试系统,其特征在于,包括代码机、连接于所述代码机的windows客户端以及连接于所述代码机的Linux客户端,分布式存储软件和磁盘阵列中的任意一种与所述代码机、所述windows客户端和所述Linux客户端连接;
其中,所述代码机包括:
列表存储模块,用于存储用例的列表;
测试入口模块,用于根据所述列表进行所述用例的运行;
其中,所述代码机根据所述用例的测试需求向所述windows客户端和Linux客户端分配任务,以对所述分布式存储软件或磁盘阵列进行测试。
2.根据权利要求1所述的用于分布式存储系统的磁盘阵列测试系统,其特征在于,所述代码机还包括:
代码存储模块,用于存储单个用例的代码,其中每个用例的代码对应于所述用例的列表。
3.根据权利要求1所述的用于分布式存储系统的磁盘阵列测试系统,其特征在于,所述代码机还包括:
配置模块,用于存储测试环境的配置文件,所述测试环境包括所述代码机、所述windows客户端和所述Linux客户端,所述配置文件至少包括服务端的配置信息、客户端信息和认证服务器中的任意一种。
4.根据权利要求1所述的用于分布式存储系统的磁盘阵列测试系统,其特征在于,所述代码机还包括:
docker模块,用于存储docker文件以及构建docker镜像的配置文件;
日志模块,用于存储执行所述用例所产生的日志文件。
5.根据权利要求1所述的用于分布式存储系统的磁盘阵列测试系统,其特征在于,所述代码机还包括:
功能补充模块,用于根据windows不支持的计算文件来调用相应的客户端。
6.根据权利要求2所述的用于分布式存储系统的磁盘阵列测试系统,其特征在于,所述代码机还包括API模块,用于为所述代码存储模块提供API。
7.根据权利要求1-6任一项所述的用于分布式存储系统的磁盘阵列测试系统,其特征在于,所述代码机还包括部署模块,用于对所述用例的测试进行部署。
CN201911370969.7A 2019-12-26 2019-12-26 用于分布式存储系统的磁盘阵列测试系统 Pending CN111190778A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911370969.7A CN111190778A (zh) 2019-12-26 2019-12-26 用于分布式存储系统的磁盘阵列测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911370969.7A CN111190778A (zh) 2019-12-26 2019-12-26 用于分布式存储系统的磁盘阵列测试系统

Publications (1)

Publication Number Publication Date
CN111190778A true CN111190778A (zh) 2020-05-22

Family

ID=70709593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911370969.7A Pending CN111190778A (zh) 2019-12-26 2019-12-26 用于分布式存储系统的磁盘阵列测试系统

Country Status (1)

Country Link
CN (1) CN111190778A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880546A (zh) * 2012-09-03 2013-01-16 上海方正数字出版技术有限公司 一种基于xml数据库的软件集成测试方法及系统
CN103684921A (zh) * 2013-12-18 2014-03-26 创新科存储技术有限公司 云存储系统的测试方法和系统
CN105607975A (zh) * 2015-12-16 2016-05-25 深圳市迪菲特科技股份有限公司 一种测试磁盘阵列的方法、装置及系统
CN107526661A (zh) * 2017-08-21 2017-12-29 郑州云海信息技术有限公司 一种虚拟机磁盘性能的测试方法及系统
CN109358858A (zh) * 2018-09-19 2019-02-19 网易(杭州)网络有限公司 自动化部署方法、装置、介质及电子设备
CN109491889A (zh) * 2018-10-10 2019-03-19 中国联合网络通信集团有限公司 Nfv中自动化测试的方法和装置
CN109766269A (zh) * 2018-12-18 2019-05-17 微梦创科网络科技(中国)有限公司 持续集成自动化测试方法、装置、设备和介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880546A (zh) * 2012-09-03 2013-01-16 上海方正数字出版技术有限公司 一种基于xml数据库的软件集成测试方法及系统
CN103684921A (zh) * 2013-12-18 2014-03-26 创新科存储技术有限公司 云存储系统的测试方法和系统
CN105607975A (zh) * 2015-12-16 2016-05-25 深圳市迪菲特科技股份有限公司 一种测试磁盘阵列的方法、装置及系统
CN107526661A (zh) * 2017-08-21 2017-12-29 郑州云海信息技术有限公司 一种虚拟机磁盘性能的测试方法及系统
CN109358858A (zh) * 2018-09-19 2019-02-19 网易(杭州)网络有限公司 自动化部署方法、装置、介质及电子设备
CN109491889A (zh) * 2018-10-10 2019-03-19 中国联合网络通信集团有限公司 Nfv中自动化测试的方法和装置
CN109766269A (zh) * 2018-12-18 2019-05-17 微梦创科网络科技(中国)有限公司 持续集成自动化测试方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
US11144439B2 (en) Emulation-based testing of a microservices architecture
CN107704395B (zh) 一种基于Openstack下云平台自动化测试实施方法与系统
CN109933522B (zh) 一种自动化用例的测试方法、测试系统及存储介质
US10324696B2 (en) Dynamic container deployment with parallel conditional layers
US10216509B2 (en) Continuous and automatic application development and deployment
CN108196915B (zh) 基于应用容器引擎的代码处理方法、设备及存储介质
US11175902B2 (en) Testing an upgrade to a microservice in a production environment
CN110071822B (zh) 一种针对5g核心网基础设施的测试装置及测试方法
US10585785B2 (en) Preservation of modifications after overlay removal from a container
JP5681279B2 (ja) 試験装置、システム、プログラム、及び、方法
US7426715B2 (en) Shutting down a plurality of software components in an ordered sequence
CN113672342B (zh) 嵌入式虚拟化系统及构建、测试方法、终端及介质
US20050229161A1 (en) Generic user interface testing framework with load-time libraries
US7614055B2 (en) Selecting a processor to run an executable of a distributed software application upon startup of the distributed software application
US11108638B1 (en) Health monitoring of automatically deployed and managed network pipelines
CN104503772A (zh) 基于虚拟机的操作系统安装、测试环境搭建的方法和装置
CN111813495A (zh) 节点测试方法和装置、存储介质和电子装置
CN102023857B (zh) 基于ServiceOS的多平台应用程序服务管理方法及系统
US20120185823A1 (en) System and method for self dependent web automation
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
CN111190778A (zh) 用于分布式存储系统的磁盘阵列测试系统
CN101141767A (zh) 一种网络管理平台测试系统及方法
CN109901831A (zh) 软件的多平台兼容运行方法及兼容运行装置
US11720348B2 (en) Computing node allocation based on build process specifications in continuous integration environments
CN113986263A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211013

Address after: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street.

Applicant after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Applicant after: ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd.

Address before: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street.

Applicant before: DAWNING INFORMATION INDUSTRY Co.,Ltd.