给定 gzip 规范的实现,如何测试它是否根据规范进行压缩,即有效的 gzip 文件?
我的单一测试压缩输入然后解压缩,将输入与解压缩的输出进行比较。我认为这不足以保证它满足规范。
任何人都知道测试 gzip 压缩功能的有效策略吗?
您可以针对另一个实现测试您的实现,例如命令行gzip
工具:
gunzip
并与原始数据进行比较gzip
,然后用你的实现解压缩并比较只需使用zlib的 inflate 来测试输出。出于安全原因,inflate 非常小心地拒绝无效的 deflate 数据。
但是请注意,这只会测试您通过它运行的流。您需要制定许多测试,以确保您运用了平减指数可以产生的所有可能类型的输出。