In this internet age, one of the most important and useful ways of sharing information or communicating with the audience or customer is to have a website of the product or service that you want to sell. A website is a collection of web pages that is available to all people globally.
Today, from big brands like General Motors or IKEA to even small businesses have websites. The Internet is accessible to everyone nowadays and as the number of users of the websites grows it is crucial to make sure that the website gives adequate user experience and has top quality.
To accomplish this, companies need to check the developed websites for quality from many angles, and to do this check, in a development life cycle, the ‘Testing’ phase is included. Website testing or web application testing or web app testing is aimed at testing the web app for its functional and non-functional requirements.
Web app testing is slightly different from traditional software testing. Web apps require an internet connection to work and moreover, web apps are accessed on various devices using various web browsers. To test all the possible scenarios and given the various ways the users can access the website, proper methods need to be decided.
In this web application testing tutorial, we will focus on website testing and look at some web application testing types with checklists.
Functional testing helps in testing the functionalities or the functional requirements of the web application. Functional testing can be carried out by focusing on various testing levels as discussed below-
- Unit Testing – The testing process usually begins at the unit testing level. In unit testing, developers test the individual components of the web app. In most of the cases, a unit can be a single web page.
A client web page is a page responsible for user interface and the information that needs to be shown to the user is displayed here, any action that the system wants the user to perform will be performed here.
A server web page is a page responsible for storing data into the database, fetching results on the client page; in other words, it is responsible for implementing business logic. Testing strategies such as black box, white box, and the grey box can be used here.
- Integration Testing – Next level after unit testing is integration testing. In this level of testing, various components or pages of the web app are integrated and tested together by the testing team. To identify the integrated pages, the functional requirements document will have to be referred by the testing team. Out of all the testing strategies, Grey box testing strategy is more appropriate for integration testing.
- System Testing – In the system testing level, the whole application is tested by the testing team. Each functionality and navigation flow of the system is tested. In this level, black box and grey box testing strategies are more appropriate.
- Acceptance Testing – Acceptance testing is the final testing level, the developed application is given to the end-users and/or business users for testing. These testers make sure that the application is easy to use, and all the required features are implemented correctly.
Web Application Functional Testing Checklist
The following are the checklist items for functional testing-
- Check whether the links are working in the desired manner.
- Check whether buttons are working in the desired manner.
- Check whether validations of the fields; including mandatory check, accepted character check, character limit check, error messages.
- Check whether, on the submission of the form, data is stored correctly in the database.
- Check whether form fields are populating default values.
- Check integration between different modules of the system.
In this testing, non-functional requirements such as performance, usability, security, compatibility are tested. Non-functional testing checks ‘how’ the application works, unlike functional testing that checks ‘what’ the application does.
Usability Testing – In this testing, the usability of the application is tested i.e. how easy it is for the end-user. The focus of the usability testing is to check user interface such as the text of the website, messages appearing on the website, fonts, and color used on the site, etc.
Web Application Usability Testing Checklist
The following are the checklist items for usability testing-
- Check whether the content displayed to the users in the application is grammatically correct.
- Check whether the error messages have a uniform and grammatically correct language.
- Check whether the buttons and fields have names that are uniform and meaningful.
- Check whether the font size is as desired throughout the application.
- Check whether the color combination used in the whole website is consistent.
- Check whether the actions that need to be taken by the users are self-explanatory.
- Check whether the fields have proper and easily understandable tooltips and placeholders.
- Check whether disabled and mandatory fields are displayed in a manner that is expected.
- Check whether the drop-down field’s items are displayed correctly.
Performance Testing – In web application performance testing, system performance is tested under specific conditions for various criteria such as response time, scalability, interoperability.
Web Application Performance Testing Checklist
The following are the checklist items for performance testing-
- Check website performance when multiple users are using the application simultaneously.
- Check website performance when multiple users are using a single functionality at the same time.
- Check the response time of the website with different internet connection speeds.
- Check the application performance when the internet connection is switched between two or more networks.
- Check the recovery mechanism of the website after a system crash i.e. the application can save data in the event of a system crash.
Compatibility Testing – In this testing, the website is tested on various hardware and software combinations to see if it works in the desired manner.
Web Application Compatibility Testing Checklist
The following are the checklist items for compatibility testing-
- Check the application on the various operating systems and browsers such as Chrome, Mozilla, Safari for the following scenarios-
- Check the fonts – font-size, font-family, the spacing between the words, etc.
- Check the placement of the fields and text on the screen.
- Check the error messages, tooltips, and placeholders.
Security Testing – In web application security testing, the application’s readiness to fight against unwanted attacks is tested.
Web Application Testing Security Checklist
The following are the checklist items for security testing-
- Check whether the application allows only authorized users to access the restricted functions of the system.
- Check whether the application uses secure protocol i.e. HTTPS. (Especially on the payment, login, registration pages)
- Check whether the application can store confidential data such as passwords, payment information of the user in an encrypted format. Also, check whether the application displays such information in an encrypted format.
- Check whether strong password policies are used.
- Check whether any deactivated user on the platform is not allowed to access the website.
- Check whether the application stands against SQL injections and brute force attacks.
- Check whether the cookies do not store passwords.
- Check whether the session is ended when the user clears the cache.
- Check whether once the session expires, the user is logged out of the application.
- Check whether the user is asked to log in again when the session is expired.
Website testing is one of the most common tasks that come under the roles and responsibilities of a Software Tester. I hope with this tutorial on web application testing, you should be able to understand the intricacies of web testing and identify any issues in the web application before it is available to the end-users.
Kuldeep is the founder and lead author of ArtOfTesting. He is skilled in test automation, performance testing, big data, and CI-CD. He brings his decade of experience to his current role where he is dedicated to educating the QA professionals. You can find him on LinkedIn.