In this tutorial, we will learn about different Software Testing types. Software testing is classified into many types. Broadly it can be classified into:
- Black-box testing
- White-box testing
Black box testing is testing the application program without the knowledge of the internal details of the application code, design, etc.
White box testing is an approach that checks the inner functioning of the software application.
Types of Software Testing
The main types of software testing are as follows:
• Unit Testing
• Integration Testing
• Functional Testing
• System Testing
• Stress Testing
• Performance Testing
• Usability Testing
• Acceptance Testing
• Regression Testing
Unit testing is the testing of an individual unit or group of related units. It falls under white box testing. Unit testing is often done by the developer to test that the unit under test implemented is producing the expected output against the given input. Unit Testing falls under white box testing.
Integration testing is testing in which a group of modules or components are combined and tested together. The interaction between the components is tested in integration testing. Integration testing can be white and black box testing.
Functional testing is the testing to ensure that the specified functionality required in the system requirements works as expected. Functional testing can be white and black box testing.
System testing is the testing to ensure that the whole system is working as expected as defined in the system requirements. The application software is installed under different environments as is tested. System testing is done with full system implementation and environment. It falls under black box testing.
Stress testing is the testing to evaluate how the system behaves under unfavorable conditions. Testing is conducted beyond the limits of the specifications. It falls under black box testing.
Performance testing is the testing to access the speed and effectiveness of the system and to make sure it is generating results within a specified time as in performance requirements. It falls under black box testing.
Usability testing is performed to evaluate how usable the software is. The main aim is to check if the user interface of the application(GUI) is user-friendly or not. Usability testing falls under black box testing.
Acceptance testing is often done by the customer to ensure that the delivered product meets the requirements and works as the customer expected. If falls under black box testing.
Regression testing is the testing after modification of the system, component, or a group of related units to ensure that the modification is working correctly and is not imposing side effects on other modules or producing unexpected results.