How do I test the copy command in the windows environment?
What would be some 开发者_如何学运维of the test cases involved int testing the copy command in windows environment ?
Holy geez! There are likely MILLIONS of test cases that are both legitimate and unique for the "copy" command. Your best approach is to come up with different domains of inputs and scenarios. Here's the domains I came up with a a handful of scenarios for each classification. Then the fun begins when you start doing testing across different the different domains (e.g. copy from a read-only set of file by wildcard to a network share)
By no means is this an exhaustive list of domains or test scenarios. But should get you started... In the majority of cases, the test should involve comparing the source and destination files to validate the contents match.
Copying between:
network share
A really slow network share across the Internet
partitions
disks
disks of different types (flash, usb, external sata, SSD, etc...)
directories
within the same directory
Naming
Normal file name
Filename that exceeds 8.3 (verylongfilename.whatever)
Copying a very long file name, but referencing it by it's 8.3 name (copy verylo~1.wha d:\)
A full directory path that exeeds MAX_PATH (260) characters (e.g. c:\a\very\long\directory\name\that\goes\on\forever\in\length......foo.txt)
By absolute addressing (\\?\\c:\foo\foo.txt)
wildcards (e.g. *.* *.txt foo?.txt )
A filename with unicode characters
A filename with illegal characters in it (there are creative ways to get these files on disk)
Attributes
Testing with different file attributes (read-only, hidden, system, archive, etc...)
Validate timestamp is preserved across copies
Validate timestamp is preserved across network file share copies when the destination machine is in another timezone
NTFS ACLs are preserved
Addressing types
reference by absolute path (e.g. copy c:\some\directory\foo.txt c:\other\place\foo.txt)
reference by relative path (e.g. copy ..\..\documents\whatever\foo.txt subdirectory/foo.txt)
By absolute drive letter into current working directoroy of destination (with no path (e.g. copy foo.txt d:)
Network share mounted to a drive letter
Failure cases, edge cases, and hack attacks
Try to copy a file onto itself (e.g copy c:\foo.txt c:\foo.txt)
Copy when the network share is down.
Unplug the network cable in the middle of a network file copy
copy to a read only directory
copy when the source file is locked.
copy the when destination file exists but the destination file exists and is read only
Detach the external disk right before the file copy starts
disk is near full (But would be full before the entire copy finishes)
disk is full
Unplug the power cable in the middle of the copy!
During a very long copy, start another copy with the same source file, but to another destination
During a very long copy, start another copy with a different source file, but the the same destination
During a very long copy, start another copy with the same source and destination files!
File types
ascii file
unicode file
binary file
Environments
RAID configurations
FAT and NTFS
Windows XP, Vista, 7, Server 2003, etc... (you can quantify this by asking the requirement of "which OS" up front)
Virtual Machine (VMWare, virtual PC, hypervisor, etc...)
Intel and AMD
精彩评论