一种用于存储系统测试的方法与设备的制造方法

文档序号:8528106阅读:246来源:国知局
一种用于存储系统测试的方法与设备的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种用于存储系统测试的技术。
【背景技术】
[0002]当前,国内所采用的存储系统API的实现各有差别,有的存储系统采用类SQL语法,有的存储系统则采用各类自定义语法来定义如增删改等存储操作。而对于存储系统的测试,尤其是对于自主开发的存储系统的测试,则大多由测试人员针对被测存储系统的设计文档,人工设计和编写测试用例。然而,采用人工方法进行存储系统的测试,存在着大量冋题:
[0003]1.人工设计和编写存储系统测试用例,不但成本高,而且编写测试用例的数量有限,不能对存储系统进行充分测试。
[0004]2.人工编写的测试用例不易扩展和维护。如果存储系统变更语法定义或者一些简单的逻辑,原来的测试用例需要进行修改的成本极大,几乎重写。
[0005]3.由于不同的测试人员对于数据类型的边界理解是不尽相同,有些边界的测试可能会漏测。
[0006]4.现有的存储系统的测试缺少一种有效的自反馈方式来增强测试数据的有效性。
[0007]因此,考虑到上述缺陷,现有的存储系统测试方法难以对存储系统进行高效高覆盖的测试,从而影响存储系统的测试效率与测试结果。

【发明内容】

[0008]本发明的目的是提供一种用于存储系统测试的方法与设备。
[0009]根据本发明的一个方面,提供了一种用于存储系统测试的方法,其中,该方法包括:
[0010]a获取一个或多个测试用例,其中,所述测试用例与能够触发所述存储系统的系统漏洞的测试数据或测试语句相关联;
[0011]b根据所述测试用例,生成一个或多个优选测试用例;
[0012]其中,该方法还包括:
[0013]-根据所述优选测试用例,对所述存储系统进行测试。
[0014]根据本发明的另一方面,还提供了一种用于存储系统测试的测试设备,其中,该设备包括:
[0015]获取装置,用于获取一个或多个测试用例,其中,所述测试用例与能够触发所述存储系统的系统漏洞的测试数据或测试语句相关联;
[0016]生成装置,用于根据所述测试用例,生成一个或多个优选测试用例;
[0017]其中,该设备还包括:
[0018]测试装置,用于根据所述优选测试用例,对所述存储系统进行测试。
[0019]与现有技术相比,本发明主要利用与能够触发所述存储系统的系统漏洞的测试数据或测试语句相关联的测试用例,来生成一个或多个优选测试用例,并利用所述优选测试用例对存储系统进行测试,从而通过自动化生成更多的有效测试数据,对现有的测试进行了加强,高效、高覆盖地测试被测系统,使得测试更加全面完善,并更快的触发系统漏洞,提高了存储系统的测试效率与测试质量。
[0020]而且,本发明还可以根据测试用例,来确定所述测试用例中的一个或多个优选测试因子,然后根据所述优选测试因子,生成一个或多个优选测试用例;进一步地,可以将一个或多个所述优选测试因子与其他测试用例相结合,以生成一个或多个优选测试用例,和/或将两个或多个所述优选测试因子相结合,以生成一个或多个优选测试用例;从而通过多种方式,快速有效地利用优秀测试数据或执行模型来生成优选测试用例,使得优选测试用例更加完善,能够更快的触发系统漏洞,提高了存储系统的测试效率与测试质量。
[0021]而且,本发明还可以对一个或多个候选测试用例进行筛选,以获取一个或多个测试用例;进一步地,还可以根据所述存储系统的存储描述信息,生成与所述存储描述信息相对应的一个或多个测试数据,然后根据所述测试数据,生成与所述测试数据相对应的一个或多个候选测试用例;从而自动生成全面完整的测试数据,并覆盖多种边界数据(如存储系统物理块边界数据)与异常数据,并实现了各类存储系统主流操作测试用例的自动生成,易维护、易扩展、高效率、高覆盖。
[0022]而且,本发明还可以根据所述存储系统的一个或多个测试结果,结合所述测试结果所对应的一个或多个优选测试用例,确定所述测试结果所对应的测试报告信息;进一步地,还可以结合所述优选测试用例的测试过程中的测试相关信息还生成测试报告信息;从而基于多种优选测试用例的测试过程与测试结果,自动对造成系统漏洞的可能性进行分析,以得出可能出现问题的数据或模型,减少了人工排查的繁冗,更快的判断系统漏洞的原因,提高了存储系统的测试效率与测试质量。
【附图说明】
[0023]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0024]图1示出根据本发明一个方面的一种用于存储系统测试的测试设备示意图;
[0025]图2示出根据本发明一个优选实施例的一种用于存储系统测试的测试设备示意图;
[0026]图3示出根据本发明另一个方面的一种用于存储系统测试的方法流程图;
[0027]图4示出根据本发明一个优选实施例的一种用于存储系统测试的方法流程图。
[0028]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0029]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0030]在本发明中所述的“测试设备”,包括但不限于任意计算机设备。在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
[0031]所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
[0032]需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0033]这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0034]应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0035]这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0036]还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0037]下面结合附图对本发明作进一步详细描述。
[0038]图1示出根据本发明一个方面的一种用于存储系统测试的测试设备示意图;其中,所述测试设备包括获取装置1、生成装置2、测试装置3。具体地,所述获取装置I获取一个或多个测试用例,其中,所述测试用例与能够触发所述存储系统的系统漏洞的测试数据或测试语句相关联;所述生成装置2根据所述测试用例,生成一个或多个优选测试用例;所述测试装置3根据所述优选测试用例,对所述存储系统进行测试。
[0039]在此,所述存储系统包括传统的关键字数据库(如MySQL)或分布式存储系统/分布式数据库等。
[0040]所述获取装置I获取一个或多个测试用例,其中,所述测试用例与能够触发所述存储系统的系统漏洞的测试数据或测试语句相关联。
[0041]具体地,所述获取装置I通过直接与存储系统相交互,以获取该存储系统所提供的测试用例,或者与能够提供各种测试用例的第三方设备相交互,以获取该设备所提供的测试用例。
[0042]其中,所述测试用例与能够触发所述存储系统的系统漏洞的测试数据或测试语句相关联:即所述测试用例包括能够触发所述存储系统的系统漏洞,从而导致系统BUG的测试用例;也包括了可能触发所述存储系统的系统漏洞,但实际操作中并未触发系统BUG的测试用例,如包含典型边界值的测试用例,或包含如条件语句、判断语句和/或循环语句等复杂逻辑的测试语句的测试用例。
[0043]优选地,所述测试用例包括以下至少任一项,即包含能够触发所述存储系统的系统漏洞的测试数据的测试用例、包含能够触发所述存储系统的系统漏洞的执行模型的测试用例、包含所述存储系统的边界值和/或异常值的测试用例。
[0044]在此,本领域技术人员应能理解,每个测试用例均包括测试数据与执行模型(或称作测试模型),所述测试数据指示了每次测试所采用的具体数值,所述执行模型中包含多个测试语句,所述执行模型指示了该测试所依照的测试步骤、测试操作或测试流程等。
[0045]因此,所述存储系统或第三方设备中,测试用例的获取或生成包括以下任意方式:1.将候选测试用例执行后,将能够触发系统漏洞的候选测试用例作为所述测试用例;2.将该存储系统实际运行中触发系统漏洞的实际用例作为测试用例;3.将包含该存储系统边界值或异常值的用例作为所述测试用例;4.将包含该存储系统的条件测
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1