Common tests to be included in test plans
Keep the following common tests in mind while creating test plans for new projects. Note that each project may have different requirements/expected behavior for each of these tests, and some of tests may not be applicable.
Registration
- Test all variety of validation errors.
- Attempt to register using an email address, username, etc. that is already registered.
- Attempt to register an account without adhering to all required password elements (test each element individually).
- Attempt to confirm accounts/email addresses via confirmation emails a second time.
- Attempt to log into an account that hasn't been confirmed.
- Verify the user progresses to the correct screen/page after account creation.
Login
- Test all variety of validation errors.
- Attempt to login with an unregistered email address.
- Attempt to login with a registered email address and incorrect password.
- Attempt to login with a registered email address and the correct password.
- Test any "remember me" or "stay logged in" functionality.
- Test any failed login lock-out functionality (IE - 10 failed attempts locks a user out for 10 minutes).
- Verify the user progresses to the correct page/screen after logging in (whether that's the same screen or based on the user's location during login).
- Test Forgot Password functionality:
- Test all variety of validation errors.
- Attempt to complete the forgot password process with an unregistered email address.
- Attempt to reset the password with an invalid password.
- Attempt to reset the password with non-matching passwords (where the user must enter the new password twice).
- Attempt to use the password reset email/link a second time.
- After changing the password, attempt to login with the old password.
- After changing the password, verify that the new password functions.
Navigation
- Navigate to every page/screen from every page/screen possible.
Forms
- Test all variety of validation errors, including missing fields, and fields with format guidelines (IE - Email addresses, phone numbers, etc.).
- Verify that validation errors are informative.
- Verify that page/screen layout is maintained after validation errors appear.
- Where appropriate, make sure the user is able to select and deselect menu items.
- Enter uncommon characters into text fields.
- Enter code snippets (html tags, etc.) into text fields.
Searches
- Special characters
- Multiple words
- HTML/Code tags
- Queries with no results
- Queries with numerous/multipage results
- Exact word matching
- Other and partial word matching
Image/File uploads
- Test any size/file type restrictions.
Languages
- View each page/screen in all supported languages, verifying that changing word lengths/supported characters don't create layout issues.
Mobile Apps
- Minimize and re-open the app on each screen.
- View each screen with the device held in both portrait and landscape orientation.
- Test each screen/major piece of functionality without network connection.
- Test camera functionality without camera permissions.
- Test image gallery functionality without gallery/camera roll permissions.
- Test push notifications without push notification permissions.
- Test location service functionality without location permissions.
Websites
- Navigate to and from each page via the browser's back button.
- Refresh each page via the browser's refresh button.
- View pages on different monitor/window sizes.
- Verify that each page has the appropriate favicon.
iOS
- Make sure the app adheres to Apple's [App Store Review Guidelines] (https://developer.apple.com/app-store/review/guidelines/).
Android
- Make sure the app adheres to Google's [Google Play Policy Center] (https://play.google.com/about/developer-content-policy.html?rd=1).
- Make sure the app adheres to Google's [Core App Quality Guidelines] (http://developer.android.com/distribute/essentials/quality/core.html).
- Test the device's back button on all screens.