UploadWizard/Test plan

This is the test plan for the Extension:UploadWizard. Wikimedia Foundation is collaborating with Calcey to test this feature. See Extension:UploadWizard/WMF project information for more information.

The test plan is broken down into three parts


 * High priority tests - high-frequency tests
 * Medium priority tests - at least once a cycle
 * Low priority tests - tests that will be run only if there is extra time

Test files
Test files can be found: Depending on whether or not we leave InstantCommons enabled, and how many files are needed, I can provide links to specific files.
 * among recent uploads on flickr under a free license (example)
 * with google images, by selecting "advanced search" and selecting files that can be used commercially and modified (example)

High priority
These tests will be run very frequently. The total of all tests in this section should take an experienced engineer no more than a few hours to run. These tests are prime candidates for automation.

Medium priority
These tests should be run at least once over the course of the release. They are still important, but are much lower priority for automation. It's helpful to provide an estimate for how long this section will take, but there's no strict upper bound on the amount of time this section should take other than the time available in the overall development schedule.

Upload File Type Validation
(Calcey id #1)

Reject Zero-length file

 * 1) Obtain a file of zero length
 * 2) Upload
 * 3) Error message should result; should not be able to proceed to the next step with this upload

Reject Invalid File extensions
(Calcey id #1.1)
 * 1) Obtain a file of extension 'html', 'php', 'exe', or 'dll'
 * 2) Upload
 * 3) Error message should result; should not be able to proceed to the next step with this upload

Reject Invalid File mime type

 * 1) Obtain a Zip archive file. Rename it to have the extension ".jpg"
 * 2) Upload
 * 3) Error message should result; should not be able to proceed to the next step with this upload

Reject file with type / extension mismatch

 * 1) Obtain a file with an accepted extension, but whose content does not match the file. Example: a simple text file with the extension .jpg
 * 2) Upload
 * 3) Error message should result; should not be able to proceed to the next step with this upload

Accept Common Image File Types
(Calcey id #1.2)
 * 1) Upload file of type jpg, png, or gif

Accept Common Audio File Types
(Calcey id #1.3)
 * 1) Upload file of type .oga (Ogg audio)

Accept Common Video File Types
(Calcey id #1.4)
 * 1) Upload file of type .ogv (Ogg video)

Bulk File Upload
(Calcey id #1.5)
 * 1) Upload multiple files at the same time

Mixed Status Bulk Upload

 * 1) Upload multiple files; some that should have expected problems, others that won't. Example; upload 2 JPGs and a ZIP archive which has a ".jpg" extension
 * 2) Upon upload completion, the ZIP archive should show an error, and drop out of the list of files
 * 3) User should be allowed to proceed to the next step(s), but will only see the good uploads

Large File Upload
(Calcey id #1.6)
 * 1) Upload a file larger than 20 MB (probably a video file, but could be a large JPG)

Set Release Rights
(Calcey id #2)

My Own Work Settings
(Calcey id #2.1)

Not My Own Work Settings
(Calcey id #2.2)

Describe File
(Calcey id #3)

Basic information
(Calcey id #3.1)

Other information
(Calcey id #3.2)

Use File
(Calcey id #4)

Access it externally through URL
(Calcey id #4.1)

Insert as Wiki File
(Calcey id #4.2)

Low priority
These tests are still documented, but are only run if time is available. A release should not be held if there isn't time to run these tests. This section will probably start off empty, with some medium priority tests moved down to this section as priorities are set.