Checklist for Website Testing
Website testing is a testing process meant to identify errors in a website. During this phase, website testers evaluate different components of the website and examine each feature, both individually and collectively.
By performing website testing, an organization can make sure that the web-based system is functioning properly and can be accepted by users.
1) Functionality Testing
Functional testing on every functionality takes place by offering proper input. The verification process starts with the help of output appropriately.
The comparison of the results plays a vital role to figure out any possible errors in the testing. This testing mainly involves black box testing, and it is not concerned about the source code of the application.
Types of Functional Testing
Unit Testing – It is usually performed by a developer who writes different code units that could be related or unrelated to achieve a particular functionality. Code coverage is an important part of unit testing where the test cases need to exist to cover line coverage, code path coverage, and method coverage.
Sanity Testing – It is done to ensure that all the major and vital functionalities of the application/system are working correctly. This is generally done after a smoke test.
Smoke testing – It is done after each build is released to test in order to ensure build stability. It is also called build verification testing.
Regression tests – Testing performed to ensure that adding new code, enhancements, fixing of bugs is not breaking the existing functionality or causing any instability and still works according to the specifications.
Integration tests – When the system relies on multiple functional modules that might individually work perfectly, but have to work coherently when clubbed together to achieve an end-to-end scenario, validation of such scenarios is called Integration testing.
Usability testing – The product is exposed to the actual customer in a production-like environment, and they test the product. The user’s comfort is derived from this and the feedback is taken. This is similar to that of User Acceptance testing.
While performing a functional test, you need to pay attention to the below-mentioned checklist;
- Verify emails links
- Identify broken links
- If web forms capture data properly and transmit data consistently
- If the database can perform data processing properly
- Cookie testing
- Double-check the security measures for storing confidential information
2) Performance Testing
When you want to find out how the components of a system are performing under a given situation, performance testing is the way to go. Performance testing is not in any way aimed at finding defects with the application. Performance testing is meant to set the benchmark and standard for the application. The key is to ensure that utmost accuracy is observed during performance testing. Close monitoring is necessary for ensuring the performance of a system or application.
When setting a benchmark, examine elements such as:
- Response time
- Resource usage
Main types of performance tests
- Load Testing
Load testing is the process of putting pressure on software, system, or device to measure its response under an expected load. Load testing shows the behaviour under normal and expected peak conditions. The goal is to ensure a given function, system, or program can handle what it’s designed for
- Stress Testing
Stress testing applies unrealistic load scenarios—to the point of overloading the system till it breaks. The aim is to find out how stable your product is by stretching it beyond its bandwidth capability
- Spike Testing
Testing the system while the workloads are suddenly increased within a short amount of time.
- Endurance Testing
Evaluation of how the software performs with a normal workload over an extended amount of time.
- Scalability Testing
Scalability testing is used to determine if the software is effectively handling gradually increasing workloads.
Open-sourced Tools that can be used for Performance Testing
3) Usability Testing
Usability testing, a non-functional testing technique that is a measure of how easily the system can be used by end-users.
What is actually tested in Usability testing?
- Ease of use: Is the solution straightforward, self-explanatory, and easy to learn?
- Efficiency: Are users able to complete each task with a minimum amount of time or clicks?
- User-friendliness: When a user has trouble figuring out a next action or where to find a feature, does the system offer real-time help? And is this form of assistance itself easy to locate and use?
Usability testing metrics you can use for testing,
- The percentage of the users that were able to complete a given task.
- The percentage of users who encountered errors in the product.
- The percentage of users who encountered a specific error in the product.
- The average time it took for users to complete a given task.
- The average number of screens, clicks, or other steps it took users to complete a task.
4) Compatibility Testing
To check if your website is compatible with different devices, operating systems, applications, etc., you need to open and use the website on different browsers, operating systems, and screen resolutions.
You can test on IOS, Android, Windows, macOS, Ubuntu environments, and on multiple devices to see how your web application performs.
Test web applications on different browsers like Internet Explorer, Firefox, Chrome, Safari, Opera browsers with different versions.
5) Security Testing
Security testing is a type of software testing that intends to uncover vulnerabilities of the system and determine that its data and resources are protected from possible intruders.
The testing process helps to improve stability and functionality. The aim of performing Security Testing for every application is to deliver a stable and safe app.
Major Focus Areas in Security Testing:
- Network Security
- System Software Security
- Client-side Application Security
- Server-side Application Security
Different types of Security testing
- Vulnerability Scanning
Vulnerability Testing scans the complete application through automated software. It acts against vulnerable signatures to detect loopholes.
- Security Scanning
During Security Scanning, the scanning process takes place for both applications and networks. The manual or automated scan takes place to detect threats. The threats are further listed, detailed, analyzed, and provided with a fix.
- Penetration Testing
Penetration Testing simulates external hacking. It is an attempt to detect potential downfalls during a threat or seizure. Penetration Testing is a typical attempt to check Loopholes
- Risk Assessment
Risk assessment is merely a type of Security Testing. Risk Assessment recommends measures and controls based on the risk. The risk is classified as Low, Medium, and High.
- Security Auditing or Security Review
Security Audit or Review is a type of Security Testing. Security Audit accounts for every little flaw that comes across inspection of each line of code or design.
- Ethical Hacking
The opposite of Penetration Testing is ethical hacking. Ethical hacking is to detect security flaws while automated software tries to hack the system. The intent is to attack the app from within the application.
- Posture Assessment
The combination of Ethical Hacking, Risk Assessment, and Security Scanning is what Posture Assessment is. It provides the exact picture of how security posture is.
Test scenario for a Security Test
- Try to Log in to an application.
- Give a wrong password or Username (If access is denied, the application is working fine in terms of authentication.)
- Enter the right password and login into the web application.
- Now, logout from the application.
- Go back to the browser.
- If you can still find yourself logged in, the application isn’t secure.
Security testing tools
6) Database Testing
Databases are critical to website operation. For this reason, you need to test the database to make sure your website is functionally sound. The process involves testing different kinds of errors during query execution.
As this is a form of backend testing, database testing involves aspects of the software which are not visible to the user. This includes the flow of information through the app to the database. This includes data mapping and data integrity.