Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function gzip压缩功能的单一测试?_Function_Testing_Gzip - Fatal编程技术网

Function gzip压缩功能的单一测试?

Function gzip压缩功能的单一测试?,function,testing,gzip,Function,Testing,Gzip,给定gzip规范的一个实现,如何测试它是否根据规范进行压缩,即是否是有效的gzip文件 我的单一测试压缩一个输入,然后解压缩它,将输入与解压缩的输出进行比较。我认为这不足以保证它符合规格 有人知道测试gzip压缩功能的有效策略吗?您可以使用另一个实现来测试您的实现,例如命令行gzip工具: 使用实现压缩一些数据,然后使用gunzip解压结果,并与原始结果进行比较 反之亦然,使用gzip压缩一些数据,然后使用您的实现解压缩并比较 只需使用的充气测试输出。出于安全原因,充气非常小心地拒绝无效的放气

给定gzip规范的一个实现,如何测试它是否根据规范进行压缩,即是否是有效的gzip文件

我的单一测试压缩一个输入,然后解压缩它,将输入与解压缩的输出进行比较。我认为这不足以保证它符合规格


有人知道测试gzip压缩功能的有效策略吗?

您可以使用另一个实现来测试您的实现,例如命令行
gzip
工具:

  • 使用实现压缩一些数据,然后使用
    gunzip
    解压结果,并与原始结果进行比较
  • 反之亦然,使用
    gzip
    压缩一些数据,然后使用您的实现解压缩并比较
只需使用的充气测试输出。出于安全原因,充气非常小心地拒绝无效的放气数据


但是请注意,这将只测试您在其中运行的流。您需要精心设计许多测试,以确保您使用了平减指数可以产生的所有可能类型的输出。

将输出与另一个已知良好的实现进行比较。您能否预计算校验和,然后测试压缩测试文件的校验和和和预计算值是否正确match@OliCharlesworth我想了想,但是如果另一个实现有缺陷,那么我的测试就不好了(我知道你说的是“已知良好”,但我在寻找另一个实现中不依赖的东西)@dmd_anfini:你真的没有任何选择。你的参考一定来自某个地方。我曾考虑根据规范测试文件格式,但由于zlib实现是由格式的创建者完成的,我想依靠它是可以的。谢谢