Web testing is a way of checking or validating a web application for potential issues before it is deployed into the production environment or made live.
It’s useful to follow a website testing checklist to help log ahead of time everything a tester has to perform to make sure the application is stable and ready to use. Issues such as the web application’s security, proper functioning of the website, and its usability for general users are checked carefully. Here, we are going to provide a solid reckoner that is part knowledge bank, part checklist and part guide.
Functionality Testing
What is Functionality Testing?
- Functionality testing assesses the features and operational behavior of the web app to validate the level that they correspond to the specifications
- The internal mechanism of a system is ignored, to focus solely on the output generated in response to selected inputs
Functional Testing Checklist:
Functional testing is an important part of testing because it ensures that the application is working according to the client’s specifications. To make sure that we find no broken links hidden within the application, we need effective functional requirements, that include the following:
- Click on the links and check whether they take you to the desired page
- Make sure that if we click on any link within the application, you should not arrive at an empty page
- Make sure that all the links are clickable
- Check if the custom 404 page is present if we remove some of the page(s), or at pages which are no longer available in the application
Test that all forms work as intended.
- Look out for acceptance of invalid input
- Optional versus mandatory fields
- Is the input longer than field allows?
- Test all radio buttons
- Do the default values auto-populate on a page load/reload
- Does a scrollbar appear if required?
- Are forms formatted for better readability?
Test that cookies function as expected. Cookies are small files in websites, that at their most basic, are designed to remember active user sessions, so the user doesn’t have to login each time they visit the website.
- What happens if a user deletes their cookies while visiting the site?
- What happens if a user deletes cookies following a site visit?
Test HTML and CSS to ensure that search engine can crawl your website easily.
- Check syntax errors
- Check the color scheme is readable and according to the required standard
Other Scenarios:
- All the mandatory fields should be validated
- An asterisk sign should be displayed for all mandatory fields
- Leap years should be validated correctly (e.g. 28,29 February) so they do not cause a miscalculation
- Test the maximum length of every field so that data is not truncated
- Test all input fields for special characters
- Test for any functionality fail and see if the user is redirected to the custom page (e.g. 404)
Usability Testing
What is Usability Testing?
- Check the user-friendliness of a website to find where improvements can be made
- In usability testing application flow is tested so that user can understand the application easily
The goal of usability testing is to establish the ease of use and effectiveness of the website. Check our beginners guide to Usability Testing.
Usability Testing Checklist:
- Test the website navigation and content.
- Menus, buttons, links to other pages should be easily visible and consistent throughout the application
- Content should be readable and there should be no grammatical or spelling errors
- Images should contain ‘alternative description’ text
- Does the web application convey a clear sense of its intended audience?
- Does the web application have a consistent, clearly recognizable “look-&-feel”?
Other Scenarios:
- Fonts should be the same throughout the application according to the specifications
- Text should be properly aligned throughout the application
- All fields and buttons should be properly aligned and in a standardized format and size
- Fields that have been disabled should be grayed out
- The title should be present on each web page of the application
- All the textboxes, dropdowns, radio buttons and other fields and buttons should be accessible by keyboard shortcuts
- Check the website on different resolutions within the same browser
Interface Testing
In this testing, three particular areas should be tested: Application, Web, and Database Server.
- Application: Test whether the submitted requests are being sent correctly to the database, and that output at the client side is shown correctly. If there are any errors, then they must only be visible to the administrator
- Web Server: Test if the web server is handling all requests without any service denial
- Database Server: All queries sent to the database should show expected results
Most importantly, test the system response for when the connection between the three layers above is not established. An appropriate message should be shown to the end user.
Other Scenarios:
- If plugins are used, can the site still function if they are removed?
- For any linked documents, are they supported and can you still open them all platforms?
- If there are failures or errors in a download, can the system respond suitably to the situation?
- Does the copy and paste functionality work as it should?
- Test if the application gets crashed, is there any recovery mechanism is in place?
- Can we use the site without enabling or allowing plugins?
- If there are documents available or linked within the application, can we download them on the available platforms?
- If there are crashes or failures, can they recover gracefully? What recovery mechanisms are in place?
Cross browser & Compatibility Testing
What is Compatibility Testing?
In this form of testing, we determine whether an application is compatible with other elements of the system. The goal of compatibility testing is to evaluate how well the application performs in a particular browser, operating systems, hardware or software. This ensures that the application under test displays correctly across different platforms.
Compatibility Testing Checklist:
- Test the application on different browsers to check the web pages display correctly. You may also want to check for mobile browser compatibility, and compatibility on Firefox, Chrome, Safari, IE.
- The rendering of elements can be tested by running the application on a number of the various operating systems available. You may check the compatibility on Windows, Linux, Mac etc.
Rather than setting up your own devices / browsers, we do recommend at looking at online cross browser testing tools to aid with this work.
Other Scenarios:
- Test the HTML version is up to date and compatible with different browsers
- Test the images and text appear correctly on various browsers
- Test Animated GIFs and videos across different browsers
Performance Testing
What is Performance Testing?
This kind of testing is performed usually to evaluate the compliance of a system with specified performance requirements as mentioned in the specifications.
Performance Testing Checklist:
- Test the application response time at different connection speeds
- Test the application under load to evaluate the behavior under normal and peak loads
- Stress test the application to determine the breakpoint
Database Testing
A database is one of the important components of any web application and it is important to test it thoroughly.
- Test if any errors shown when executing queries
- Test if data integrity is maintained while performing CRUD operation
- Check response time and fine-tune where necessary
- Test whether the data retrieval is as expected
Before diving into database testing, the following points should be taken into consideration:
- It is important for the tester to understand the functional requirements, business logic, application flow, and database design
- It is important for the tester to figure out and understand the logic of stored procedures, tables, triggers, and views
- It is important for the tester to take care of the ripple effects while performing DML operations
Database Testing Checklist:
- Verify the database name, it should match with the specifications
- Tables, columns, column types, should match the specifications
- Verify the column allows null
- Verify primary and foreign key for the tables
- Verify the stored procedures
- Test the required parameters
- Test the stored procedures by writing simple queries
- Test if the stored procedures return any value
- Verify the data when DML operation is applied
- Verify the encrypted data
- Verify the response time of each query
- Verify the data displayed in the front end, and match it with the back end to compare