CN107402833A - 一种对存储系统上的功能模块进行自动测试的方法 - Google Patents
一种对存储系统上的功能模块进行自动测试的方法 Download PDFInfo
- Publication number
- CN107402833A CN107402833A CN201710491106.XA CN201710491106A CN107402833A CN 107402833 A CN107402833 A CN 107402833A CN 201710491106 A CN201710491106 A CN 201710491106A CN 107402833 A CN107402833 A CN 107402833A
- Authority
- CN
- China
- Prior art keywords
- storage system
- operation program
- functional module
- tested automatically
- further characterized
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机服务器测试领域,具体涉及一种对存储系统上的功能模块进行自动测试的方法。该测试方法基于Shell语言,在搭建好测试平台后,通过自动向平台内输入自动化测试运行程序,并设定运行程序的执行顺序,可以针对统一存储系统上的功能模块进行验证测试,从而提高测试效率,节省时间和人力。
Description
技术领域
本发明涉及计算机服务器测试领域,具体涉及一种对存储系统上的功能模块进行自动测试的方法。该测试方法基于Shell语言,在搭建好测试平台后,通过自动向平台内输入自动化测试运行程序,并设定运行程序的执行顺序,可以针对统一存储系统上的功能模块进行验证测试,从而提高测试效率,节省时间和人力。
背景技术
随着IT领域技术的不断发展和大数据时代的到来,对数据的存储和处理也随之越来越重要。统一存储系统的优势在于规划整体存储容量的能力——通过部署一个统一存储系统可以省去对文件存储容量以及数据块存储容量分别进行规划。利用率可以得到提升,容量本身并没有标准限制——统一存储可以避免与分别对数据块及文件存储支持相关的容量利用率方面的问题,用户不必担心买多了支持其中一种协议的存储而少买了支持另外一种协议。统一存储系统的优势还在于,存储资源池的灵活性——用户可以在无需知道应用是否需要数据块或者文件数据访问的情况下,而自由分配存储来满足应用环境的需要;统一存储系统积极支持服务器虚拟化——在很多时候,用户在部署他们的服务器虚拟化环境的时候都会因为性能方面的要求而对基于数据块的裸设备映射(RDM)提出要求。统一存储为用户如何存储他们的虚拟机提供了选择,而无需像之前那样分别购买存储区域网络(SAN)和网络附件存储(NAS)设备。
统一存储系统在目前得到广泛的应用,但随之而来的问题是,在统一存储系统上开发新功能模块并进行高效率的测试是一个耗时耗力的事情,如何提高测试效率是值得研究的问题。
针对上述问题,本申请发明一种对存储系统上的功能模块进行自动测试的方法,该方法使用linux下的Shell运行程序,将存储系统的操作命令进行统一整合,按一定的执行顺序写入运行程序,在配置好执行环境的前提下按顺序依次执行,并根据反馈的运行程序执行结果判断测试用例的通过与否,从而大大提高了测试效率,节省大量的人力物力。
发明内容
本发明所述的方法是基于Shell下的bash运行程序测试,能够提高存储系统软件功能模块的测试效率。Shell是指“提供使用者使用界面”的软件。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
Shell运行程序与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高。
本发明主要实现方式是从对存储系统的功能模块的测试用例的手动执行,到将CLI(command-line interface,命令行界面)接口的命令都写进Shell运行程序,并搭建好执行环境,将运行程序连接到统一存储端,使用SSH(Secure Shell Protocol安全外壳协议)方式按序执行运行程序,通过运行程序的返回值得到用例的通过结果,从而提高测试用例执行效率。
具体地,本申请请求保护一种对存储系统上的功能模块进行自动测试的方法,其特征在于,该测试方法具体包括如下步骤:
将存储系统的操作命令进行统一整合,按一定的执行顺序写入运行程序,在配置好执行环境的前提下按顺序依次执行,并根据反馈的运行程序执行结果判断测试用例的通过与否。
如上所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,该配置好执行环境包括存储设备上已灌装好带有该新增功能的软件系统。
如上所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,将存储系统的操作命令进行统一整合进一步包括将用例的公共部分提取,并写成公用运行程序,只需执行一次该公共运行程序,并在最后一个用例中清除该公共运行程序所带来的配置。
如上所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,该公共运行程序运行包括如下步骤:
设置硬盘为candidate;
创建SSD缓存池和资源池;
向池中添加识别到的每一种硬盘。
如上所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,使用SSH方式按序执行运行程序,通过运行程序的返回值得到用例的通过结果。
如上所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,所述的运行程序是Shell运行程序。
附图说明
图1、本申请所述的方法实现流程图
具体实施方式
本发明设计一种应用于Linux下的验证存储系统SSD(固态硬盘Solid StateDrive)cache功能自动化测试运行程序,其具体实现过程为:
1.灌装好带有SSD cache功能license的存储系统,并开启license;
2.配置SSH连入存储端的IP以及用户名密码;
3.将用例的公共部分提取,并写成公用运行程序,只需执行一次并在公共用例最后一个清除该运行程序所带来的配置;
4.执行每个用例,得到测试结果。
下面将结合附图对本发明做进一步地详细描述:
1、执行测试前,先要确保统一存储设备上已灌装好带有该新增功能的软件系统,集群正常创建并使用,无报错信息。
2、配置登录存储设备的用户名密码的文件
#############配置文件说明################
#节点service ip,cluster ip
#用户名,密码
#网络配置等
##########################################
#Node service ip
Service-Ip1=100.2.32.171
Service-Ip2=100.2.32.172
Service-Ip3=100.2.32.234
#Cluster ip
ClusterIp=XXXX
#Username and password
Username=root
Password=PasswOrd
#Network setup
Porf=26
Mask=255.255.255.0
Gateway=100.2.32.1
3、存储集群创建运行程序如下所示
4、公共部分运行程序其实现方式为设置硬盘为candidate,并创建SSD缓存池,资源池,并向池中添加识别到的每一种硬盘,部分运行程序内容如下所示:
#get drivers num
tmp=\$(1sdrive |wc-1)
((driver-hum=\$tmp-1))
echo The total numbers of drivers is\$driver-num
#set drivers candidate
for((i=0;i<\$driver-num;i++))
do
echo Now set the\$i th driver
chdrive-use candidate\$i
done
#creat ica-pool hdd-poo1
SSD-num=0
hdd-num=0
function get-drive-num()
{
tmp=\$(lsdrive |wc-1)
((driver-num=\$tmp-1))
echo盘总数\$driver-num
SSD-num=\$(lsdrive |grep 744|wc-1)
echo SSD个数\$SSD-num
hdd-num=\$((\$driver-num-\$SSD-num))
echo hdd个数\$hdd-num
}
mkicapool-name SSD-pool-ext 512
mkmdiskgrp-name hdd-pool-ext 512
get-drive-num
for((i=0;i<\$SSD-num;i++))
do
addicadrive-drive\$i 0
if[\$?-eq 0]
then
echo第\$i块SSD添加进入缓存池
else
echo添加失败
fi
done
hdd-num=\$((\$driver-num-\$SSD-num))
if[″\$hdd-num″-gt 5]
then
Svctask mkarray-drive\$SSD-num:\$((\$SSD-num+1)):\$((\$SSD-num+2)):\$((\$SSD-num+3)):\$((\$SSD-num+4))-level raid5-sparegoal 0-strip 256hdd-pool
echo raid5资源池创建成功
else
echo盘数不够
fi
svctask mkicapartition-ica-pool 0-cache none-nofmtdisk-size 10-unitgb--iogrp 0--node 1-partition 0
svctask mkicapartition-ica-pool 0-cache none-nofmtdisk-size 10-unitgb-iogrp 0-node 1-partition 1
Svctask mkicapartition-ica-pool 0-cache none-nofmtdisk-size 10-unitgb-iogrp 0-node 2-partition 2
lsicapartition
a=\$(lsicapartition|wc-1)
if[″\$a″==4]
then
echo分区创建成功
else
echo分区创建失败
fi
5、部分测试内容运行程序如下所示:
mkvdisk-cache none-nofmtdisk-mdiskgrp 1-size 1-unit tb-ica on-ica-bypass on-partition 2
lsvdisk|tee-a 1.2.1.log
a=\$(lsvdisk|wc-1)
if[″\$a″==5]
then
echo加速卷创建成功|tee-a 1.2.1.log
else
echo用例不通过
fi
rmvdisk 3
a=\$(lsvdisk|wc-1)
if[″\$a″==4]
then
echo加速卷删除成功
fi
执行上述运行程序,若打印“用例不通过”,则对应测试用例不通过,可根据出现的位置定位用例的具体步骤,从而定位开发问题。
显而易见地,上面所示的仅仅是本发明的具体实施例的运行程序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些运行程序获得其他的技术方案,都属于本发明保护的范围。
本发明所述的方法能够把现有的统一存储产品的新增功能模块对应的测试用例进行梳理,提升测试效率,方法简单可行且技术效果显著,在实践中可以得到应用广泛。
Claims (6)
1.一种对存储系统上的功能模块进行自动测试的方法,其特征在于,该测试方法具体包括如下步骤:
将存储系统的操作命令进行统一整合,按一定的执行顺序写入运行程序,在配置好执行环境的前提下按顺序依次执行,并根据反馈的运行程序执行结果判断测试用例的通过与否。
2.如权利要求1所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,该配置好执行环境包括存储设备上已灌装好带有该新增功能的软件系统。
3.如权利要求2所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,将存储系统的操作命令进行统一整合进一步包括将用例的公共部分提取,并写成公用运行程序,只需执行一次该公共运行程序,并在最后一个用例中清除该公共运行程序所带来的配置。
4.如权利要求3所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,该公共运行程序运行包括如下步骤:
设置硬盘为candidate;
创建SSD缓存池和资源池;
向池中添加识别到的每一种硬盘。
5.如权利要求4所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,使用SSH方式按序执行运行程序,通过运行程序的返回值得到用例的通过结果。
6.如权利要求5所述的对存储系统上的功能模块进行自动测试的方法,其特征还在于,所述的运行程序是Shell运行程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710491106.XA CN107402833A (zh) | 2017-06-23 | 2017-06-23 | 一种对存储系统上的功能模块进行自动测试的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710491106.XA CN107402833A (zh) | 2017-06-23 | 2017-06-23 | 一种对存储系统上的功能模块进行自动测试的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107402833A true CN107402833A (zh) | 2017-11-28 |
Family
ID=60405089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710491106.XA Pending CN107402833A (zh) | 2017-06-23 | 2017-06-23 | 一种对存储系统上的功能模块进行自动测试的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402833A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908517A (zh) * | 2017-12-07 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于shell脚本的CPU压力测试方法 |
CN107977280A (zh) * | 2017-12-08 | 2018-05-01 | 郑州云海信息技术有限公司 | 一种故障转移时验证ssd cache加速有效性的方法 |
CN108874622A (zh) * | 2018-05-30 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种nfs性能自动化测试方法 |
CN108897681A (zh) * | 2018-06-25 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种用于存储管理控制系统的qat测试系统及方法 |
CN108920371A (zh) * | 2018-07-05 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种存储管理系统的qat功能自动化测试方法及系统 |
CN109274654A (zh) * | 2018-08-31 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种存储设备集群的建立方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684921A (zh) * | 2013-12-18 | 2014-03-26 | 创新科存储技术有限公司 | 云存储系统的测试方法和系统 |
CN103744759A (zh) * | 2013-12-27 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种Linux系统下无人值守磁盘性能及稳定性验证方法 |
CN103902458A (zh) * | 2014-04-18 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种通用的存储软件测试设计方法 |
US20170123951A1 (en) * | 2015-10-30 | 2017-05-04 | International Business Machines Corporation | Automated test generation for multi-interface enterprise virtualization management environment |
-
2017
- 2017-06-23 CN CN201710491106.XA patent/CN107402833A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684921A (zh) * | 2013-12-18 | 2014-03-26 | 创新科存储技术有限公司 | 云存储系统的测试方法和系统 |
CN103744759A (zh) * | 2013-12-27 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种Linux系统下无人值守磁盘性能及稳定性验证方法 |
CN103902458A (zh) * | 2014-04-18 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种通用的存储软件测试设计方法 |
US20170123951A1 (en) * | 2015-10-30 | 2017-05-04 | International Business Machines Corporation | Automated test generation for multi-interface enterprise virtualization management environment |
Non-Patent Citations (1)
Title |
---|
伍兴艳: "网络存储自动化测试平台的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908517A (zh) * | 2017-12-07 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于shell脚本的CPU压力测试方法 |
CN107977280A (zh) * | 2017-12-08 | 2018-05-01 | 郑州云海信息技术有限公司 | 一种故障转移时验证ssd cache加速有效性的方法 |
CN108874622A (zh) * | 2018-05-30 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种nfs性能自动化测试方法 |
CN108897681A (zh) * | 2018-06-25 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种用于存储管理控制系统的qat测试系统及方法 |
CN108920371A (zh) * | 2018-07-05 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种存储管理系统的qat功能自动化测试方法及系统 |
CN109274654A (zh) * | 2018-08-31 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种存储设备集群的建立方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402833A (zh) | 一种对存储系统上的功能模块进行自动测试的方法 | |
US11314499B2 (en) | Simulating end-to-end upgrade process in production environment | |
US10628187B2 (en) | Container runtime support | |
US8510735B2 (en) | Runtime environment for virtualizing information technology appliances | |
US8191063B2 (en) | Method for migrating a plurality of virtual machines by associating files and state information with a single logical container | |
CN107329799A (zh) | 一种融合Docker容器与KVM虚拟化技术的系统 | |
CN110175677A (zh) | 自动更新方法、装置、计算机设备及存储介质 | |
US20080098386A1 (en) | Methodology of individualized software deployment for hardware-independent personal computer mass deployment | |
CN106293781B (zh) | 在线升级机器虚拟器的方法与设备 | |
CN103092670A (zh) | 一种云计算环境下跨平台的虚拟计算资源管理方法 | |
CN110795108B (zh) | 一种基于Ansible编排部署Weblogic应用的方法 | |
US20160283275A1 (en) | Dynamic workload deployment for data integration services | |
CN110098952A (zh) | 一种服务器的管理方法和装置 | |
CN104615487A (zh) | 并行任务优化系统和方法 | |
CN102819470A (zh) | 基于私有云计算平台的虚拟机修复方法 | |
CN108351769A (zh) | 作为远程计算服务的仪表板 | |
CN111200595A (zh) | 一种访问容器的权限管理方法、装置和电子设备 | |
CN114756290B (zh) | 一种操作系统安装方法、设备及可读存储介质 | |
US20210099354A1 (en) | Method and system that determines application topology using network metrics | |
US20230305828A1 (en) | Virtual upgrade layer-based application upgrade | |
CN101655804B (zh) | 虚拟操作系统构建方法及装置 | |
WO2017020460A1 (zh) | 一种集成插件的方法和装置 | |
CN103379104B (zh) | 一种远程数据共享方法及装置 | |
EP2530590A1 (en) | Object pipeline-based virtual infrastructure management | |
CN109753468B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171128 |
|
RJ01 | Rejection of invention patent application after publication |