假设在测试期间,您希望测试软件如何处理“损坏”文件。
我有两个问题:
1。一般来说,如何定义“损坏”文件?换句话说,什么构成了腐败文件?
举个例子:
假设您需要测试“损坏的”.pdf文件。
一个建议是简单地获取.zip文件,更改扩展名,并使用它进行测试。但是,我认为你没有测试程序如何处理“损坏的.pdf文件”,而是测试它如何处理.zip文件。
另一个建议是打开文件并插入/删除随机字节。这个建议没问题,但有一些问题:
2。一旦定义了损坏的文件,您将如何创建一个?
这是我到目前为止所想的:
“损坏的文件”是一个正确符合文件格式规范的文件,但其中包含本身存在缺陷的数据/字节。
我能想到的唯一例子是你是否以某种方式更改了文件的编码。 然后,您可以将此方法应用于任意格式的文件。
感谢阅读。
答案 0 :(得分:4)
文件格式由两件事来定义。 1.文件的扩展名 - 应告诉操作系统文件的格式。 2.文档的 MimeType 。许多文档都有错误的扩展名(.avi .jpg),但实际上mime类型告诉了它们是什么。
如何破坏文件?你不能只是添加随机字节或smthing(例如.txt文件不会被破坏)
实际上你需要做两件事。
首先 - 您更改文件的mime类型,然后您可以添加一些随机字节。如果myme类型与扩展名不同(不相似) - 例如.avi文件的“text / html”,则该程序无法识别此类mime类型的文件。
然而,对于不同的测试情况,可能有必要创建损坏文件的不同“版本”。
希望它有所帮助。
答案 1 :(得分:2)
另一个建议是打开文件并插入/删除随机字节。
这就是我一般的做法。虽然我理解您上面提到的问题,但如果文件本机应用程序无法读取,我认为该文件已损坏。
例如,xls不会在Excel中打开,docx也不会在Word中打开等。
答案 2 :(得分:2)
轻松,取消下载文件(可能是rar文件)。我以这种方式得到了大部分腐败。
答案 3 :(得分:1)
我使用linux head和tail命令拆分文件,然后将它们与缺少的或额外的字节一起捕回。
答案 4 :(得分:1)
我建议使用不完整的文件进行测试 - 这是通过中断下载创建最多损坏文件的方式。