发明内容
本发明的主要目的在于解决现有数据恢复软件测试不便的技术问题。
本发明第一方面提供了一种数据恢复软件的回归测试方法,所述回归测试方法包括:
将每次构造的回归测试场景所在分区进行备份,生成备份文件;
将所述备份文件放入存储设备的第一分区中保存形成回归测试资源库;
当需要对数据恢复软件进行回归测试时,根据所需的回归测试场景从所述回归测试资源库中加载对应的所述备份文件,并还原到指定的测试分区中;
利用自动化脚本调用新版本的所述数据恢复软件和旧版本的所述数据恢复软件依次执行对所述测试分区进行扫描和恢复,并比对新版本的所述数据恢复软件和旧版本的所述数据恢复软件生成的恢复文件之间的MD5值;
将新版本的所述数据恢复软件和旧版本的所述数据恢复软件分别对所述测试分区的扫描和恢复的结果以及MD5值对比的结果记录到测试报告中。
可选的,在本发明第一方面的一种实现方式中,所述将每次构造的回归测试场景所在分区进行备份,生成备份文件包括:
利用ghost工具将每次构造的回归测试场景所在分区进行备份,生成备份文件,所述备份文件为以文件系统+测试场景命名的.GHO文件。
可选的,在本发明第一方面的一种实现方式中,将所述备份文件放入存储设备的第一分区中保存形成回归测试资源库包括:
将所述备份文件放入电脑本地或移动硬盘的第一分区的特定目录下形成回归测试资源库,所述第一分区的容量大于100GB。
可选的,在本发明第一方面的一种实现方式中,所述当需要对数据恢复软件进行回归测试时,根据所需的回归测试场景从所述回归测试资源库中加载对应的所述备份文件,并还原到指定的测试分区中包括:
当根据所需的回归测试场景从所述回归测试资源库中加载的所述备份文件有多个时,先将一个所述备份文件还原到指定的测试分区中,待新版本的所述数据恢复软件和旧版本的所述数据恢复软件对还原到所述测试分区中的所述备份文件扫描和恢复完成后,再将下一个的所述备份文件还原到所述测试分区中。
可选的,在本发明第一方面的一种实现方式中,在所述测试报告中,若新版本的所述数据恢复软件扫描和恢复成功的文件数量大于等于旧版本的所述数据恢复软件扫描和恢复成功的文件数量,则新版本的所述数据恢复软件的回归测试通过。
可选的,在本发明第一方面的一种实现方式中,所述利用自动化脚本调用新版本的所述数据恢复软件和旧版本的所述数据恢复软件依次执行对所述测试分区进行扫描和恢复之前包括:
将新版本的所述数据恢复软件和旧版本的所述数据恢复软件分别安装到不同的存储路径下。
可选的,在本发明第一方面的一种实现方式中,所述测试分区为非系统分区和非所述数据恢复软件的安装分区。
本发明第二方面提供了一种回归测试装置,所述回归测试装置包括:
备份模块,用于将每次构造的回归测试场景所在分区进行备份,生成备份文件;
保存模块,用于将所述备份文件放入存储设备的第一分区中保存形成回归测试资源库;
还原模块,用于当需要对数据恢复软件进行回归测试时,根据所需的回归测试场景从所述回归测试资源库中加载对应的所述备份文件,并还原到指定的测试分区中;
扫描恢复模块,用于利用自动化脚本调用新版本的所述数据恢复软件和旧版本的所述数据恢复软件依次执行对所述测试分区进行扫描和恢复,并比对新版本的所述数据恢复软件和旧版本的所述数据恢复软件生成的恢复文件之间的MD5值;
记录模块,用于将新版本的所述数据恢复软件和旧版本的所述数据恢复软件分别对所述测试分区的扫描和恢复的结果以及MD5值对比的结果记录到测试报告中。
本发明第三方面提供了一种回归测试设备,所述回归测试设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述回归测试设备执行上述任一项所述的数据恢复软件的回归测试方法。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的数据恢复软件的回归测试方法。
有益效果:本发明提供了一种数据恢复软件的回归测试方法、装置、设备及存储介质,方法包括将每次构造的回归测试场景所在分区备份;将备份文件放入存储设备第一分区形成回归测试资源库;当需要进行测试时,根据所需的回归测试场景从回归测试资源库中加载备份文件,并还原到指定的测试分区中;利用自动化脚本调用新版本和旧版本的数据恢复软件执行对测试分区进行扫描和恢复,并比生成的相同的恢复文件之间的md5值;将新版本和旧版本的数据恢复软件分别对测试分区扫描和恢复的结果以及md5值对比的结果记录到测试报告。本发明的回归测试方法能够自动开展各测试场景的还原,并调用脚本对新旧版本进行扫描、恢复、结果对比、写入测试报告,提升测试效率。
具体实施方式
本发明实施例提供了一种数据恢复软件的回归测试方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中本发明第一方面提供了一种数据恢复软件的回归测试方法,所述回归测试方法包括:
S100、将每次构造的回归测试场景所在分区进行备份,生成备份文件;
在本实施例中,构造回归测试场景的具体步骤:一个可正常读写并挂载的分区(操作系统支持的文件系统),在该分区中放入符合条件的测试资源文件,然后将对应文件或目录进行移除回收站或者永久删除或者格式化。例如:删除一个4G以上的mov视频文件;创建5层目录,并放入包含1k~1G不同区间大小的资源文件N个,将最后一层目录移除至回收站并清空;编辑一个.docx然后保存;删除一个或者几个文件,然后再放入另外几个文件等等此类操作。
S200、将所述备份文件放入存储设备的第一分区中保存形成回归测试资源库;
在本实施例中,备份过程可借助Ghost工具进行,具体步骤如下:
1)选择Options->Image/Tpae,选择iMage All;
2)选择Loacl→Partition→To Image;
3)选择要备份的分区所在的驱动器;
4)选择要备份的分区,就是构造了回归测试场景的分区,单击OK;
5)在Filename一栏键入镜像文件名称,名称格式为文件系统_删除场景描述例如:NTFS文件系统下删除10个文件并清空回收站可命名为NTFS_DEL10EMP,文件类型为*.GHO,及存放位置(注:不能选正在备份的分区),然后按“Save”键;
6)选择是否压缩,No不压缩,Fast低压缩,High高压缩。放置数据压缩异常,选择No不压缩;
7)看着进度条慢慢的走了。备份速度得快慢与内存和备份分区大小有很大关系,一般分区略大于资源文件即可,方便快速完成备份;
8)备份完毕后退出Ghost。
将通过以上步骤产生的所有.GHO文件,存放在专门的本地或移动硬盘大容量分区目录下,形成回归测试资源库。
S300、当需要对数据恢复软件进行回归测试时,根据所需的回归测试场景从所述回归测试资源库中加载对应的所述备份文件,并还原到指定的测试分区中;
在本实施例中,调用还原程序,读取回归测试资源库中的.GHO文件,还原至指定的测试分区,该还原程序,可直接调用Ghost的还原功能,并自动选择待测的.GHO将其还原至特定的测试分区。
S400、利用自动化脚本调用新版本的所述数据恢复软件和旧版本的所述数据恢复软件依次执行对所述测试分区进行扫描和恢复,并比对新版本的所述数据恢复软件和旧版本的所述数据恢复软件生成的恢复文件之间的MD5值;
在本实施例中,监控程序接收备份文件还原返回结果,判断已经成功后调用自动化脚本,若不成功,则重新还原一次,仍然失败则计入报告XX场景还原失败,跳过并进行下一个.GHO的还原。
自动化脚本实现的主要功能如下:
1)自动启动X目录的X版本的数据恢复软件,开始扫描刚还原的分区;
2)扫描完成后提取扫描结果,包含目录名称和数量,将其按照一定格式写入测试报告中;
3)自动勾选全部扫描结果进行恢复,将恢复结果保存至指定目录(非测试分区),子目录按照版本号_文件系统_场景名命名,例如:X_NTFS_DEL10EMP;
4)恢复完成,关闭该版本;
5)启动Y目录的Y版本的数据恢复软件,重复扫描、记录结果、恢复的过程,完成后关闭Y版本。
6)比对X版本的数据恢复软件和Y版本的数据恢复软件生成的恢复文件之间的MD5值,该过程通过代码内部批量处理,具体过程是新版本的数据恢复软件的每一个恢复文件MD5值去遍历匹配旧版本的数据恢复软件所有MD5值,匹配上旧版本的一个就会停止匹配。
S500、将新版本的所述数据恢复软件和旧版本的所述数据恢复软件分别对所述测试分区的扫描和恢复的结果以及MD5值对比的结果记录到测试报告中。
在本实施例中,为了避免恢复功能出现问题,还可以增加MD5对比模块,在自动化脚本中一并实现即恢复完成便自动提取新旧版本恢复路径下所有文件的MD5,并进行对比,并将对比新版本的数据恢复软件和旧版本的数据恢复软件恢复文件的MD5值,将匹配成功和失败的数量记录进测试报告中。若恢复结果中文件MD5值匹配数量大于等于旧版本的恢复数量,比如比如新版本有300个,旧版本有200个,新版本里面有200个跟旧版本200个MD5一样,那就说明测试ok(即新版本恢复文件的完整和有效性>=旧版本),记录完成后,重复上述还原步骤,直至将回归测试资源库中的所需的.GHO文件全部还原、扫描、恢复对比完成形成最终测试报告,监控程序,检测最后一个.GHO还原完成,且自动化脚本执行完毕,则自动打开测试报告。
具体来说,本发明的数据恢复软件的回归测试方法,通过将删除场景所在分区进行备份,生成回归测试资源库,调用还原程序,将.GHO还原至指定分区,通过监控程序获取还原完成状态,完成后自动调用自动化脚本进行,单次结果记录及对比,再通过监控程序,获取前一次恢复完成状态,完成后进行下次的还原过程。采用上述回归测试方法,系统能够自动开展各基础场景的还原,并调用脚本对新旧版本进行扫描、恢复及结果对比,写入测试报告,实现回归测试资源库中所有场景的自动化对比测试,提升测试效率,保证底层恢复质量稳定。
在本发明第一方面的一种可选的实现方式中,所述将每次构造的回归测试场景所在分区进行备份,生成备份文件包括:
利用ghost工具将每次构造的回归测试场景所在分区进行备份,生成备份文件,所述备份文件为以文件系统+测试场景命名的.GHO文件。在本实施例中,备份文件以文件系统+测试场景命名,方便后续测试时对测试场景进行选择。
在本发明第一方面的一种可选的实现方式中,将所述备份文件放入存储设备的第一分区中保存形成回归测试资源库包括:
将所述备份文件放入电脑本地或移动硬盘的第一分区的特定目录下形成回归测试资源库,所述第一分区的容量大于100GB。在本实施例中,将通过以上步骤产生的所有.GHO文件,存放在专门的本地或移动硬盘大容量分区目录下,形成回归测试资源库,由于场景不断扩充,文件会越来越多,需准备大容量的分区专门存放。
在本发明第一方面的一种可选的实现方式中,所述当需要对数据恢复软件进行回归测试时,根据所需的回归测试场景从所述回归测试资源库中加载对应的所述备份文件,并还原到指定的测试分区中包括:
当根据所需的回归测试场景从所述回归测试资源库中加载的所述备份文件有多个时,先将一个所述备份文件还原到指定的测试分区中,待新版本的所述数据恢复软件和旧版本的所述数据恢复软件对还原到所述测试分区中的所述备份文件扫描和恢复完成后,再将下一个的所述备份文件还原到所述测试分区中。在本实施例中,需要完成一个回归测试场景的测试之后才会接着下一个测试场景的测试,可以保证测试过程的流畅,避免测试发生混乱。
在本发明第一方面的一种可选的实现方式中,在所述测试报告中,若新版本的所述数据恢复软件扫描和恢复成功的文件数量大于等于旧版本的所述数据恢复软件扫描和恢复成功的文件数量,则新版本的所述数据恢复软件的回归测试通过。
在本实施例中,测试报告中各场景扫描和恢复匹配成功的文件数量>=旧版本扫描及恢复结果,则证明新版本质量与旧版本一致或有所提升,回归测试通过,反之则未通过,需要跟进问题。
在本发明第一方面的一种可选的实现方式中,所述利用自动化脚本调用新版本的所述数据恢复软件和旧版本的所述数据恢复软件依次执行对所述测试分区进行扫描和恢复之前包括:
将新版本的所述数据恢复软件和旧版本的所述数据恢复软件分别安装到不同的存储路径下。在本实施例中,新旧版本已提前安装在不同路径下,从而可以确保均可正常启动。
在本发明第一方面的一种可选的实现方式中,所述测试分区为非系统分区和非所述数据恢复软件的安装分区。在本实施例中,由于测试分区需要循环执行还原动作,因此不能是系统分区和待测软件的安装目录所在分区。
参见图2,本发明第二方面提供了一种回归测试装置,所述回归测试装置包括:
备份模块10,用于将每次构造的回归测试场景所在分区进行备份,生成备份文件;
保存模块20,用于将所述备份文件放入存储设备的第一分区中保存形成回归测试资源库;
还原模块30,用于当需要对数据恢复软件进行回归测试时,根据所需的回归测试场景从所述回归测试资源库中加载对应的所述备份文件,并还原到指定的测试分区中;
扫描恢复模块40,用于利用自动化脚本调用新版本的所述数据恢复软件和旧版本的所述数据恢复软件依次执行对所述测试分区进行扫描和恢复,并比对新版本的所述数据恢复软件和旧版本的所述数据恢复软件生成的恢复文件之间的MD5值;
记录模块50,用于将新版本的所述数据恢复软件和旧版本的所述数据恢复软件分别对所述测试分区的扫描和恢复的结果以及MD5值对比的结果记录到测试报告中。
在本发明第二方面的一种可选的实现方式中,所述备份模块还用于利用ghost工具将每次构造的回归测试场景所在分区进行备份,生成备份文件,所述备份文件为以文件系统+测试场景命名的.GHO文件。
在本发明第二方面的一种可选的实现方式中,所述保存模块还用于将所述备份文件放入电脑本地或移动硬盘的第一分区的特定目录下形成回归测试资源库,所述第一分区的容量大于100GB。
在本发明第二方面的一种可选的实现方式中,所述还原模块还用于当根据所需的回归测试场景从所述回归测试资源库中加载的所述备份文件有多个时,先将一个所述备份文件还原到指定的测试分区中,待新版本的所述数据恢复软件和旧版本的所述数据恢复软件对还原到所述测试分区中的所述备份文件扫描和恢复完成后,再将下一个的所述备份文件还原到所述测试分区中。
在本发明第二方面的一种可选的实现方式中,在所述测试报告中,若新版本的所述数据恢复软件扫描和恢复成功的文件数量大于等于旧版本的所述数据恢复软件扫描和恢复成功的文件数量,则新版本的所述数据恢复软件的回归测试通过。
在本发明第二方面的一种可选的实现方式中,所述回归测试装置还包括:
安装模块,用于将新版本的所述数据恢复软件和旧版本的所述数据恢复软件分别安装到不同的存储路径下。
在本发明第二方面的一种可选的实现方式中,所述测试分区为非系统分区和非所述数据恢复软件的安装分区。
上面图2从模块化功能实体的角度对本发明实施例中的回归测试装置进行详细描述,下面从硬件处理的角度对本发明实施例中回归测试设备进行详细描述。
图3是本发明实施例提供的一种回归测试设备的结构示意图,该回归测试设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器60(centralprocessing units,CPU)(例如,一个或一个以上处理器)和存储器70,一个或一个以上存储应用程序或数据的存储介质80(例如一个或一个以上海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对回归测试设备中的一系列指令操作。更进一步地,处理器可以设置为与存储介质通信,在回归测试设备上执行存储介质中的一系列指令操作。
回归测试设备还可以包括一个或一个以上电源90,一个或一个以上有线或无线网络接口100,一个或一个以上输入输出接口110,和/或,一个或一个以上操作系统,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图3示出的回归测试设备结构并不构成对回归测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述的数据恢复软件的回归测试方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。