
Web app testing checklist
In this checklist, we will consider only the general characteristics of web testing. Naturally, in the application under test there may be functionality for which you need to apply a separate approach and create separate scenarios. The same is true for performance, usability, security, and other testing that your application needs. The checklist for testing WEB applications consists of six sections:
- Functional testing
- Integration testing
- Security Testing
- Localization and globalization testing
- Usability Testing
- Cross platform testing
Functional testing
At this point, it is important for us to make sure that our product meets the desired functional specification mentioned in the development documentation.
What are we checking?
Form testing
1.1 Registration
- The user with the data exists in the system.
- The user with the data does not exist in the system.
- A user blocked in the system cannot re-register.
1.2 Authorization
- The user exists in the system with the entered login and password.
- The user with the entered login does not exist in the system.
- The user with the entered login exists in the system, but the password is incorrect.
- The user with the entered login and password exists in the system, but is blocked by moderation (the page is frozen).
- Validation of input fields.
1.3 Test validation of all required fields
- Maximum and minimum length.
- Range of valid characters, special characters.
- Mandatory to fill.
- Make sure that the asterisk (asterisk sign) is displayed for all required fields.
- Make sure that the system does not display an error window with empty optional fields.
1.4 Feedback Forms
1.5 Links to user agreements
Search
2.1 Results exist/do not exist.
2.2 Correct message about an empty result.
2.3 Empty search term.
2.4 Emoji search.
Fields
3.1 Numeric fields: these must not accept letters, in which case an appropriate error message should be displayed.
3.2 Fractional values, such as how the system validates 1.1 and 1.1.
3.3 Negative values in numeric fields, if allowed.
3.4 Division by zero is handled correctly.
3.5 Test the maximum length of each field to make sure that the data is not truncated or hidden under ellipsis.
3.6 Test all input fields for special characters.
3.7 Check that the text does not go beyond the field boundaries.
Popup messages
4.1 Test popup messages (“This field is limited to N characters”).
4.2 Confirmation messages are displayed for update and delete operations.
4.3 Input error messages.
Filters
5.1 Test sorting functionality (ascending, descending, newest).
5.2 Set filters with issuance.
5.3 Set filters for which there is no issue.
5.4 Filters by categories/subcategories.
5.5 Filters with search radius.
5.6 Data in drop down lists.
5.7 Test the functionality of the available buttons.
5.8 The presence of a favicon.
5.9 Checking the handling of various errors (page not found, timeout, server error, etc.).
5.10 Test that all downloaded documents open correctly.
5.11 The user can download/attach/upload files/media (pictures, videos, etc.). And also remove these files from attachments. Make sure that files go to the server only after pressing the corresponding button
5.12 Test the mail functionality of the system.
5.13 Cache, cookies and sessions
5.14 The user has cleared the browser cache
5.15 See what happens if a user deletes cookies while on the site.
5.16 See what happens if a user deletes cookies after visiting the site.
13.DevTools
13.1 Errors in Console.
13.2 All styles are loaded.
13.3 Pictures are loading.
Integration testing
Integration testing is done to make sure your application is compatible with third party services.
What are we checking?
- We check the work of third-party modules: payment, sharing, cards.
- Advertising (viewing, ad clicks, analytics).
- Metrics (page transitions, element impressions, clicks).
Security testing
This check is aimed at finding flaws and gaps in terms of the security of our application.
What are we checking?
- The user cannot log in: under the old password, blocked in the service, reached the authorization limit, entered someone else’s verification code.
- Pages containing sensitive data (password, credit card and CVC number, answers to security questions, etc.) are opened via HTTPS (SSL).
- The password is hidden by asterisks on the pages: registration, “forgot password”, “change password”.
- Correct display of error messages.
- Ending a session after logout.
- Access to restricted sections of the site.
- SQL injections.
- Cross-Site Scripting (XSS) vulnerabilities.
- HTML injections.
- 10.Cookies must be stored encrypted.
- User roles and access to content.
Localization and globalization testing
Testing the internationalization/globalization of a WEB application involves testing the application for various locations, date formats, numbers, and currencies. Localization testing involves testing a WEB application with localized strings, images, and workflows for a particular region.
What are we checking?
- Date and time. For example, displaying time, date in accordance with the user’s time zone.
- Changing the language and checking the translation of all elements of the WEB application based on the selected language.
- Select phone number with different country codes.
- Determining the user’s location and displaying the corresponding GEO permission.
- Display appropriate currency symbols.
Usability Testing
Usability testing involves testing navigation, content, and other information for the user.
What are we checking?
- No spelling or grammatical errors, all pages have correct titles.
- Alignment of pictures, fonts, texts.
- Informative errors, hints.
- Tooltips exist for all fields.
- Padding between fields, columns, rows and error messages.
- Buttons have a standard size, color.
- There are no broken links or images on the site.
- Inactive fields are displayed in gray.
- Test the site at different screen resolutions.
- 10.The scroll should only appear when it is required.
- Display of checkboxes and radio buttons, the buttons must be accessible from the keyboard, and the user must be able to use the site using only the keyboard.
- Display dropdown lists.
- Long text is hidden under ellipsis.
- Correct date selection.
- The presence of placeholders in the fields.
- The logo leads to the main page of the site.
- Transitions and navigation between pages and menu sections.
Cross platform testing
Cross-platform testing is done to make sure your app is compatible with other browsers, different skins, device hardware.
What are we checking?
- Testing in various browsers (Firefox, Chrome, Safari – this is the minimum set): animation, layout, fonts, notifications, etc.
- Testing in various OS versions: Windows, Mac, Linux.
- Java Script code works in different browsers.
- View on mobile devices.