CN111190778A - 用于分布式存储系统的磁盘阵列测试系统 - Google Patents
用于分布式存储系统的磁盘阵列测试系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test 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任一项所述的用于分布式存储系统的磁盘阵列测试系统,其特征在于,所述代码机还包括部署模块,用于对所述用例的测试进行部署。
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)
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 | 微梦创科网络科技(中国)有限公司 | 持续集成自动化测试方法、装置、设备和介质 |
-
2019
- 2019-12-26 CN CN201911370969.7A patent/CN111190778A/zh active Pending
Patent Citations (7)
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. |