This is a list of manual tests I perform every time I test Drupal 6.x core. I figure this is maybe a good start for things that we should have unit tests for. If nothing else, it provides a checklist for people who make changes to other modules of things to try to ensure they still work. Please feel free to add to this list!
Common things to check for:
- Visible errors (notices, warnings, etc.)
- Broken functionality
- "White screens of death (WSOD)" - Basically a completely blank screen when you go to a page.
- Regressions (when something used to work in a previous version of Drupal and no longer does)
- Broken links
- Incomplete or unclear help text/descriptions
- Typos in text, comments or code.
Path | Test description | Pass | Fail | N/A |
---|---|---|---|---|
INSTALLER | ||||
install.php | Attempt installation of a different profile than 'default'. | |||
install.php?profile=X | Attempt non-English installation. | |||
profile=X&locale=X | Leave fields blank, submit. Should provide errors about missing fields. | |||
profile=X&locale=X | Put in invalid database credentials. Should provide errors about not being able to connect. | |||
profile=X&locale=X | Enter invalid e-mail addresses for first user and site. | |||
profile=X&locale=X | Enter non-matching passwords. | |||
profile=X&locale=X | Test Configure Site page without JavaScript. | |||
profile=X&locale=X | Test installation with table prefixes. | |||
profile=X&locale=X | Test installation on shared hosting server. | |||
profile=X&locale=X | Test installation with mysqli rather than mysql. | |||
profile=X&locale=X | Test installation with non-standard database like pgsql. | |||
profile=X&locale=X | Remove settings.php and install Drupal over an existing Drupal installation. | |||
profile=X&locale=X | Try pointing at an existing, non-Drupal database containing tables like 'users'. | |||
MODULE SYSTEM | ||||
admin/build/modules | Enable all core modules (Web developer toolbar - Forms > Populate form fields). | |||
admin/build/modules | Attempt to enable a module with non-enabled dependencies, for example by disabling comment and enabling forum. | |||
admin/build/modules | Disable and uninstall a module, such as aggregator. | |||
NODE SYSTEM | ||||
node/add/story | Create a simple "story" post. | |||
node/add/story | Test Preview. | |||
node/add/story | Test Submit. | |||
node/#/edit | Test Edit. | |||
node/#/edit | Test Delete. | |||
node/#/edit | Test teasers. | |||
node/#/edit | Create a new revision. Enter a log message and ensure that it shows up @ node/#/revisions | |||
node/#/revisions | Revert to a previous revision. | |||
node/#/revisions | Delete a revision. | |||
USER SYSTEM | ||||
user/register | Register a new user. | |||
user/login | Login. | |||
user/password | Reset password. | |||
user/#/edit | Save user profile. | |||
user/#/edit | Delete user. | |||
user | As logged-in user, confirm you are taken to your user profile. | |||
user | As anonymous user, confirm you are taken to the login form. | |||
ACTIONS MODULE | ||||
admin/build/actions/assign/node | Assign an action. | |||
admin/build/actions/assign/node | Remove an assigned action. | |||
admin/build/actions/assign/node | Attempt to assign the same action twice. | |||
admin/build/actions/manage | Configure an advanced action. | |||
admin/build/actions/config/# | Edit advanced action. | |||
admin/build/actions/delete/# | Delete an advanced action. | |||
[various] | Comfirm simple action takes place when it should. | |||
[various] | Comfirm advanced action takes place when (and how) it should. | |||
COMMENT MODULE | ||||
node/# | Preview a comment. | |||
node/# | Submit a comment. | |||
node/# | Edit a comment. | |||
node/# | Delete a comment. | |||
node/# | Reply to a comment. | |||
node/# | Delete a comment with sub-replies. | |||
FORUM MODULE | ||||
admin/content/forum/add/container | Add a forum container. | |||
admin/content/forum/add/forum | Add a forum. | |||
admin/content/taxonomy/edit/vocabulary/# | Edit the forum vocabulary. | |||
node/add/forum | Create a new forum topic. | |||
node/add/forum | Attempt to add a forum topic to a container, rather than a forum (this should not work). | |||
node/#/edit | Move a forum topic from one forum to another. | |||
node/#/edit | Move a forum topic from one forum to another, leaving a shadow copy (confirm existence of shadow copy). | |||
MENU MODULE | ||||
admin/build/menu-customize/navigation | Enable a disabled item. | |||
admin/build/menu-customize/navigation | Disable an enabled item. | |||
admin/build/menu-customize/navigation | Reset a changed item. | |||
admin/build/menu-customize/navigation/add | Add a menu item. | |||
admin/build/menu-customize/navigation | Edit a menu item. | |||
admin/build/menu/add | Add a menu. | |||
admin/build/menu-customize/X/edit | Edit a menu. | |||
admin/build/menu-customize/X/edit | Delete a menu. | |||
admin/build/menu-customize/navigation/add | Enter an invalid path. | |||
TAXONOMY MODULE | ||||
admin/content/taxonomy | Create a vocabulary. | |||
admin/content/taxonomy | Edit a vocabulary. | |||
admin/content/taxonomy | Delete a vocabulary. | |||
admin/content/taxonomy | Delete a vocabulary. | |||
node/add/X | Confirm that drop-down shows for one of vocabulary's enabled content types. | |||
node/add/X | Confirm that drop-down doesn't show for one of vocabulary's disabled content types. | |||
UPLOAD MODULE | ||||
node/add/story | Attach a simple text file. | |||
node/add/story | Test that file appears on Preview. | |||
node/add/story | Test that file appears on Submit. | |||
node/add/story | Uncheck "List" on a file and confirm that it doesn't show on the node when viewed. | |||
node/add/story | Delete a file. | |||
node/add/story | Attempt to upload an insanely large file, like a video file. | |||
node/add/story | Click "Attach" without having browsed for a file. | |||
node/add/story | Upload file without JavaScript enabled. | |||
admin/settings/uploads | Try changing the maximum resolution and confirm it works (non-user 1 only). | |||
admin/settings/uploads | Try changing the allowed files filter and confirm it correctly blocks files (non-user 1 only). | |||
admin/settings/uploads | Try changing the upload limit and confirm it works (non-user 1 only). | |||
JAVASCRIPT | ||||
node/add/story | Check if collapsing/expanding fieldsets work. | |||
node/add/story | Check if the autocomplete form fields (e.g. "Authored by") work. | |||
node/add/story | Check if the teaser splitter works. | |||
node/#/outline | With book.module enabled: Check if the parent selector works. | |||
node/add/story | With upload.module enabled: Test attaching a new file. | |||
any | Check if logging in with OpenID works. | |||
admin/content/node | Check if a row gets highlighted when selected. Check if you can select multiple rows with shift+click. Check if you can select all rows by clicking at the checkbox in the table header. |
|||
admin/user/access | Scroll down the page. The table header should keep floating at the top of the viewport. | |||
admin/build/themes/settings/garland | Check if the color picker works. | |||
admin/user/user/create | Check if the password strength indicator and password match indicator works. | |||
admin/settings/clean-urls | See if it detects clean urls. | |||
admin/build/menu-customize/navigation | Test drag & drop behavior for a complex menu. | |||
admin/build/block | Move blocks by drag and drop. Check with drop down menus too. | |||
admin/content/taxonomy/# | Drag & drop hierarchy of terms within a vocabulary. This tests taxonomy.js |