11.5 实用案例
在本节中,我们将通过使用Peach测试zip文件减压缩工具Cutezip.exe具体描述Peach的使用。使用Peach工具前必须研究zip文件的格式,并且编写Peach pit文件(xml),这一过程将直接影响到测试的效率和准确性。
11.5.1 Zip文件格式
Zip是一种简单的归档格式,用于存储各种各样的文件。Zip允许包含用不同方法压缩的文件,也可以存储未经过压缩的文件。每个文件独立存储,允许不同的文件在归档时用不同的方法压缩。
目录存储于Zip文件的结尾,描述了Zip中包含哪些文件及这些文件在Zip中的位置,允许Zip访问者在不用读取Zip归档入口的情况下能够装载文件列表。Zip格式使用32位的CRC算法和归档目录结构的二次拷贝提供最大保护,防止数据丢失。Zip文件的标识是通过结构的结尾出现中央目录来标记的,这样可以向其中追加新文件。中央目录存储Zip文件中包含的文件或目录的入库名称列表,以及其它的metadata入口,实际入口数据在zipfile中的位移。
完整的Zip文件由三部分组成:压缩的文件内容源数据、压缩的目录源数据、目录结束标识结构。
1.压缩的文件内容源数据
对于任意一个文件,在Zip中的存储由File header、File data和Data descriptor三个部分组成,组织结构相对简单。
(1)File header:用于标识该文件的开始,具体结构如表11-3所示。
(2)File data:相应压缩文件的源数据。
(3)Data descriptor:用于标识该文件压缩结束,该结构只有在相应的File header中通用标记字段的第3位设为1时才会出现,紧接在压缩文件源数据后。这个数据描述符只用在不能对输出的Zip文件进行检索时使用。例如:在一个不能检索的驱动器(如:磁带机上)上的Zip文件中,如果是磁盘上的Zip文件一般没有这个数据描述符。具体结构如表11-4所示。
2.压缩的目录源数据
对于待压缩的目录而言,每一个子目录对应一个压缩目录源数据,记录该目录的描述信息。压缩包中所有目录源数据连续存储在整个归档包的最后,这样便于向包中追加新的文件。具体结构如表11-5所示。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。