验证挂载恢复卷的自动化测试方法及系统的制作方法

文档序号:10697568阅读:242来源:国知局
验证挂载恢复卷的自动化测试方法及系统的制作方法
【专利摘要】本发明提供验证挂载恢复卷的自动化测试方法及系统,包括:从备份的源卷所属的源端获取所述源卷的卷信息,据以生成第一对象;从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息并进行比对,以从所述比对中获取挂载恢复卷的卷信息;根据所述挂载恢复卷的卷信息生成第二对象;比对所述第一对象和所述第二对象,若比对结果为一致,则判定挂载恢复后的卷信息与源卷的卷信息是一致的,若比对结果为不一致,则判定挂载恢复后的卷信息与源卷的卷信息是不一致的,解决了现有技术中手工进行挂载恢复测试效率低、出错率高等问题。
【专利说明】
验证挂载恢复卷的自动化测试方法及系统
技术领域
[0001 ]本发明涉及计算机软件测试领域,特别是涉及验证挂载恢复卷的自动化测试方法及系统。
【背景技术】
[0002]文件系统实时备份是指对文件系统中的卷进行实时保护,当有数据变化时自行进行备份,最终用户可根据实际需要进行浏览恢复或挂载恢复。
[0003]通过ISCSI(Internet Small Computer System Interface,Internet小型计算机系统接口)挂载方式将文件系统实时任务中的某个时间点的数据直接关联到目标机器上的某个虚拟文件系统,从而实现数据快速恢复的过程叫做文件系统实时备份挂载恢复。
[0004]文件系统实时备份挂载恢复不需要将备份集中的所有数据都回写回去,而是先生成一个虚拟文件系统,现用现取,此方式适合RT0(Recovery Time Objective,复原时间目标)要求高,或者应用容灾的场合,能够瞬间找回所需的数据或者瞬间恢复生产应用。
[0005]在数据保护业务领域中,备份、恢复是两个很重要的概念,恢复后的数据是否跟原数据保持一致、是否可用,是进行备份的根本目的,因此,在这一领域的测试方面,恢复数据的一致性、可用性测试尤为重要。
[0006]目前,基于应用层面的挂载恢复结果测试,主要依靠手工验证,为了快速响应外界需求,产品上线或发布的频率被提高,对应版本原有功能的回归测试频率也加大,此处存在三个问题:第一,手工回归效率太低,不能及时响应快速迭代的要求;第二,快速迭代引起频繁的回归测试需要消耗较多的人力资源;第三,快速迭代对测试人员模块熟悉度的要求较高,不同人进行测试的可靠性不能保证。

【发明内容】

