While there are many different ways to classify software testing, one common approach is to divide it into three categories:
- Functional Testing: This category of testing focuses on the functional requirements of the software. It involves testing the software to ensure that it performs as intended and meets the functional requirements specified by the stakeholders. Functional testing can be further classified into sub-categories such as Unit Testing, Integration Testing, System Testing, Acceptance Testing, and User Acceptance Testing.
- Non-functional Testing: This category of testing focuses on the non-functional aspects of the software, such as performance, security, usability, and compatibility. It involves testing the software to ensure that it meets the non-functional requirements specified by the stakeholders. Non-functional testing can be further classified into sub-categories such as Performance Testing, Security Testing, Usability Testing, and Compatibility Testing.
- Maintenance Testing: This category of testing focuses on ensuring that the software remains stable and performs as expected after changes have been made to it. Maintenance testing involves testing the software after updates or modifications to ensure that the existing functionality has not been affected. It can be further classified into sub-categories such as Regression Testing, Smoke Testing, and Sanity Testing.
Functional Testing
- Unit Testing
- Integration Testing
- Smoke Testing
- UAT ( User Acceptance Testing)
- Localization Testing
- Globalization Testing
- Interoperability Testing
Non-Functional Testing
- Performance Testing
- Endurance Testing
- Load Testing
- Volume Testing
- Scalability Testing
- Usability Testing
Maintenance
- Regression
- Maintenance