CN102063355B - 一种磁盘阵列的自动化测试服务器及系统 - Google Patents
一种磁盘阵列的自动化测试服务器及系统 Download PDFInfo
- Publication number
- CN102063355B CN102063355B CN201010613462.2A CN201010613462A CN102063355B CN 102063355 B CN102063355 B CN 102063355B CN 201010613462 A CN201010613462 A CN 201010613462A CN 102063355 B CN102063355 B CN 102063355B
- Authority
- CN
- China
- Prior art keywords
- test
- module
- script
- disk array
- case
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种磁盘阵列的自动化测试服务器,该自动化测试服务器根据自动化测试设计分层的思想,将测试脚本进行分层、封装,分为支撑脚本和用例脚本两大层次:支撑脚本以脚本包的方式提供给用例脚本使用,其作用是提供命令行,完成命令下发,结果获取、解释、检查等;用例脚本就是由测试工程师根据产品特性测试的需要,使用支撑脚本提供的命令编写的用例。本发明还提供了一种磁盘阵列的自动化测试系统。
Description
技术领域
本发明涉及测试技术,特别涉及一种磁盘阵列的自动化测试服务器及系统。
背景技术
当前磁盘阵列测试大部分采用手工测试,手工测试有一定的局限性且效率不高,并且测试用例每次都是重复执行,测试人员在测试过程中会感到单调乏味;同时很多公司都在推行敏捷流程,敏捷流程的核心理念是:增强应对需求变化的能力,提高产品质量,提升开发效率和缩短交付周期;从这二方面我们都可以看到,磁盘阵列自动化测试迫在眉睫。
发明内容
本发明提供了一种磁盘阵列的自动化测试服务器及系统,可以实现对磁盘阵列的自动化测试。
本发明实施例提出一种磁盘阵列的自动化测试装置,所述自动化测试装置包括:
用例脚本模块,用于保存预先设置的用例脚本,用例脚本中定义测试逻辑和数据接口;
产品特性模块,用于封装特定被测磁盘阵列特有的命令;
产品基类模块,用于保存各个产品通用命令集以及测试套所用的测试数据;根据当前测试产品,从相应的产品特性模块中获取特有命令,并从用例脚本模块获取用例脚本,将所述用例脚本、测试数据、通用命令集和特有命令组装成测试脚本,并将所述测试脚本发送至基础类模块;接收来自基础类模块的测试结果信息,并将所述测试结果信息进行对比等相关处理后发送至测试报告生成模块;
测试报告生成模块,用于根据来自产品基类模块的测试结果信息生成测试报告;
基础类模块,用于保存预先设置的支撑脚本库,支撑脚本库提供与被测磁盘阵列命令行对应的接口,以及在此之上封装的高层接口;基础类模块根据支撑脚本库将来自产品基类模块的测试脚本转换为被测磁盘阵列所能识别的命令行,并将所述命令行发送至被测磁盘阵列;以及接收来自被测磁盘阵列的命令行,将其转换成为测试结果信息,并将所述测试结果信息发送至产品基类模块。
较佳地,所述自动化测试装置进一步包括:存储工具集模块,用于配置存储产品测试工具,通过基础类模块对被测磁盘阵列进行读写测试以及数据一致性测试。
较佳地,用例脚本模块中保存的用例脚本以测试套为单位分类保存,每一个测试套中包含多个测试逻辑各不相同的用例脚本,同一个测试套中的用例脚本可以使用相同的测试数据。
从以上技术方案可以看出,用例脚本封装在用例脚本模块中,而支撑脚本在基础类模块中,实现测试脚本分为支撑脚本和用例脚本两大层次,用例脚本通过调用支撑脚本来实现对磁盘阵列进行测试。在用例脚本中,调用支撑脚本的函数使用的都是统一命令行,统一命令行在支撑脚本内部完成了适配、命令下发、结果解释等的功能,这样针对一个特性,只需要开发出一套用例脚本,就可以测试多个产品;产品之间的差异,只需要进行少量修改的统一命令行接口函数内容即可,大大减少了人的工作量,实现了磁盘阵列测试的自动化,并且尽可能的保证用例脚本的可移植性。
附图说明
图1为本发明实施例提出的磁盘阵列自动化测试系统的示意图。
具体实施方式
本发明提出一种磁盘阵列自动化测试方案,根据自动化测试设计分层的思想,将测试脚本进行分层、封装,分为支撑脚本和用例脚本两大层次:支撑脚本以脚本包的方式提供给用例脚本使用,其作用是提供命令行对应的接口函数、API函数、测试框架,完成命令下发,结果获取、解释、检查等;用例脚本就是由测试工程师根据产品特性测试的需要,使用支撑脚本提供的命令编写的用例。
支撑脚本属于底层的部分,为自动化用例设计提供支撑;支撑脚本的作用是提供存储设备命令行对应的接口函数、API函数、测试框架,完成命令下发,结果获取、解释、检查等功能。支撑脚本以包的方式提供给用例脚本使用,只要把支撑脚本统一放在指定目录下面,配置好路径后,即可在用例脚本中进行调用。
支撑脚本的结构是基于人机对话平台进行设计的。如存储设备的命令,在Cmodule基类中,定义了通用设备接口。然后在产品特性类中进行特性接口的实现、适配,在外层定义设备无关类,在设备无关类中定义了测试通用接口,测试通用接口是外部测试代码的统一命令行接口,由设备无关的统一命令行接口去掉用设备相关的接口,这样测试用例就不和环境交互,是一套完整的测试逻辑。有了统一接口的支撑脚本,在我们的用例脚本中,调用支撑脚本的函数使用的都是统一命令行,统一命令行在支撑脚本内部完成了适配、命令下发、结果解释等的功能,这样针对一个特性,我们只需要开发出一套用例脚本,就可以测试多个产品;产品之间的差异,只需要进行少量的更改移植工作就可以完成(修改的统一命令行接口函数内容即可)。这样就尽可能的保证我们用例脚本的可移植性。
事实上,我们可以将用例看成是由两部分组成:一部分是测试逻辑流程,另一部分是该流程运行起来必须的数据。对一个用例而言,逻辑是相对固定的,而数据却根据被测试系统和环境的不同而有极大的变化。在用例脚本里面只定义测试逻辑和数据接口,那么用例就能够适应多种变化的环境。为解决测试逻辑和测试数据分离的问题,引入了测试套的概念。测试套包含了多个测试逻辑各不相同的测试用例,在同一个测试套里面的所用测试用例都使用相同的测试数据,而且在该测试套所包含的测试用例的物理环境都是完全相同的。在执行时,可以根据测试环境的变化对测试数据进行修改,以适应多变的测试环境,满足测试需求。
本发明实施例提出的磁盘阵列自动化测试系统如图1所示,包括测试服务器100和被测磁盘阵列200。其中,测试服务器100包括用例脚本模块101,多个产品特性模块(产品A特性模块102、产品B特性模块103和产品C特性模块104),测试报告生成模块105,产品基类模块106,存储工具集模块107和基础类模块108。
用例脚本模块101用于保存预先设置的用例脚本,用例脚本中定义测试逻辑和数据接口。用例脚本是由测试工程师根据产品特性测试的需要,使用支撑脚本提供的函数编写的用例。利用底层的自动化支撑脚本,可以进行自动化用例脚本设计,编写可维护性较好、质量较高的自动化测试用例脚本。
较佳地,用例脚本模块101中保存的用例脚本以测试套为单位分类保存,每一个测试套中包含多个测试逻辑各不相同的测试用例,同一个测试套中的测试用例可以使用相同的测试数据。
产品特性模块用于封装特定被测存储设备特有的命令。例如,产品A特性模块102用于封装存储设备A的特有命令,产品B特性模块103用于封装存储设备B的特有命令。
产品基类模块106用于保存各个产品通用命令集以及测试套所用的测试数据。根据当前测试产品,从相应的产品特性模块中获取特有命令,并从用例脚本模块101获取用例脚本,将所述用例脚本、测试数据、通用命令集和特有命令组装成测试脚本,并将所述测试脚本发送至基础类模块108;接收来自基础类模块108的测试结果信息,并将所述测试结果信息进行对比等相关处理后发送至测试报告生成模块105。
所述存储工具集模块107用于配置存储产品测试工具,主要用于对存储设备进行读写测试及数据一致性测试,所述测试工具包括但不限于:IOmeter,Pdtest及业界一些通用的存储产品测试工具。存储工具集模块107通过基础类模块108对被测磁盘阵列进行读写测试以及数据一致性测试。
所述测试报告生成模块105用于根据来自产品基类模块106的测试结果信息生成直观的图形化和/或表格化测试报告。
所述基础类模块108用于保存预先设置的支撑脚本库,支撑脚本库提供与存储设备命令行对应的接口,以及在此之上封装的高层接口。此外为了实现用例的自动化测试,还需要相关的通信支撑、测试框架等相关的功能,这些都包括在支撑脚本库中提供。基础类模块108根据支撑脚本库将来自产品基类模块106的测试脚本转换为被测磁盘阵列200所能识别的命令行,并将所述命令行发送至被测磁盘阵列200;以及接收来自被测磁盘阵列200的命令行,将其转换成为测试结果信息,并将所述测试结果信息发送至产品基类模块106。
被测磁盘阵列200包括命令行处理模块201和被测模块202(包括模块1、模块2……模块N)。
命令行处理模块201用于接收来自测试服务器100的命令行,判断所述命令行对应于哪一个被测模块,然后将该命令行发送至相应的被测模块;还用于接收来自被测模块的命令行形式的执行结果,并将所述执行结果发送至测试服务器100。
模块1至模块N中,每一个模块代表存储产品中的一个模块,例如系统管理模块,端口管理模块,主机管理模块,RAID组模块,磁盘管理模块等等
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (3)
1.一种磁盘阵列的自动化测试装置,其特征在于,所述自动化测试装置包括:
用例脚本模块,用于保存预先设置的用例脚本,用例脚本中定义测试逻辑和数据接口;
产品特性模块,用于封装被测磁盘阵列特有的命令;
产品基类模块,用于保存各个产品通用命令集以及测试套所用的测试数据;根据当前测试产品,从相应的产品特性模块中获取特有命令,并从用例脚本模块获取用例脚本,将所述用例脚本、测试数据、通用命令集和特有命令组装成测试脚本,并将所述测试脚本发送至基础类模块;接收来自基础类模块的测试结果信息,并将所述测试结果信息进行对比处理后发送至测试报告生成模块;
测试报告生成模块,用于根据来自产品基类模块的测试结果信息生成测试报告;
基础类模块,用于保存预先设置的支撑脚本库,支撑脚本库提供与被测磁盘阵列命令行对应的接口,以及在此之上封装的高层接口;基础类模块根据支撑脚本库将来自产品基类模块的测试脚本转换为被测磁盘阵列所能识别的命令行,并将所述命令行发送至被测磁盘阵列;以及接收来自被测磁盘阵列的命令行,将其转换成为测试结果信息,并将所述测试结果信息发送至产品基类模块。
2.根据权利要求1所述的自动化测试装置,其特征在于,所述自动化测试装置进一步包括:存储工具集模块,用于配置存储产品测试工具,通过基础类模块对被测磁盘阵列进行读写测试以及数据一致性测试。
3.根据权利要求1所述的自动化测试装置,其特征在于,用例脚本模块中保存的用例脚本以测试套为单位分类保存,每一个测试套中包含多个测试逻辑各不相同的用例脚本,同一个测试套中的用例脚本使用相同的测试数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010613462.2A CN102063355B (zh) | 2010-12-20 | 2010-12-20 | 一种磁盘阵列的自动化测试服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010613462.2A CN102063355B (zh) | 2010-12-20 | 2010-12-20 | 一种磁盘阵列的自动化测试服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063355A CN102063355A (zh) | 2011-05-18 |
CN102063355B true CN102063355B (zh) | 2014-12-10 |
Family
ID=43998640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010613462.2A Active CN102063355B (zh) | 2010-12-20 | 2010-12-20 | 一种磁盘阵列的自动化测试服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063355B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271066A (zh) * | 2011-08-22 | 2011-12-07 | 中兴通讯股份有限公司 | 命令行自动化智能测试方法及系统 |
CN102340687A (zh) * | 2011-10-17 | 2012-02-01 | 四川长虹电器股份有限公司 | 机顶盒测试系统和方法 |
CN103744759A (zh) * | 2013-12-27 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种Linux系统下无人值守磁盘性能及稳定性验证方法 |
CN104778118B (zh) * | 2013-12-30 | 2018-08-28 | 深圳键桥通讯技术股份有限公司 | 自动化测试技术的改进方法 |
CN104952239A (zh) * | 2014-03-28 | 2015-09-30 | 惠州学院 | 一种采集器的测试装置及方法 |
CN107145420B (zh) * | 2017-05-03 | 2020-02-07 | 郑州云海信息技术有限公司 | 基于OpenPower架构自动化磁盘测试方法 |
CN109710474B (zh) * | 2018-12-19 | 2021-11-19 | 郑州云海信息技术有限公司 | 一种硬盘故障检测方法、装置、终端及可读存储介质 |
CN114449030B (zh) * | 2021-12-27 | 2024-03-12 | 天翼云科技有限公司 | 一种互联网服务系统、方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503168A (zh) * | 2002-11-22 | 2004-06-09 | 深圳市中兴通讯股份有限公司 | 一种系统产品的自动化测试方法 |
CN1790957A (zh) * | 2004-12-14 | 2006-06-21 | 华为技术有限公司 | 设备测试方法 |
CN101141319A (zh) * | 2007-05-23 | 2008-03-12 | 中兴通讯股份有限公司 | 基于功能操作封装的自动化测试脚本实现方法及装置 |
-
2010
- 2010-12-20 CN CN201010613462.2A patent/CN102063355B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503168A (zh) * | 2002-11-22 | 2004-06-09 | 深圳市中兴通讯股份有限公司 | 一种系统产品的自动化测试方法 |
CN1790957A (zh) * | 2004-12-14 | 2006-06-21 | 华为技术有限公司 | 设备测试方法 |
CN101141319A (zh) * | 2007-05-23 | 2008-03-12 | 中兴通讯股份有限公司 | 基于功能操作封装的自动化测试脚本实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102063355A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063355B (zh) | 一种磁盘阵列的自动化测试服务器及系统 | |
CN101852832B (zh) | 一种适用于射频模块产品测试可灵活扩展的自动测试系统平台 | |
CN105319455A (zh) | 一种自动测试系统及方法 | |
CN106302008A (zh) | 数据更新方法和装置 | |
CN101770423B (zh) | 一种测试数据生成方法及测试系统 | |
CN106156424B (zh) | 一种仿真系统 | |
CN104572091B (zh) | 应用软件实现方法、装置以及计算机设备 | |
CN102967815B (zh) | 芯片测试方法、自动化测试机和系统 | |
CN107704386A (zh) | 业务流程的单元测试方法、装置、计算机设备及存储介质 | |
CN103902458A (zh) | 一种通用的存储软件测试设计方法 | |
CN102981882B (zh) | 解析方法和装置 | |
CN103412817B (zh) | 自动化测试脚本脱机调试方法及系统 | |
CN103279416A (zh) | 一种存储软件自动化测试系统和方法 | |
CN107957956A (zh) | 软件差异覆盖率的测试方法、装置及可读存储介质 | |
CN104407279A (zh) | 一种用于自动测试芯片mdio总线协议的码型数据、装置及测试方法 | |
CN106411637A (zh) | 物联网设备场景测试方法 | |
CN107171897A (zh) | 一种接口测试方法及数据接口测试系统 | |
CN105446865A (zh) | 多种环境下的测试方法及装置 | |
CN102594618A (zh) | 实现存储局域网络存储设备测试的方法及装置 | |
CN106535221A (zh) | 一种资源管理方法、装置及多模软基站统一网管 | |
CN114510452A (zh) | 片上系统soc集成方法、装置及电子设备 | |
CN101625705A (zh) | 验证环境系统及其搭建方法 | |
CN105550333A (zh) | 基于MongoDB的测试数据存储查询方法及系统 | |
CN105243013A (zh) | 一种软件测试方法与系统 | |
CN101986282A (zh) | 拓扑适配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 505, Taixing Building, 11 Garden East Road, Haidian District, Beijing, 100191 Co-patentee after: Shenzhen Innovation Technology Co., Ltd. Patentee after: Innovation Technology Co., Ltd. Address before: Room 0801-0810, 51 College Road, Haidian District, Beijing, 100191 Co-patentee before: UIT Storage Technology (Shenzhen) Co., Ltd. Patentee before: Innovation and Technology Storage Technology Co., Ltd. |