[0007]鉴于以上所述现有技术的缺点,本发明的目的在于提供验证挂载恢复卷的自动化测试方法及系统,通过自动化测试方法实现挂载恢复卷数据一致性、可用性校验问题,从而解决回归测试效率低、人力消耗大、可靠性不能完全保证的问题。
[0008]为实现上述目的及其他相关目的,本发明提供验证挂载恢复卷的自动化测试方法,包括:从备份的源卷所属的源端获取所述源卷的卷信息,据以生成第一对象;从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息并进行比对,以从所述比对中获取挂载恢复卷的卷信息;根据所述挂载恢复卷的卷信息生成第二对象;比对所述第一对象和所述第二对象,若比对结果为一致,则判定挂载恢复后的卷信息与源卷的卷信息是一致的,若比对结果为不一致,则判定挂载恢复后的卷信息与源卷的卷信息是不一致的。
[0009]于本发明一实施例中,所述方法还包括:对所述挂载恢复卷进行读写操作,从而判断所述挂载恢复卷是否可读写。
[0010]于本发明一实施例中,所述从备份的源卷所属的源端获取所述源卷的卷信息、从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息是通过Webservice接口实现的。
[0011]于本发明一实施例中,所述第一对象和所述第二对象分别对应包括:分区、可用空间、总空间、名称、及文件系统类型中的一种或多种组合。
[0012]为实现上述目的及其他相关目的,本发明提供验证挂载恢复卷的自动化测试系统,包括:获取模块,用于从备份的源卷所属的源端获取所述源卷的卷信息,据以生成第一对象;从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息;比对模块,用于比对所述挂载恢复之前的所有卷的卷信息和在所述挂载恢复之后的所有卷的卷信息;根据所述挂载恢复卷的卷信息生成第二对象;比对所述第一对象和所述第二对象,若比对结果为一致,则判定挂载恢复后的卷信息与源卷的卷信息是一致的,若比对结果为不一致,则判定挂载恢复后的卷信息与源卷的卷信息是不一致的。
[0013]于本发明一实施例中,所述系统还包括:读写模块,用于对所述挂载恢复卷进行读写操作,从而判断所述挂载恢复卷是否可读写。
[0014]于本发明一实施例中,所述从备份的源卷所属的源端获取所述源卷的卷信息、从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息是通过Webservice接口实现的。
[0015]于本发明一实施例中,所述第一对象和所述第二对象分别对应包括:分区、可用空间、总空间、名称、及文件系统类型中的一种或多种组合。
[0016]为实现上述目的及其他相关目的,本发明提供自动化测试装置,包括:任一所述的验证挂载恢复卷的自动化测试系统。
[0017]于本发明一实施例中,所述自动化测试装置包括:Robot Framework测试框架。
[0018]如上所述,本发明的验证挂载恢复卷的自动化测试方法及系统,具有以下有益效果:
[0019]1.提高了回归测试效率,同时降低了回归测试所需的人力资源。以前发布或上线均需手工进行回归测试,覆盖环境较多,而且一般均需要进行多轮次回归测试,此模块需要6*人天工作量,当前使用自动化只需要I人*天,大大降低了人力资源,同时也提高了回归测试效率。
[0020]2.规避由于人为测试所造成的测试偏差,让测试过程更简单、快速,结果更准确、可靠。以前偶尔由于人员流动或调整,导致回归测试安排不熟悉的人员执行用例,执行结果的可靠性不能完全保证。当前执行结果可通过自动化完全确保。
【附图说明】
[0021]图1显示为本发明一优选实施例的自动化测试架构图。
[0022]图2显示为本发明一优选实施例的源卷备份流程图。
[0023]图3显示为本发明一优选实施例的挂载恢复流程图。
[0024]图4显示为本发明一实施例的验证挂载恢复卷的自动化测试方法流程图。
[0025]图5显示了本发明一实施例的测试环境部署流程图。
[0026]图6显示了本发明一实施例的测试用例脚本实现及执行过程流程图。
[0027]图7显示为本发明一实施例的验证挂载恢复卷的自动化测试系统模块图。
[0028]元件标号说明
[0029]7验证挂载恢复卷的自动化测试系统
[0030]701获取模块
[0031]702比对模块
[0032]S401 ?S404 步骤
【具体实施方式】
[0033]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0034]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0035]本发明基于Robot Framework(简称RF)自动化测试框架,使用python作为辅助语言实现相关方法,通过在RF中调用这些方法获取用户服务器端数据,在Windows操作系统下最终完成挂载恢复卷数据一致性、可用性检验,能够提高测试效率,并保证高可靠性。
[0036]需要说明的是,本发明基于RF自动化测试框架是一个开源的、基于Python实现的通用自动化测试框架,支持表格化的用例编写,降低了自动化测试编写难度,而且支持丰富的库:Telnet,SSH ,Java UI,web应用(通过Selenium)以及用户自定义库,方便完成与被测系统的交互。自动化测试架构图1所示。
[0037]本发明所要实现的目标是对挂载恢复卷进行两项结果检查:(I)检查挂载恢复后卷信息是否跟源卷保持一致;(2)检查挂载恢复卷是否可正常进行读写操作。
[0038]基于文件系统实时备份恢复业务,完整的测试流程分为三部分:(I)对源卷进行实时备份;(2)对源卷某个时间点进行挂载恢复;(3)对挂载恢复卷进行信息一致性、可用性检查。以下分别对备份流程、挂载恢复流程、恢复结果检查流程进行具体说明:
[0039](I)对源卷进行实时备份:备份流程是该测试的前置条件之一,主要介绍对于要保护的卷创建实时备份任务并执行产生时间点的过程,该过程通过在RF中调用Webservices接口实现,再此不详细展开,简单的流程图可如图2所示。
[0040](2)对源卷某个时间点进行挂载恢复:挂载恢复流程是备份流程后的另一个前置条件,主要介绍将某个备份时间点的卷挂载恢复至目标机器的过程,该过程通过在RF中调用Webservices接口实现,再此不详细展开,是在备份流程里成功产生了时间点的基础上进行的,简单的流程图如3所示。
[0041 ]请参阅图4,本实施例提供一种验证挂载恢复卷的自动化测试方法,包括:
[0042]步骤S401:从备份的源卷所属的源端获取所述源卷的卷信息,据以生成第一对象。例如:通过get_onedisk()方法获取源卷信息,返回结果为python的字典形式result{},包括:分区、disk.FreeSpace(可用空间)、disk.Size(总空间)、disk.VolumeName(名称)、disk.FileSystem(文件系统类型)。优选的,使用trans_voIumeO方法对result{}进行去盘符处理,返回结果:resultlU。
[0043]步骤S402:从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息并进行比对,以从所述比对中获取挂载恢复卷的卷信息。例如:通过get_disk()方法获取卷未挂载之前目标机器上所有卷信息,返回结果为python的字典形式result2_l{},包括:Capt1n(分区)、disk.FreeSpace(可用空间)、disk.Size(总空间)、disk.VolumeName(名称)、disk.FileSystem(文件系统类型);通过get_disk()方法获取卷挂载之后目标机器上所有卷信息,返回结果为python的字典形式result2_2{},包括:Capt1n(分区)、disk.FreeSpace(可用空间)、disk.Size(总空间)、disk.VolumeName(名称)、disk.FileSystem(文件系统类型)。使用方法compare_disks()对result2_l {}和result2_2{}进行比对,正常情况下比对后应该多出一个挂载恢复卷的信息,即返回信息result2_3U。
[0044]步骤S403:根据所述挂载恢复卷的卷信息生成第二对象。例如:使用trans_volume()方法对result2_3{}进行去盘符处理,返回结果result2{}。
[0045]步骤S404:比对所述第一对象和所述第二对象,若比对结果为一致,则判定挂载恢复后的卷信息与源卷的卷信息是一致的,若比对结果为不一致,则判定挂载恢复后的卷信息与源卷的卷信息是不一致的。例如:通过RF内置方法“should be equal”比对resultl {}跟result2{}。
[0046]需要说明的是,上述获取卷信息再去掉盘符的操作,是因为源卷挂载恢复后盘符可能会变化,因此盘符并不在结果检查范围内,所以需要去掉盘符,对其他的磁盘属性进行检查。除此之外,所述的源端、目的端可以是同一客户端,也可以是不同客户端。优选的,从二者获取相应的卷信息时,通过Webservice接口的Xmlrpclib实现消息通信。
[0047]在另一实施例中,所述方法还包括:对所述挂载恢复卷进行读写操作,从而判断所述挂载恢复卷是否可读写。例如:通过check_disk1()方法对挂载恢复卷进行读/写数据操作,验证卷是否正常可用。
[0048]以下对上述例子中提到的各种命令作简要解释:
[0049]?自定义py库方法:
[°°50] get_onedisk():作用是获取Windows系统机器指定磁盘的信息。使用python语言,通过WMI (Windows Management Instrumentat1n ,Windows管理规范)实现对远程机器的操作。
[0051] get_disk():作用是获取Windows系统机器所有磁盘及信息。使用python语言,通过WM1实现对远程机器的操作。
[°°52] compare_disks():作用是比对两组字典类型的数据,找出差异项。通过python语言实现。
[°°53] trans_volume():作用是对一组磁盘信息进行去掉盘符的处理。通过python语言实现。
[0054]check_disk1():作用是对某个磁盘进行读写操作。通过python语言实现。
[0055]以上方法均在一个py文件中实现,该文件可称为自定义库。用户可根据自身需要自定义不同库,在RF中加载后即可通过RF正常调用其中的方法实现相关功能。
[0056]_RF内置库方法:
[°°57] Should be equal:作用是用来比较两个值或两组数据是否一致。
[0058]内置库是相对于自定义库来讲的,RF中默认内置了若干常用库。可直接供用户使用。
[0059]籲消息通信:
[0060]恢复结果检查流程中客户端向服务器(RF)发送信息的过程是通过python的Xmlrpclib实现的。自定义py库对应存在两份文件,server.py在RF端加载,另外还需要在客户端发起client, py文件执行,当然,客户端机器需要先安装python程序。
[0061]图5显示了实现上述验证挂载恢复卷的自动化测试方法的测试环境的部署,主要包括以下步骤:
[0062](I)在主控制台安装控制台程序包;
[0063](2)在源端、目标端分别安装客户端程序包;
[0064](3)配置客户端接入控制台;
[0065](4)在客户端机器中安装python应用程序;
[ΟΟ??] (5)将client.py文件放入客户端机器中,并用python程序打开运行。
[0067]图6显示了测试用例脚本实现及执行过程,在RF环境已搭建且正常可用的前提下,同时webservice接口的测试框架已规范。主要是将被测对象跟RF结合起来,在RF中通过被测对象提供的webservice接口实现备份、恢复流程,通过server.py库中的方法实现结果检查流程。
[0068]另外,将RF还可以与自动集成工具Jenkins相结合,在测试环境部署就绪的情况下,通过在Jenkins中部署测试任务,可做到无人值守定时执行测试用例,测试人员只需查看执行结果报告,大大的解放了人力资源。
[0069]请参阅图7,与方法实施例原理相似的是,本发明提供验证挂载恢复卷的自动化测试系统7,包括:获取模块701和比对模块702。由于前述技术特征可以用于本系统实施例,因而不再重复赘述。
[0070]获取模块701从备份的源卷所属的源端获取所述源卷的卷信息,据以生成第一对象;从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息。比对模块702比对所述挂载恢复之前的所有卷的卷信息和在所述挂载恢复之后的所有卷的卷信息;根据所述挂载恢复卷的卷信息生成第二对象;比对所述第一对象和所述第二对象,若比对结果为一致,则判定挂载恢复后的卷信息与源卷的卷信息是一致的,若比对结果为不一致,则判定挂载恢复后的卷信息与源卷的卷信息是不一致的。优选的,所述第一对象和所述第二对象分别对应包括:分区、可用空间、总空间、名称、及文件系统类型中的一种或多种组合。优选的,所述从备份的源卷所属的源端获取所述源卷的卷信息、从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息是通过Webservice接口实现的。
[0071]在一实施例中,所述系统7还包括:读写模块,用于对所述挂载恢复卷进行读写操作,从而判断所述挂载恢复卷是否可读写。
[0072]为实现上述目的及其他相关目的,本发明提供自动化测试装置,包括:任一所述的验证挂载恢复卷的自动化测试系统7。优选的,所述自动化测试装置包括:Robot Framework测试框架。
[0073]综上所述,本发明的验证挂载恢复卷的自动化测试方法及系统,有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0074]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种验证挂载恢复卷的自动化测试方法,其特征在于,包括: 从备份的源卷所属的源端获取所述源卷的卷信息,据以生成第一对象; 从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息并进行比对,以从所述比对中获取挂载恢复卷的卷信息; 根据所述挂载恢复卷的卷信息生成第二对象; 比对所述第一对象和所述第二对象,若比对结果为一致,则判定挂载恢复后的卷信息与源卷的卷信息是一致的,若比对结果为不一致,则判定挂载恢复后的卷信息与源卷的卷ig息是不一致的。2.根据权利要求1所述的验证挂载恢复卷的自动化测试方法,其特征在于,还包括:对所述挂载恢复卷进行读写操作,从而判断所述挂载恢复卷是否可读写。3.根据权利要求1所述的验证挂载恢复卷的自动化测试方法,其特征在于,所述从备份的源卷所属的源端获取所述源卷的卷信息、从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息是通过Webservice接口实现的。4.根据权利要求1所述的验证挂载恢复卷的自动化测试方法,其特征在于,所述第一对象和所述第二对象分别对应包括:分区、可用空间、总空间、名称、及文件系统类型中的一种或多种组合。5.一种验证挂载恢复卷的自动化测试系统,其特征在于,包括: 获取模块,用于从备份的源卷所属的源端获取所述源卷的卷信息,据以生成第一对象;从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息; 比对模块,用于比对所述挂载恢复之前的所有卷的卷信息和在所述挂载恢复之后的所有卷的卷信息;根据所述挂载恢复卷的卷信息生成第二对象;比对所述第一对象和所述第二对象,若比对结果为一致,则判定挂载恢复后的卷信息与源卷的卷信息是一致的,若比对结果为不一致,则判定挂载恢复后的卷信息与源卷的卷信息是不一致的。6.根据权利要求5所述的验证挂载恢复卷的自动化测试系统,其特征在于,还包括:读写模块,用于对所述挂载恢复卷进行读写操作,从而判断所述挂载恢复卷是否可读写。7.根据权利要求5所述的验证挂载恢复卷的自动化测试系统,其特征在于,所述从备份的源卷所属的源端获取所述源卷的卷信息、从所述源卷挂载恢复到的目标端获取所述目标端在所述挂载恢复之前的所有卷的卷信息、及在所述挂载恢复之后的所有卷的卷信息是通过Webservice接口实现的。8.根据权利要求5所述的验证挂载恢复卷的自动化测试系统,其特征在于,所述第一对象和所述第二对象分别对应包括:分区、可用空间、总空间、名称、及文件系统类型中的一种或多种组合。9.一种自动化测试装置,其特征在于,包括:如权利要求5至8中任一所述的验证挂载恢复卷的自动化测试系统。10.根据权利要求9所述的自动化测试装置,其特征在于,所述自动化测试装置包括:Robot Framework测试框架。
【文档编号】G06F17/30GK106066820SQ201610404144
【公开日】2016年11月2日
【申请日】2016年6月8日 公开号201610404144.2, CN 106066820 A, CN 106066820A, CN 201610404144, CN-A-106066820, CN106066820 A, CN106066820A, CN201610404144, CN201610404144.2
【发明人】周丹婷
【申请人】上海爱数信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1