鑑於gzip規範的實現,如何測試它是否按照規範進行壓縮,即有效的gzip文件?gzip壓縮函數的單元測試?
我的單元測試壓縮一個輸入,然後對其進行解壓縮,將輸入與解壓縮的輸出進行比較。我不認爲這足以保證它滿足規範。
任何人都知道測試gzip壓縮函數的有效策略嗎?
鑑於gzip規範的實現,如何測試它是否按照規範進行壓縮,即有效的gzip文件?gzip壓縮函數的單元測試?
我的單元測試壓縮一個輸入,然後對其進行解壓縮,將輸入與解壓縮的輸出進行比較。我不認爲這足以保證它滿足規範。
任何人都知道測試gzip壓縮函數的有效策略嗎?
只需使用zlib的膨脹測試輸出。出於安全原因,充氣非常小心拒絕無效的放氣數據。
但是,請注意,這隻會測試你通過它運行的流。你需要制定很多測試,以確保你能夠運用你的平減指數可能產生的所有可能的輸出。
我正在考慮按照規範測試文件格式,但由於zlib的實現是由格式創建者完成的,所以我想可以依賴它。謝謝! –
您可以在另一個實現中測試您的實現,例如,在命令行gzip
工具:
gunzip
解壓縮的結果與原gzip
壓縮一些數據,然後用你的執行解壓縮和比較
將輸出與另一個已知好的實現進行比較。 –
你可以預先計算校驗和,然後測試壓縮測試文件的校驗和和預計算值是否匹配 – smk
@OliCharlesworth我想過,但如果其他實現有缺陷,那麼我的測試不是很好(我知道你說的'已知好'但Im尋找不依賴於另一個實施的東西) –