There’s a great quote from James Whittaker that says, ”A tester is a translator between the developer and the customer.” In today’s digital and competitive world, the Internet is an integral and crucial part of doing business. Whenever we need information, we look it up online. Hence, websites play an important role in day-to-day business activities.
It’s not enough to just host a website. It needs to be developed in a user-friendly way that is accessible to all, which requires it to be thoroughly tested through Web App Testing.
What is Web App Testing?
Web applications are a type of software application accessible via a web browser, which can perform a set of tasks that are also customizable. As for web pages, they’re developed in CSS, JavaScript, HTML, and other technologies.
The web app testing process is a set of standards and best practices used to prepare these applications for customer use. Web app testing covers security, compatibility, performance, functionality, usability, as well as globalization, and localization.
Why Web App Testing Is Important
Web app testing has a significant role in the Software Development Life Cycle due to its ability to:
Minimize defects and make websites user-friendly.
Allow for effective and frequent use.
Ensure the web application is secured.
Ensure compatibility with different platforms, browsers, and operating systems.
Store data (databases should be tested to ensure security).
Ensure efficacy at high user volumes.
Ensure the application meets host country standards.
Web App Testing Checklist
The best way to ensure that the process of web app testing runs smoothly, teams should include checklists of what requires verification along the way. Below are some suggestions of what to consider when revising.
Security Testing
The following checklist covers many of the critical aspects of security testing that require verification:
The web page containing important data like passwords, credit card numbers, and secret answers for security questions is submitted via HTTPS (SSL).
Passwords are displayed in an encrypted format.
The user is unable to login with the old password once the password is reset.
SQL Injections.
Cookie information is stored in encrypted form.
The web app can withstand a brute-force attack.
Compatibility Testing
Compatibility Testing helps us test whether the application works with other browsers, operating systems, and hardware.
Compatibility Testing can ensure:
The web application is displaying properly in all major browsers.
HTML version is compatible with all the appropriate browsers.
Images, web elements, and animated GIFs are displayed properly in different browsers.
Functionality is working as expected on all relevant platforms.
Performance Testing
Performance testing verifies the compliance of a system with the specified or desired number of users and performance requirements.
Performance Testing can:
Ensure the application’s performance under different load conditions.
Verify the app’s stability and scalability.
Test the bottlenecks of the web app’s infrastructure.
Test the response time of the application for different functionalities.
Test the hardware and software to handle the desired load and volumes .
Functionality Testing
Functional testing ensures that each application feature meets the software requirements, such as:
Testing all mandatory fields and indicating them with an asterisk(*) symbol.
Ensuring that validation and error messages are displayed properly.
Ensuring the Tooltips text is meaningful.
Ensuring placeholders are displayed correctly.
Ensuring that dropdowns are displayed with the first entry as ‘Select’.
Ensuring that currency fields are displayed with appropriate currency symbols.
Testing each text field for special characters.
Testing maximum and minimum values for numerical value text fields.
Usability Testing
Usability testing examines the user-friendliness of the application and system navigation.
Some examples of Usability Testing can include:
Checking all pages for spelling or grammatical errors.
Standardizing font size on each web page.
Standardizing all the buttons and associated text.
Ensuring that disabled fields are grayed out and that there are no broken links and images.
Testing the web pages in different resolutions.
Globalization and Localization Testing
Globalization testing ensures the web application meets host country standards. There are two types of globalization testing: Internationalization Testing (118N testing) and Localization Testing ( L10N testing).
Globalization Testing can include ensuring:
Language vocabulary is based on each supported language.
Date and time notation.
Currency formats.
Telephone numbers and pin codes are displayed in the correct format.
Website Test Cases
As any website will include a header, body, and footer, below are some common test cases.
Header Testing
The header plays a very important role as it contains major functionality. Testing the header can make sure that:
The header section is displayed on the web application.
The logo of the web application is correct.
The header is standardized.
Header links work as expected.
Users are directed to the home page when clicking the logo.
The search bar is included on the header menu.
The header and body sections are distinct.
Important events are logged in log files.
Error messages do not reveal any sensitive information.
The window size is adjustable.
Body Testing
Testing the body ensures:
The content is correct.
All the links are working.
Crashes or unavailable pages are redirected to the error page.
Numeric input fields with character input values.
Proper validation messages are displayed.
Downloadable files are pointing to the correct file paths.
The default window and child window sizes are correct.
Scroll bar functionality for parent and child windows.
The correct data is saved in the database once the page is submitted successfully.
Tests for SQL Injection attacks.
Secure pages use HTTPS protocol.
Footer Testing
Leaving room for footer testing should be included as it ensures:
The section is aligned at the end of the web page.
The section is standardized across all web pages.
Logos are displayed and aligned on the footer.
All social links with icons to the footer.
Correct spelling on the footer section.
All links are correct.
Whether a “subscribe” button/field is included.
Confirmation messages.
Correct copyright information and icons.
In Summary
Any web application should be comprehensively and thoroughly tested. The previous checklists are common for any web application. However, to identify the bottlenecks, it’s important to do web application testing under real user conditions. It’s critical to understand the web application and user requirements to derive the test cases, keeping in mind performance, security, compatibility, globalization, and functionality testing.
Sri Priya P. Kulkarni is a test engineer with a focus on the full system development life cycle. Certified in ISTQB, Scrum, and Six Sigma, she currently works at American Express in Bengaluru, creating test cases, executing tests, and reporting defects. She often shares on her LinkedIn and website.