Cases Examples/Comments Installation of your App You can use BOM program for checks below Verify a version of each file Should be correct Verify an assembly number of each file Must be kept in sync Verify copyright info for each file Should be correct Verify digital signature, if any Should be correct Verify each file is installed to correct location Check what happens when each file - and each of its dependencies - is missing. OPERATIONS 1. Open file (created in previous version of app) and save (as) in new version format 2. Create file in current version of app and save (as) into old version format 3. Save old files into new version, back to the previous (save (as) in old version file format) and open in new version of app. a. Is it opened correctly? b. Are all new features converted correctly? c. How are embedded objects of previous versions handled? 4. Create file in new version of app and open it in old version a. If document opens, how features added in new version handled? If not, is the resulting error message clear? Open from and Save/Save As 1. Different file system 2. Protocols 1. FAT, NTFS 2. local disk, UNC network share, http:// (see below more examples) Open from and Save/Save As 1. Menu item 2. Toolbar item 3. Hot key (e.g., Control+S for Save) 4. Most Recently Used list 5. Microsoft SharePoint document library 6. Context menu(s) 7. The application’s Most Recently Used list 8. The operating system’s Most Recently Used list 9. Drag-and-drop from the file system explorer 10. Drag-and-drop from your desktop 11. Drag-and-drop from another application 12. Command line 13. Double-click a shortcut on your desktop 14. Double-click a shortcut in an email or other document Embedded object Cause the following to occur during Open, Save, Save As: 1. 2. 3. 4. Drop all network connections Reboot the application Reboot the machine Sleep the machine Hibernate the machine AutoSave 1. Every zero minutes 2. Every minutes 3. Big documents 4. Simulate multiple autosaves simultaneously Close app during AutoSave Save and Save as when 1. No documents are dirty 2. One document is dirty 3. Multiple documents are dirty and the user chooses to save all of them 4. Multiple documents are dirty and the user chooses to save none of them Multiple documents are dirty and the user chooses to save only some of them PATH Root disk C:\ Short path to a file C:\tmp, C:tmp.txt (valid path (!) ) Relative path to a file (always limited to MAX_PATH = 260 symbols) \temp\scripts\ Relative path into subfolder Sub\folder\path Relative path into a current folder .\file.ext ..\parent\file.ext This is the same file (!) Relative path into a parent folder c:\dir\foo\files\secret\..\..\myfile.txt c:\dir\foo\files\..\myfile.txt c:\dir\..\dir\foo\files\..\myfile.txt A deeply nested path (a lot of nested folders) Long\long\long\long\far\far\far\path\path\path\to\to\to\to\file \file\file\you\you\you\must\must\verify Try path is more, less than 260 characters and exactly equal Locations 1. Floppy drive 2. Removable drive a. USB flash drive b. Memory cards c. External hard drive d. DVD-ROM/RW, CD-ROM/RW UNC path 1. Shared folder 1.1 Restricted permissions 1.2 Long path on other machine 2. Administrative access \\machine_name (or IP)\shared \\?\UNC\machine_name(or IP)\shared \\machine_name\d$\tmp \\192.168.1.2\shared \\192.168.1.2\d$\tmp Mapped disk Z:\ = d:\temp\test Y:\ = \\machine_name\d$ X:\ = \\192.168.1.5\shared Use the path with "http://, ftp://, file://, ..." http://google.com Verify persistence of path App keeps the last saved path and uses it next time System variables 1. Standard 2. User-Defined %TEMP% %my_variable% Set file's filter to *.* Try to open unsupported file Set file's filter to *.ext Type full name of the file with another extension (image.jpg) Archived with the password If allowed External Storage Quality Center, SharePoint I18N (name of the file and folder) Persistence of the path App keeps last saved path and use it next time FILE NAME and OPERATIONS The name of the file is short 1. Empty 2. 1 symbol (digit/a-Z/special char) Short file format aka 8.3 format <6chars>~<number>.<extension> Filles~2.txt Existed file Save into (with the same name) Locked file Opened by another application Corrupted file Invalid file name C:\temp\filee.txt (If there is no filee.txt in C:\temp) Bad Data Expected format of a file but with bad data File name with . , <space> 1. Fil.ename.txt 2. File,name.txt 3. Filen ame.txt Character-Encoding Scheme ASCII, Unicode, UTF8, etc Change ASCII to Unicode and open your files, play with different character-encoding scheme. Size of a file 0 Very big file Short name out.txt The name of the file is long 16/32/64/128/256, 260 (MAX), 512... symbols Just filename file.ext Extra-long name 99999 symbols Space in the file name Prog is My! I ne volnuyet The name with different special chars <>:”\/|?* These special chars are not allowed to be in file name (Windows) File name with the specific for OS chars and reserved words Windows : CON, PRN, AUX, CLOCK$, NUL, COM1 – COM9,LPT1 - LPT9 \\?\ \\?\D:\very long path (max is 32767 but each component of path should not b more than 260 symbols) Use GUID instead of volume name \\?\Volume{e2464852-8089-11d2-8803-806d6172696f}\ To identify the GUID of your disks type “mountvol” in command line. Details - http://support.microsoft.com/?kbid=205524 Symlinks 1. Soft (shortcuts) 2. Hard (Junction points) Details. http://support.microsoft.com/?kbid=205524 http://www.howtogeek.com/howto/16226/complete-guide-tosymbolic-links-symlinks-on-windows-or-linux/ PERMISSIONS User's Permissions Administrators, Guests, Users, Power Users Folder\File's Permissions Read Only, Hidden, Normal Files\Folders to which you don’t have an access Files\Folders whose security is set such that you cannot access them