20、更改文件访问权限
20.1 缺陷产生原因
在操作系统中,可以设置不同用户对不同的文件具有不同的访问权限(如读写、只读等)。程序员必须在访问文件的函数中考虑文件的访问权限,例如在每个文件写入之前检查文件的访问权限。如果没有进行检查,就会导致程序出错。另外,如果文件访问失败,程序员必须要有正确的错误的代码,以保证程序可以正确捕获所产生的错误。
20.2 如何发现这类问题
◆ 打开两个应用程序,关闭同一个文件。例如,把同一个应用程序的不同版本安装在同一机器上,在不同版本的应用程序中打开和关闭同一文件,或试着在某个应用程序中打开在另一个程序中已打开的文件,这可能导致文件访问权限的冲突。
◆ 打开一个文件,在操作系统中修改文件的访问权限。有些操作系统允许权限高的用户控制一般用户已经打开的文件。
20.3 测试方法小结
◆ 应用场合:需要对文件进行读写操作的应用程序。
◆ 测试方法:修改文件访问权限或使用低权限的用户访问文件。
◆ 测试知识储备:全面掌握被测软件的需求,了解读写文件所需的权限。
---------------------------------------------------------------------------------------------------
21、文件内容受损
21.1 缺陷产生原因
开发人员编写代码来读取和写入文件,他们也编写代码来调用系统API得到文件指针,并打开和关闭文件。由于某些原因,这些系统API会失败或传回异常返回值。如果开发人员没有编写代码来验证传回的预期返回值,则应用程序会由于无法处理异常而失败。
21.2 如何发现这类问题
◆ 手工损坏文件。从应用程序已创建的某个完整文件开始对其进行编辑,改变文件格式和内容。
◆ 使用测试工具。模拟CRC(循环冗余校验)错误,或强制文件API返回无效的返回码。
21.3 测试方法小结
◆ 应用场合:需要对文件格式和内容进行校验的应用程序。
◆ 测试方法:手工损坏文件或利用测试工具模拟CRC错误。
◆ 测试知识储备:全面掌握被测软件的需求,了解文件读写需要的权限。
相关链接: