CN103902458A - 一种通用的存储软件测试设计方法 - Google Patents
一种通用的存储软件测试设计方法 Download PDFInfo
- Publication number
- CN103902458A CN103902458A CN201410156501.9A CN201410156501A CN103902458A CN 103902458 A CN103902458 A CN 103902458A CN 201410156501 A CN201410156501 A CN 201410156501A CN 103902458 A CN103902458 A CN 103902458A
- Authority
- CN
- China
- Prior art keywords
- test
- storage system
- storing software
- tested
- mode
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种测试执行设备访问被测存储系统的方法,包括测试执行设备和被测存储系统,被测存储系统设计为一个类:包含用户名、主机地址、端口、密码、重连次数、接收缓冲6个属性;包含日志输出对象和访问方式对象;包含存储软件通用测试命令执行方法和测试结果检查方法;测试执行设备通过ssh方式或者socket方式,完成存储软件测试命令执行和结果检查,并输出测试日志以及测试结果,完成对存储软件功能测试。采用本发明的技术方案,可以方便地通过类的多态、继承等特性应用在各种存储软件产品中,大大提高了存储软件产品测试的效率,并缩短了存储软件的开发周期。
Description
技术领域
本发明涉及存储软件测试领域,具体涉及一种存储软件自动化测试方法。
技术背景
随着新世纪的到来,互联网上信息的迅速增加以及电子商务的发展,人们对信息存储的需求越来越大,信息数据化、网络化技术的发展,存储平台在信息系统中的地位越来越重要,企业信息系统数据的海量增长,使企业比以往任何时候都更加依赖于数据,尤其对银行、电信等企业来讲,计算机存储的数据关系着企业的收入利润, 关系着企业的发展。
存储软件的可用性、可靠性以及存储性能对数据存储起着至关重要的作用,所以存储软件的测试工作在存储软件的开发工作占据很大的比例,目前存储软件测试主要是通过手工搭建好存储系统,查看存储软件对磁盘阵列的管理功能, 然后通过各种存储I/O的测试工具(Iometer、IoZone)等对存储产品性能、可靠性进行测试。各种存储软件的操作方式不尽相同, 但是存储软件实现的功能是基本相同的,可以设计一种通用的存储软件测试方法,完成对存储软件的自动化测试。提高存储软件测试效率, 缩短产品开发周期。
发明内容
本发明要解决的技术问题是:提供一种通用的存储软件测试方法,完成对存储软件的自动化测试。
本发明所采用的技术方案为:
一种通用的存储软件测试设计方法,包括测试执行设备和被测存储系统,测试执行设备可以为一个服务器或者一个PC,被测存储系统设计为一个类:
a) 该类包含用户名(name)、主机地址(Host)、端口(port)、密码(password)、重连次数(ReConnetTimes)、接收缓冲(Rebuff)6个属性;
b) 该类包含日志输出对象和访问方式对象;
c) 该类包含存储软件通用测试命令执行方法和测试结果检查方法;
测试执行设备通过ssh方式或者socket方式,完成存储软件测试命令执行和结果检查, 并输出测试日志以及测试结果, 完成对存储软件功能测试。
其中,被测存储系统属性用于具体确定存储系统对象,存储系统类通过该属性值唯一确定被测试的存储系统;
访问方式对象,用于通过ssh或者socket方式建立测试执行设备与被测存储系统之间的通信,并传输存储系统测试命令和接收测试命令执行结果。该访问方式主要包括建立连接、发送命令, 接收结果、关闭连接;
日志输出对象,用于记录存储系统测试时间以及测试结果,并输出到html文件中;
测试命令执行方法,用于包装不同存储系统可识别命令,例如创建卷组以及逻辑卷;
测试结果检查方法,用于包装不同存储系统查询方法以及输出结果检查方法,例如查询卷组以及逻辑卷。
所述方法步骤如下:
1)测试执行设备根据被测存储系统的属性实例化被测存储系统对象,设计出一个存储系统类,
2)该存储系统类在初始化时决策出访问方式对象,建立与被测系统的ssh连接;如果ssh连接失败, 通过在被测存储系统中建立socket服务器,建立测试执行设备与被测系统连接;同时决策出日志输出对象,包括文件名称以及保存目录;
3)存储系统类通过ssh调用或者socket系统调用,调用测试命令执行方法,执行被测存储系统可识别命令或者调用存储I/O测试工具,完成对被测存储系统的测试;
4)存储系统类通过ssh调用或者socket系统调用,调用测试结果检查方法,通过日志输出对象完成测试结果的记录, 根据结果检查的返回值判断测试结果失败还是成功。
测试执行设备通过ssh方式访问被测存储系统时,测试执行设备直接调用存储软件系统可识别命令完成对存储软件功能测试。
测试执行设备通过socket通信方式访问被测存储系统时,测试执行设备通过socket通信发送存储软件可以识别的命令到被测存储系统, 被测存储系统通过系统调用方式完成对存储软件功能测试。
与被测系统的ssh连接是通过python工具paramiko库中SSHClient建立。
所述访问方式对象优先采用ssh方式访问被测存储系统,当该访问方式尝试重连次数ReConnetTimes次无法连接时,采用socket通信方式连接被测存储系统,尝试重连次数ReConnetTimes次无法连接时,提示“无法连接测试系统, 请修复系统,按回车[Enter]键重试:”。
日志输出对象采用时间加执行存储软件命令以及输出结果的格式输出到文件,其日志文件名格式为被测存储系统加执行时间命名。
本发明的有益效果为:采用本发明的技术方案, 提供一种通用的存储软件测试设计方法,测试人员可以根据不同的存储软件系统, 修改或者扩展被测存储系统类中的测试方法和结果检查,并通过日志文件判断各个功能测试的结果,从而判断存储系统可用性以及可靠性。由于被测存储系统被设计为一个类, 可以方便地通过类的多态、继承等特性应用在各种存储软件产品中。通用软件测试设计方法所具有的上述优点,大大提高了存储软件产品测试的效率, 并缩短了存储软件的开发周期。
附图说明
图1为实现本发明通用存储软件测试设计的结构示意图。
具体实施方式
下面参照附图,通过具体实施方式对本发明进一步说明:
如图1所示,一种通用的存储软件测试设计方法,包括测试执行设备和被测存储系统,测试执行设备可以为一个服务器或者一个PC,其中被测存储系统实例化设计为一个存储系统类,主要包括name、host、port、password、ReConnetTimes、Rebuff共6个属性,以及访问方式对象,日志输出对象, 测试命令执行方法,测试结果检查方法。
其中,name、host、port、password等属性用于具体确定存储系统对象,存储系统类通过该属性值唯一确定被测试的存储系统。
访问方式对象,用于通过ssh或者socket方式建立测试执行设备与被测存储系统之间的通信,并传输存储系统测试命令和接收测试命令执行结果。(该访问方式主要包括建立连接、发送命令, 接收结果、关闭连接)
日志输出对象,用于记录存储系统测试时间以及测试结果,并输出到html文件中。
测试命令执行方法,用于包装不同存储系统可识别命令,例如创建卷组以及逻辑卷
测试结果检查方法,用于包装不同存储系统查询方法以及输出结果检查方法,例如查询卷组以及逻辑卷。
在一个典型应用环境中,测试执行设备可以为一个服务器或者一个PC, 根据被测存储系统的host、password实例化出一个存储系统类,该存储系统类在初始化时决策出访问方式对象ssh方式或者socket方式访问被测存储系统,同时决策出日志输出对象(文件名称以及保存目录),存储系统类的运行方法通过调用测试命令执行方法和测试结果检查方法,完成对被测存储系统的测试,并通过日志输出对象完成测试结果的记录, 根据结果检查的返回值判断测试结果失败还是成功。
在测试设计方法中,测试执行设备通过ssh方式或socket通信方式访问被测存储系统,被测存储系统设计为类,便于扩展和移植。被测存储系统设计为类,便于扩展到各种存储软件产品。该类的所有方法为通用的存储系统测试方法以及结果检查方法,提高存储软件测试脚本写作效率,节省软件测试脚本的开发时间,提高了测试效率,方便测试人员查看测试结果,降低了测试成本,提高软件测试质量,缩短产品开发周期,快速响应产品功能开发。
Claims (7)
1.一种通用的存储软件测试设计方法,包括测试执行设备和被测存储系统,测试执行设备为一个服务器或者一个PC, 其特征在于,被测存储系统设计为一个类:
a) 该类包含用户名name、主机地址Host、端口port、密码password、重连次数ReConnetTimes、接收缓冲Rebuff 共6个属性;
b) 该类包含日志输出对象和访问方式对象;
c) 该类包含存储软件通用测试命令执行方法和测试结果检查方法;
测试执行设备通过ssh方式或者socket方式,完成存储软件测试命令执行和结果检查, 并输出测试日志以及测试结果, 完成对存储软件功能测试;
其中,被测存储系统属性用于具体确定存储系统对象,存储系统类通过该属性值唯一确定被测试的存储系统;
访问方式对象,用于通过ssh或者socket方式建立测试执行设备与被测存储系统之间的通信,并传输存储系统测试命令和接收测试命令执行结果,该访问方式主要包括建立连接、发送命令, 接收结果、关闭连接;
日志输出对象,用于记录存储系统测试时间以及测试结果,并输出到html文件中;
测试命令执行方法,用于包装不同存储系统可识别命令;
测试结果检查方法,用于包装不同存储系统查询方法以及输出结果检查方法。
2.根据权利要求1所述的一种通用的存储软件测试设计方法,其特征在于,所述方法步骤如下:
1)测试执行设备根据被测存储系统的属性实例化被测存储系统对象,设计出一个存储系统类,
2)该存储系统类在初始化时决策出访问方式对象,建立于被测系统的ssh连接;如果ssh连接失败, 通过在被测存储系统中建立socket服务器,建立测试执行设备与被测系统连接;该存储系统类初始化时同时决策出日志输出对象,包括文件名称以及保存目录;
3)存储系统类通过ssh调用或者socket系统调用,调用测试命令执行方法,执行被测存储系统可识别命令或者调用存储I/O测试工具,完成对被测存储系统的测试;
4)存储系统类通过ssh调用或者socket系统调用,调用测试结果检查方法,通过日志输出对象完成测试结果的记录, 根据结果检查的返回值判断测试结果失败还是成功。
3.根据权利要求2所述的一种通用的存储软件测试设计方法,其特征在于:测试执行设备通过ssh方式访问被测存储系统时,测试执行设备直接调用存储软件系统可识别命令完成对存储软件功能测试。
4.根据权利要求2所述的一种通用的存储软件测试设计方法,其特征在于:测试执行设备通过socket通信方式访问被测存储系统时,测试执行设备通过socket通信发送存储软件可以识别的命令到被测存储系统, 被测存储系统通过系统调用方式完成对存储软件功能测试。
5.根据权利要求2或3所述的一种通用的存储软件测试设计方法,其特征在于:与被测系统的ssh连接是通过python工具paramiko库中SSHClient建立。
6.根据权利要求3或4所述的一种通用的存储软件测试设计方法,其特征在于:所述访问方式对象优先采用ssh方式访问被测存储系统,当该访问方式尝试ReConnetTimes次无法连接时,采用socket通信方式连接被测存储系统,尝试ReConnetTimes次无法连接时,提示“无法连接测试系统, 请修复系统,按回车[Enter]键重试:”。
7.根据权利要求6所述的一种通用的存储软件测试设计方法,其特征在于:日志输出对象采用时间加执行存储软件命令以及输出结果的格式输出到文件,其日志文件名格式为被测存储系统加执行时间命名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410156501.9A CN103902458B (zh) | 2014-04-18 | 2014-04-18 | 一种通用的存储软件测试系统和设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410156501.9A CN103902458B (zh) | 2014-04-18 | 2014-04-18 | 一种通用的存储软件测试系统和设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103902458A true CN103902458A (zh) | 2014-07-02 |
CN103902458B CN103902458B (zh) | 2017-12-05 |
Family
ID=50993793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410156501.9A Active CN103902458B (zh) | 2014-04-18 | 2014-04-18 | 一种通用的存储软件测试系统和设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902458B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650400A (zh) * | 2016-10-21 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种自动化实现虚拟机互信的方法 |
CN107402833A (zh) * | 2017-06-23 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种对存储系统上的功能模块进行自动测试的方法 |
TWI620060B (zh) * | 2014-11-05 | 2018-04-01 | 威綸科技股份有限公司 | 系統狀態回報之方法 |
CN108804297A (zh) * | 2018-06-12 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种qat状态控制功能的测试方法及系统 |
CN108984419A (zh) * | 2018-08-23 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种存储软件测试方法、装置及设备 |
CN109189344A (zh) * | 2018-09-17 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种逻辑卷管理方法、系统、设备及计算机可读存储介质 |
CN109271317A (zh) * | 2018-09-07 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种存储池创建方法、装置、设备及可读存储介质 |
CN109344077A (zh) * | 2018-10-24 | 2019-02-15 | 郑州云海信息技术有限公司 | RestAPI特性测试方法、装置、设备及存储介质 |
CN109451041A (zh) * | 2018-12-10 | 2019-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种ssh链接连接方法、装置、设备及存储介质 |
CN109828904A (zh) * | 2018-12-14 | 2019-05-31 | 深圳壹账通智能科技有限公司 | 系统验证方法、装置、电子设备及存储介质 |
CN110855518A (zh) * | 2019-10-31 | 2020-02-28 | 苏州浪潮智能科技有限公司 | 一种自动适配测试主机的方法和系统 |
CN113923442A (zh) * | 2021-09-24 | 2022-01-11 | 湖北三赢兴光电科技股份有限公司 | 一种摄像模组的通用软件测试方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755643A (zh) * | 2004-09-27 | 2006-04-05 | 华为技术有限公司 | 一种软件测试的方法 |
CN101510171A (zh) * | 2009-03-25 | 2009-08-19 | 大连海事大学 | 针对Java ME软件中MIDlet主类的测试方法 |
US20100095159A1 (en) * | 2008-10-14 | 2010-04-15 | Jeong Sung-Won | Apparatus and method for automatic testing of software or digital devices |
-
2014
- 2014-04-18 CN CN201410156501.9A patent/CN103902458B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755643A (zh) * | 2004-09-27 | 2006-04-05 | 华为技术有限公司 | 一种软件测试的方法 |
US20100095159A1 (en) * | 2008-10-14 | 2010-04-15 | Jeong Sung-Won | Apparatus and method for automatic testing of software or digital devices |
CN101510171A (zh) * | 2009-03-25 | 2009-08-19 | 大连海事大学 | 针对Java ME软件中MIDlet主类的测试方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI620060B (zh) * | 2014-11-05 | 2018-04-01 | 威綸科技股份有限公司 | 系統狀態回報之方法 |
CN106650400A (zh) * | 2016-10-21 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种自动化实现虚拟机互信的方法 |
CN107402833A (zh) * | 2017-06-23 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种对存储系统上的功能模块进行自动测试的方法 |
CN108804297A (zh) * | 2018-06-12 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种qat状态控制功能的测试方法及系统 |
CN108984419A (zh) * | 2018-08-23 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种存储软件测试方法、装置及设备 |
CN109271317A (zh) * | 2018-09-07 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种存储池创建方法、装置、设备及可读存储介质 |
CN109189344A (zh) * | 2018-09-17 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种逻辑卷管理方法、系统、设备及计算机可读存储介质 |
CN109344077A (zh) * | 2018-10-24 | 2019-02-15 | 郑州云海信息技术有限公司 | RestAPI特性测试方法、装置、设备及存储介质 |
CN109451041A (zh) * | 2018-12-10 | 2019-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种ssh链接连接方法、装置、设备及存储介质 |
CN109828904A (zh) * | 2018-12-14 | 2019-05-31 | 深圳壹账通智能科技有限公司 | 系统验证方法、装置、电子设备及存储介质 |
CN110855518A (zh) * | 2019-10-31 | 2020-02-28 | 苏州浪潮智能科技有限公司 | 一种自动适配测试主机的方法和系统 |
CN110855518B (zh) * | 2019-10-31 | 2021-09-14 | 苏州浪潮智能科技有限公司 | 一种自动适配测试主机的方法和系统 |
CN113923442A (zh) * | 2021-09-24 | 2022-01-11 | 湖北三赢兴光电科技股份有限公司 | 一种摄像模组的通用软件测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103902458B (zh) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902458A (zh) | 一种通用的存储软件测试设计方法 | |
CN109361562B (zh) | 一种基于关联网络设备接入的自动化测试方法 | |
CN107797919A (zh) | 一种自动化测试的方法及计算设备 | |
WO2022016847A1 (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN105319455A (zh) | 一种自动测试系统及方法 | |
US20130174126A1 (en) | Automated testing of programming code for a web service | |
CN107526676B (zh) | 一种跨系统测试方法及装置 | |
WO2017000424A1 (zh) | 协议检测方法及装置 | |
CN106897216A (zh) | 测试软件的方法和装置 | |
US20140359362A1 (en) | Information interaction test device and method based on automatic generation of associated test cases | |
CN108459850B (zh) | 生成测试脚本的方法、装置及系统 | |
CN102567193A (zh) | 测试用例转化为自动化测试脚本的方法及系统 | |
CN105022694B (zh) | 用于移动终端测试的测试用例生成方法及系统 | |
CN105868311A (zh) | 一种数据解析的方法和装置 | |
CN106095678A (zh) | 用于Windows平台下数据库业务操作的自动化结果检查方法 | |
CN108038039A (zh) | 记录日志的方法及微服务系统 | |
CN111399828A (zh) | 一种基于模型驱动的逻辑设备建模方法及终端 | |
CN105354142A (zh) | 中间件测试方法及装置 | |
CN113760730A (zh) | 一种自动化测试的方法和装置 | |
CN102291274A (zh) | 一种实现网络测试仪表自动适配的系统及方法 | |
US9612944B2 (en) | Method and system for verifying scenario based test selection, execution and reporting | |
CN103902590B (zh) | 终端自动化测试方法及其装置 | |
CN111382051B (zh) | 一种api自动测试方法及测试装置 | |
CN103761202A (zh) | 一种数据存储节点硬盘盘位识别方法及系统 | |
CN111966394B (zh) | 基于etl的数据分析方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |