专利名称:软件更新文件的测试方法和装置的制作方法
技术领域:
本发明涉及软件测试,尤其涉及一种软件更新文件的测试方法和装置。
背景技术:
具有一定规模的软件会包含有上百个乃至上千个文件,制作软件更新版本 时需要将更新的文件拷贝到对应的文件夹,然后由打包程序制作软件更新版本 的安装包。但是由于需要更新的文件过多,在制作安装包的过程中极容易出现 文件丟失或者增加了多余文件的情况。
针对上述问题, 一般的检测更新文件完整性和正确性的做法是
i) 备份软件上一安装版本的文件;
ii) 在与所述软件上一版本相同的安装环境下,手动安装该软件的更新版本;
iii) 比较更新版本的文件与上一版本的文件之间的区别,并记录下实际更新 过的文件;
iv) 将实际更新过的文件与需要更新的文件进行比对,看该软件更新版本的 文件是否完整和正确。
在进行上述检测更新文件完整性和正确性的过程中,发明人发现现有技术 存在以下问题
1) 如果测试人员忘记备份软件的上一安装版本,而直接安装了该软件的更 新版本,则无法正常进行软件更新文件的检测,重复的卸载安装过程将会浪费 4艮多时间;
2) 具有一定规模的软件安装包中包含的文件数量很大,如果由于检测过程 太过繁复使得测试人员一时疏忽而没有发现某一文件未更新,那么很可能会导 致在后续的软件测试过程中出现bug。
所以,更新文件完整性和正确性的检测如果仅靠人工测试,检测不仅会不 充分,而且会浪费测试人员的时间,增加软件的开发成本。
发明内容
本发明的实施例提供一种软件更新文件的测试方法和装置,能够实现软件 更新文件的自动测试。
为达到上述目的,本发明的实施例采用如下技术方案 一种软件更新文件的测试方法,包括以下步骤 记录待测更新版本软件的信息;
自动生成所述待测更新版本软件的期望版本信息文件;
自动生成所述;f寺测更新版本软件的实际版本信息文件; 判断所述期望版本信息文件和所述实际版本信息文件是否一致,并根据判 断结果输出测试结果。
一种软件更新文件的测试装置,包括 记录模块,用于记录待测更新版本软件的信息;
期望文件生成模块,用于自动生成所述待测更新版本软件的期望版本信息 文件;
实际文件生成冲莫块,用于自动生成所述待测更新版本软件的实际版本信息 文件;
判断模块,用于判断所述期望版本信息文件和所述实际版本信息文件是否 一致;
输出模块,用于根据判断结果输出测试结果。
本发明实施例提供的软件更新文件的测试方法和装置,首先记录下待测更 新版本软件的信息,然后自动生成其对应的期望版本信息文件和实际版本信息 文件,并通过对所述期望版本信息文件和实际版本信息文件进行对比,判断出 软件更新安装包中包含的软件更新文件是否完整以及是否存在错误记录的软件 更新文件;与现有技术相比,本发明实施例提供的软件更新文件的测试方法和 装置在进行软件更新文件完整性和正确性的检测时不再依赖于人工测试,其通 过对软件更新文件完整性和正确性的自动检测,从而避免因人为因素所造成的 bug,且能够缩短^r测软件更新文件完整性和正确性这一过程所耗费的时间。
图1为本发明实施例一中的软件更新文件测试方法的流程图; 图2为本发明实施例二中的软件更新文件测试方法的流程图; 图3为本发明实施例三中的软件更新文件测试装置的结构示意图; 图4为本发明实施例四中的软件更新文件测试装置的结构示意图。
具体实施例方式
为了能够实现软件更新文件的自动测试,本发明实施例提供了 一种软件更 新文件的测试方法和装置。下面结合附图对本发明实施例提供的软件更新文件 的测试方法进行详细描述。
实施例一
如图1所示,本发明实施例提供的软件更新文件的测试方法,包括以下步
骤
11 、记录测试人员输入的待测更新版本软件的信息;
12、 根据上述待测更新版本软件的信息,自动生成其对应的期望版本信息 文件;
13、 根据上述待测更新版本软件的信息,自动生成其对应的实际版本信息 文件;
14、 判断上述期望版本信息文件和实际版本信息文件是否一致,并根据判 断结果输出测试结果。
本发明实施例提供的软件更新文件的测试方法,首先记录下待测更新版本 软件的信息,然后自动生成其对应的期望版本信息文件和实际版本信息文件, 并通过对所述期望版本信息文件和实际版本信息文件进行对比,判断出软件更 新安装包中包含的软件更新文件是否完整以及是否存在错误记录的软件更新文 件;本发明实施例提供的软件更新文件的测试方法可避免因人为因素所造成的 bug,而且能够缩短检测软件更新文件完整性和正确性这一过程所耗费的时间。
实施例二
下面通过具体的实施例并结合附图对本发明实施例提供的软件更新文件的 测试方法做进一步详细描述。
在本实施例中,布支设待测更新版本软件的安装测试环境(操作系统、语言 环境)是不变的。如果根据不同的操作系统或者语言环境需要安装不同的更新 文件的话,只需对版本信息文件的路径以及更新文件的路径做一些改动,但整 个流程与本实施例中方法的描述是大致相同的。
如图2所示,本发明实施例提供的软件更新文件的测试方法,包括以下步
骤
21、 测试人员输入待测更新版本软件的信息,包括该待测更新版本软件的 版本ID,该版本的上一版本ID,该版本的更新文件目录、要删除的文件目录, 以及将要安装该待测更新版本软件的测试环境。
22、 根据步骤21中输入的测试环境和上一版本ID,自动从版本信息文件库 获取上一版本的软件对应的版本信息文件。
其中,版本信息文件库是一个用于存放版本信息文件的文件夹。 所述版本信息文件为描述软件版本信息的xml文档,以唯一的软件版本ID 进行标识。以版本Version 1.01.0001为例,其中软件的大版本号是1.0,小版本 号是1.01 ,小版本的build号是0001;假设其上一版本是build号为0000的版本, 则软件当前版本对应的xml文档的描述结构如下所示
< xml version=" 1.0" encoding="gb2312" > <VersionInfo> <BaseInfo>
<VerID> 1.01.0001 </VerID>
<LastVerID>1.01.0000</ LastVerID >
<VerUpdatePath>\\* * *\Version 1 \01 \0001\UpdateFile\</VerUpdatePath >
<VerDeletePath>\\***\Versionl\01\0001\DeleteFile\</VerDeletePath〉
< VerOS> WindowsXP一SP 1 </VerOS>
<VerOSLanguage>English</VerOSLanguage> </BaseInfo> <FilesInfo>
<FileInfo FileName="Bin" Expanded="true">
〈Filelnfo FileName="ServerTool.exe" FileSize="1436KB" FileTime="2008-5-8 13:57" />
</FileInfo>
〈Filelnfo FileName="Config" Expanded="true">
< Filelnfo FileName="Server.ini" FileSize="4KB" FileTime="2008-5-8 13:54" />
</FileInfo>
</FilesInfo> </VersionInfo>
其中,〈LastVerlD〉元素的数据对于软件的初始版本为空,对于软件的更新版本不能为空; 〈VerUpdatePath〉元素是相对于上一版本的更新文件目录,包括增加或者更改的文件; 〈VerDeletePath〉元素是相对于上一版本要删除的文件目录,如果没有要删除的文件,则 其数据可以为空;
〈Filelnfo〉元素中Expand属性为true时FileName属性的数据代表了文件夹,其他属性的 数据则是代表文件夹下的文件信息。
23、 根据步骤21中输入的该版本的更新文件目录和删除文件目录,自动从 软件更新文件库获取对应的版本更新文件和需要删除的文件。
其中,软件更新文件库中包含用于存放版本更新文件的文件夹,以及用于 存放需要删除的文件的文件夹;上述更新文件目录和删除文件目录就是分别指 向这两个文件夹的访问;洛径。
24、 根据步骤23中获取的版本更新文件和需要删除的文件,对步骤22中 获取的版本信息文件进行改写,生成一个新的期望版本信息文件。改写内容包 括版本ID和上一版本ID,版本的更新文件目录、删除文件目录,以及步骤 23中获取的版本更新文件的属性信息(包括文件名、文件大小和文件修改时间)。
假如当前版本的软件相对于上一版本只是更新了 Bin目录下的 ServerTool.exe文件,则改写后的版本信息文件如下
< xml version="1.0" encoding="gb2312" >
<VersionInfo> <BaseInfo>
<VerID> 1.01.0001 </VerID>
<VerUpdatePath>\\* * "Version 1 \01 \0001 \UpdadeFile\</VerUpdatePath >
<VerDeletePath>\\* * *\Version 1 \01 \0001\DeleteFile\</ VerDeletePath >
<LastVerID> 1.01.0000</ LastVerfD >
<VerOS> WindowsXP—SP1 </VerOS>
<VerOSLanguage>English</VerOSLanguage> </BaseInfo> <FilesInfo>
〈Filelnfo FileName="Bin" Expanded="true">
< Filelnfo FileName="ServerTool.exe" FileSize=" 1488KB" FileTime="2008-6-8 14:57" />
</FileInfo>
〈Filelnfo FileName="Config" Expanded="true">
< Filelnfo FileName="Server.ini" FileSize="4KB" FileTime="2008-5-8 13:54" />
</FileInfo>
</FilesInfo> </VersionInfo>
另外,为了防止某一更新文件在多个文件夹中使用而安装后仍存在部分文 件夹遗漏更新的情况,考虑到一般软件中不会有同名不同内容的文件,所以对
每一个更新文件,都要遍历一遍版本信息文件中Fileslnfo元素的所有子节点, 只要文件名相同就更新。而对于要删除的文件,则将xml文档中对应的内容删 除。
假设Config目录也用到了 ServerTool.exe文件,且要删除Config目录下的 Server.ini文件,那么上述xml文档中Fileslnfo元素部分就更新为下面的内容
<FilesInfo>
〈Filelnfo FileName="Bin" Expanded="true">
<FileInfo FileName="ServerTool,exe" FileSize="1488KB" FileTime="2008-6-8 14:57" />
</FileInfo>
〈Filelnfo FileName="Config" Expanded="true">
<FileInfo FileName="ServerTool.exe" FileSize="1488KB" FileTime="2008-6-8 14:57" />
</FileInfo>
</FilesInfo>
25、 自动从测试软件临时目录中获取待测更新版本软件,并自动完成安装。 其中,测试软件临时目录是存放待测更新版本软件的文件夹。
26、 安装完成后,通过注册表获取该版本软件的安装目录,遍历安装目录, 结合步骤21中输入的版本信息,自动生成实际的版本信息文件,文件描述格式
如步骤22中所示的xml文档。
在期望版本信息文件和实际版本信息文件同时具备的时候,即可进行步骤 27。在此之前,生成期望版本信息文件的过程(步骤22~24)和生成实际版本信 息文件的过程(步骤25~26)可以是同时进行,也可以是根据需要先后进行。
27、 将步骤24中生成的期望版本信息文件和步骤26中生成的实际版本信 息文件进行对比,判断期望版本信息文件和实际版本信息文件是否一致。此处 进行比较的仅是xml文档中包含的文件大小和修改时间等信息,并不去检测文 件内容。
如果上述期望版本信息文件和实际版本信息文件一致,则认为步骤25中获 取的待测更新版本软件中软件更新文件完整并且正确,进行步骤28;如果上述 期望版本信息文件和实际版本信息文件不一致,则认为步骤25中获取的待测更 新版本软件中软件更新文件不正确,进行步骤29。
28、 生成软件更新文件正确报告,并将步骤24中生成的期望版本信息文件(或者步骤26中生成的实际版本信息文件)备份到软件版本信息文件库,将经 过测试的软件版本备份到软件安装版本库。该软件安装版本库用于存放已经过 测试的软件版本。
29、生成软件安装结果错误报告,记录上述期望版本信息文件和实际版本 信息文件中不一致的内容。
本发明实施例提供的软件更新文件的测试方法,根据待测更新版本软件的 信息,自动生成其对应的期望版本信息文件和实际版本信息文件,并通过对所 述期望版本信息文件和实际版本信息文件进行对比,判断出软件更新安装包中 包含的软件更新文件是否完整以及是否存在错误记录的软件更新文件;本发明 实施例提供的软件更新文件的测试方法利用xml文档来记录软件的版本信息并 通过期望版本信息和软件安装后得到的实际版本信息进行比对从而达到对软件 更新文件进行自动测试的目的,提高测试效率,降低测试成本和时间。
针对上述软件更新文件的测试方法,本发明实施例还提供了 一种软件更新 文件的测试装置,下面结合附图对本发明实施例提供的软件更新文件的测试装 置进行详细描述。
实施例三
如图3所示,本发明实施例提供的软件更新文件的测试装置,包括记录模 块31、期望文件生成模块32、实际文件生成模块33、判断模块34以及输出模 块35;其中,
记录模块31记录下测试人员输入的待测更新版本软件的信息;然后期望文 件生成模块32和实际文件生成模块33分别根据上述待测更新版本软件的信息, 自动生成与所述待测更新版本软件对应的期望版本信息文件和实际版本信息文 件;之后,通过判断模块34来判断上述期望版本信息文件和实际版本信息文件 是否一致,并由输出模块35根据判断结果输出测试结果。
本发明实施例提供的软件更新文件的测试装置,首先记录下待测更新版本 软件的信息,然后自动生成其对应的期望版本信息文件和实际版本信息文件, 并通过对所述期望版本信息文件和实际版本信息文件进行对比,判断出软件更
新安装包中包含的软件更新文件是否完整以及是否存在错误记录的软件更新文
件;本发明实施例提供的软件更新文件的测试装置可避免因人为因素所造成的 bug,而且能够缩短检测软件更新文件完整性和正确性这一过程所耗费的时间。 实施例四
下面通过具体的实施例并结合附图对本发明实施例提供的软件更新文件的 测试装置做进一步详细描述。
如图4所示,本发明实施例提供的软件更新文件的测试装置,包括记录模 块41、期望文件生成模块42、实际文件生成模块43、判断模块44以及输出模 块45;其中,
记录模块41记录下测试人员输入的待测更新版本软件的信息;然后期望文 件生成模块42和实际文件生成模块43分别根据上述待测更新版本软件的信息, 自动生成与所述待测更新版本软件对应的期望版本信息文件和实际版本信息文 件;之后,通过判断模块44将上述期望版本信息文件和实际版本信息文件进行 对比,判断期望版本信息文件和实际版本信息文件是否 一致;
如果判断^^块44判断上述期望版本信息文件和实际版本信息文件一致,则 由输出模块45生成并输出软件更新文件正确纟艮告,并对所述待测更新版本软件 进行备份;如果判断模块44判断上述期望版本信息文件和实际版本信息文件不 一致,则由输出模块45生成并输出软件更新文件错误报告,并记录下所述期望 版本信息文件和实际版本信息文件之间的差异。
其中,上述期望文件生成模块42又包括
文件获取模块421 ,用于自动获取所述待测更新版本软件的上一版本的版本 信息文件以及要更新的文件和要删除的文件;改写模块422,用于根据所述要更 新的文件和要删除的文件改写所述上一版本的版本信息文件,生成期望版本信 息文件。
上述实际文件生成模块43又包括
软件获取模块431,用于自动获取所述待测更新版本软件;安装模块432, 用于自动安装所述待测更新版本软件;生成模块433,用于结合所述待测更新版 本软件的信息,生成实际版本信息文件。
本发明实施例提供的软件更新文件的测试装置,根据待测更新版本软件的
信息,自动生成其对应的期望版本信息文件和实际版本信息文件,并通过对所 述期望版本信息文件和实际版本信息文件进行对比,判断出软件更新安装包中
包含的软件更新文件是否完整以及是否存在错误记录的软件更新文件;本发明 实施例提供的软件更新文件的测试装置通过对期望版本信息和软件安装后得到 的实际版本信息进行比对从而达到对软件更新文件进行自动测试的目的,可避 免因人为因素所造成的bug,提高测试效率,降低测试成本和时间。
以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围 应所述以权利要求的保护范围为准。
权利要求
1、一种软件更新文件的测试方法,其特征在于,包括:记录待测更新版本软件的信息;自动生成所述待测更新版本软件的期望版本信息文件;自动生成所述待测更新版本软件的实际版本信息文件;判断所述期望版本信息文件和所述实际版本信息文件是否一致,并根据判断结果输出测试结果。
2、 根据权利要求1所述的软件更新文件的测试方法,其特征在于,所述待 测更新版本软件的信息包括该待测更新版本软件的版本号、上一版本号,更 新文件目录和要删除的文件目录,以及安装软件的测试环境。
3、 根据权利要求1所述的软件更新文件的测试方法,其特征在于,所述自 动生成期望版本信息文件的步骤包括自动获取所述待测更新版本软件的上一版本的版本信息文件以及要更新的 文件和要删除的文件;根据所述要更新的文件和要删除的文件改写所述上 一 版本的版本信息文 件,生成期望版本信息文件。
4、 根据权利要求1所述的软件更新文件的测试方法,其特征在于,所述自 动生成实际版本信息文件的步骤包括自动获取所述待测更新版本软件; 自动安装所述待测更新版本软件;结合所述待测更新版本软件的信息,生成实际版本信息文件。
5、 根据权利要求1所述的软件更新文件的测试方法,其特征在于,所述根 据判断结果输出测试结果的步骤包括如果所述期望版本信息文件和实际版本信息文件一致,则生成并输出软件 更新文件正确报告,并对所述待测更新版本软件进行备份;如果所述期望版本信息文件和实际版本信息文件不一致,则生成并输出软 件更新文件错误报告,并记录下所述期望版本信息文件和实际版本信息文件之 间的差异。
6、 一种软件更新文件的测试装置,其特征在于,包括 记录模块,用于记录待测更新版本软件的信息;期望文件生成模块,用于自动生成所述待测更新版本软件的期望版本信息 文件;实际文件生成模块,用于自动生成所述待测更新版本软件的实际版本信息 文件;判断模块,用于判断所述期望版本信息文件和所述实际版本信息文件是否 一致;输出模块,用于根据判断结果输出测试结果。
7、 根据权利要求6所述的软件更新文件的测试装置,其特征在于,所述期 望文件生成模块包括文件获取模块,用于自动获取所述待测更新版本软件的上一版本的版本信 息文件以及要更新的文件和要删除的文件;改写模块,用于根据所述要更新的文件和要删除的文件改写所述上一版本的版本信息文件,生成期望版本信息文件。
8、 根据权利要求6所述的软件更新文件的测试装置,其特征在于,所述实 际文件生成模块包括软件获^a莫块,用于自动获取所述待测更新版本软件; 安装模块,用于自动安装所述待测更新版本软件;生成模块,用于结合所述待测更新版本软件的信息,生成实际版本信息文件。
9、 根据权利要求6所述的软件更新文件的测试装置,其特征在于, 如果所述判断模块判断出所述期望版本信息文件和实际版本信息文件一致,则所述输出模块生成并输出软件更新文件正确报告,并对所述待测更新版 本软件进行备份;如果所述判断模块判断出所述期望版本信息文件和实际版本信息文件不一 致,则所述输出模块生成并输出软件更新文件错误报告,所述软件更新文件错 误报告中包含所述期望版本信息文件和实际版本信息文件之间的差异。
全文摘要
本发明公开了一种软件更新文件的测试方法和装置,涉及软件测试领域,为解决现有技术中对于软件更新文件完整性和正确性的检测无法自动实现的问题而发明。本发明实施例提供的软件更新文件的测试方法,包括记录待测更新版本软件的信息;自动生成所述待测更新版本软件的期望版本信息文件;自动生成所述待测更新版本软件的实际版本信息文件;判断所述期望版本信息文件和所述实际版本信息文件是否一致,并根据判断结果输出测试结果。本发明实施例提供的软件更新文件的测试方法和装置适用于对软件更新文件的完整性和正确性进行自动检测。
文档编号G06F11/36GK101382914SQ200810224090
公开日2009年3月11日 申请日期2008年10月15日 优先权日2008年10月15日
发明者康俊杰, 张秋利, 晖 赵 申请人:北大方正集团有限公司;北京北大方正电子有限公司