一种存储设备的自动化测试系统及方法
【技术领域】
[0001]本发明涉及存储测试技术领域,特别是涉及一种存储设备的自动化测试系统及方法。
【背景技术】
[0002]目前,随着存储行业技术快速发展,存储软件及相关硬件日益复杂,对于企业公司来说,如何快速可靠的向市场推出产品至关重要。在产品(存储设备)开发过程中,往往要经历确定需求阶段、设计阶段、开发阶段和验证阶段,在需求确定阶段有时候会通过对其它产品进行测试来确定自己产品的相关开发需求,因此测试过程在整个产品的开发过程中扮演者重要的角色。
[0003]当前测试的方法很多,对于测试过程中规模较小的情况,人工手动地执行测试用例就可以满足需求,但是在大规模情况下,人工测试的方法会耗费大量的时间、人力和物力,测试结果往往也不是很理想。其中,自动化测试是把人为驱动的测试行为转化为机器执行的一种过程。
【发明内容】
[0004]有鉴于此,本发明提供了一种存储设备的自动化测试系统及方法,以实现提高测试效率,进而节省时间、人力和物力的目的。
[0005]为解决上述技术问题,本发明提供一种存储设备的自动化测试系统,该系统包括:
[0006]测试模块和控制模块;
[0007]其中,所述测试模块配置有能够根据预设的测试需求对所述存储设备进行测试的测试用例;所述控制模块根据携带目标测试需求的测试指令,控制测试需求与所述目标测试需求相对应的测试模块运行自身的所述测试用例,以完成对所述存储设备的测试。
[0008]上述系统中,优选地,所述存储设备的数量为一个,所述控制模块的数量为一个,所述测试模块的数量为多个;所述控制模块通过分别控制多个所述测试模块运行各自相应的测试用例来完成对所述存储设备的所述测试。
[0009]上述系统中,优选地,所述存储设备的数量为多个,所述控制模块的数量与多个所述存储设备的数量相等,每个所述存储设备对应一个所述控制模块;多个所述控制模块之间相互通信协作完成对多个所述存储设备的测试。
[0010]上述系统中,优选地,所述测试模块和所述控制模块具有相对应的数据交互接口。
[0011]上述系统中,优选地,所述预设的测试需求为测试网络通信带宽,所述测试用例包括发送端用例和接收端用例;所述控制模块通过控制所述测试模块运行所述发送端用例和接收端用例来完成对所述存储设备的测试。
[0012]本发明还提供了一种存储设备的自动化测试方法,该方法包括:
[0013]控制模块根据携带目标测试需求的测试指令,控制测试需求与所述目标测试需求相对应的测试模块运行自身的测试用例,以完成对所述存储设备的测试;
[0014]其中,所述测试模块配置有能够根据预设的测试需求对所述存储设备进行测试的所述测试用例。
[0015]上述方法中,优选地,所述存储设备的数量为一个,所述控制模块的数量为一个,所述测试模块的数量为多个;
[0016]所述控制模块通过分别控制多个所述测试模块运行各自相应的测试用例来完成对所述存储设备的所述测试。
[0017]上述方法中,优选地,所述存储设备的数量为多个,所述控制模块的数量与多个所述存储设备的数量相等,每个所述存储设备对应一个所述控制模块;
[0018]多个所述控制模块之间相互通信协作完成对多个所述存储设备的测试。
[0019]上述方法中,优选地,所述测试模块和所述控制模块具有相对应的数据交互接口。
[0020]上述方法中,优选地,所述预设的测试需求为测试网络通信带宽,所述测试用例包括发送端用例和接收端用例;
[0021]所述控制模块通过控制所述测试模块运行所述发送端用例和接收端用例来完成对所述存储设备的测试。
[0022]以上本发明提供的一种存储设备的自动化测试系统及方法中,该系统包括测试模块和控制模块,所述控制模块测试流程管理等工作,测试模块受控于控制模块并且其负责具体的测试工作;具体地,所述测试模块配置有能够根据预设的测试需求对所述存储设备进行测试的测试用例;所述控制模块根据携带目标测试需求的测试指令,控制测试需求与所述目标测试需求相对应的测试模块运行自身的所述测试用例,以完成对所述存储设备的测试。可见,本发明能够对存储设备进行自动化测试,达到了提高测试效率,进而节省时间、人力和物力的目的。
【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0024]图1为本发明实施例提供的一种存储设备的自动化测试系统的结构框图示意图;
[0025]图2为本发明实施例提供的基于图1的一种实际应用场景结构图。
【具体实施方式】
[0026]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]本发明的核心是提供一种存储设备的自动化测试系统及方法,以实现提高测试效率,进而节省时间、人力和物力的目的。
[0028]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0029]参考图1,图1示出了本发明实施例提供的一种存储设备的自动化测试系统的结构框图示意图,该系统具体可以包括测试模块100和控制模块101;控制模块101测试流程管理等工作,测试模块100受控于控制模块101并且其负责具体的测试工作;具体地,测试模块100配置有能够根据预设的测试需求对存储设备进行测试的测试用例,不同的测试模块100对应不同的测试需求;控制模块101根据携带目标测试需求的测试指令,控制测试需求与目标测试需求相对应的测试模块运行自身的测试用例,以完成对存储设备的测试。
[0030]在实际应用中,还包括与上述控制模块101相连的人机交互界面,在测试人员在该界面输入目标测试需求之后,系统自动生成携带该目标测试需求的测试指令并传输至控制模块101,控制模块101根据目标测试需求控制相应的所述测试模块100运行其自身的测试用例。
[0031]其中,测试模块100中的测试用例也称测试用例函数,测试模块100由一组测试用例函数构成,作为基本的测试元素,这组测试用例函数形成一个数据库。函数库由测试用例决定,执行具体的测试流程并依赖于用例的定义。
[0032]从分层角度来看,本发明系统包含两层结构:上层控制层(对应控制模块101)和底层测试层(对应测试模块100),控制层可由一组控制模块101组成,每个控制模块101可对应一个或者多个测试模块100。可以理解的是,不同的测试模块100对应不同的测试需求。在实际应用中,对于控制模块101和与其对应的测试模块100的个数,可根据实际需求进行相适应的设置,本发明在此不做严格限定。
[0033]在实际测试过程中往往会涉及到多个存储设备的测试,比如需要对多个主机进行测试,从模块化的角度来看,如果以一个主机为一个测试单元,为了节约资源,一个测试单元最多拥有一个控制模块101,每个控制模块1I对应一个或者多个测试模块100。参考图2,示出了一种实际应用场景结构图,其中,存储设备的数量为3,基于此,测试单元的数量也为3。
[0034]具体地,当存储设备的数量为一个时,需要一个测试单元才能实现对这个存储设备的测试,因此,控制模块101的数量为一个,这里采用一个控制模块101对应多个测试模块的方案。不难理解的是,在实际应用中,控制模块101通过分别控制多个测试模块运行各自相应的测试用例来完成对存储设备的测试。
[0035]当存储设备的数量为多个时,显然,需要多个测试单元,即控制模块101的数量与多个存储设备的数量相等,并且每个存储设备对应一个控制模块101。在实际应用过程中,多个控制模块101之间相互通信协作完成对多个存储设备的测试。
[0036]本发明中,测试模块100和控制模块101具有相对应的数据交互接口。对于测试模块100来说,除了实现与具体用例实现相关的测试函数,测试模块100需要实现上层控制模块101定义的接口函数,如数据IN/0UT函数用于处理数据的输入输出,对数据进行格式化,IN函数读取用户输入的数据,OUT函数按照用户的格式要求输出测试结果。
[0037]对于控制模块101,在实际应用中,其可以分为三层结构:通信层、逻辑层和接口层,通信层负责和其他测试单元的通信交互,接口层定义测试接口,必须需要实现