Types of software testing
Software Testing is the procedure to execute any program with the aim of finding bugs and errors. We all might know various type of testing type and might have tested in the real world or might have heard and not implemented yet. So, lets discuss about the type of software testing and focus on type of testing most of the software company are implementing.
List of software testing
1. Functional Testing
Functional testing is performed using the functional specification provided by the client and verifies the system against the functional requirements.Manual and automation testing can be carried out to perform these kind of test.
- Unit testing
- Integration testing
- System testing
- White box testing
- Black Box testing
- Sanity testing
- Smoke testing
- Interface testing
- Regression testing
- Beta/Acceptance testing
2. Non-Functional Testing
Non-Functional testing checks the Performance, reliability, scalability and other non-functional aspects of the software system.Various tools can be used to perform these kind of test.
- Performance Testing
- Load Testing
- Volume Testing
- Stress Testing
- Security Testing
- Installation Testing
- Penetration Testing
- Compatibility Testing
- Migration Testing
- Recovery Testing
- Reliability Testing
Lets discuss the type of testing that are commonly used.
1. Alpha testing
The objective of this testing is to identify all possible issues or defects before releasing it into the market or to the user.
Alpha testing is carried out at the end of the software development phase but before the Beta Testing.
2. Beta Testing
Beta testing is performed by the real user or the clients themselves. It can be considered as the User Acceptance testing.Beta version of software is released with certain number of users where they use the product and provide feedback to implement.
Beside client, Acceptance test can be held by third party other than customer, tester or users.
3. Ad-hoc Testing
Ad-hoc testing is an informal way of finding defects and can be performed by anyone in the project.he name itself suggests that this testing is performed on an ad-hoc basis i.e. with no reference to the test case and also without any plan or documentation in place for such type of testing. The objective of this testing is to find the defects and break the application by executing any flow of the application or any random functionality.
4. Unit testing
UNIT TESTING is a level of software testing where individual units/ components of a software are tested. The purpose is to validate that each unit of the software performs as designed. It is performed by Developers themselves using White box testing.
Alpha testing is carried out at the end of the software development phase but before the Beta Testing.
2. Beta Testing
Beta testing is performed by the real user or the clients themselves. It can be considered as the User Acceptance testing.Beta version of software is released with certain number of users where they use the product and provide feedback to implement.
Beside client, Acceptance test can be held by third party other than customer, tester or users.
3. Ad-hoc Testing
Ad-hoc testing is an informal way of finding defects and can be performed by anyone in the project.he name itself suggests that this testing is performed on an ad-hoc basis i.e. with no reference to the test case and also without any plan or documentation in place for such type of testing. The objective of this testing is to find the defects and break the application by executing any flow of the application or any random functionality.
4. Unit testing
UNIT TESTING is a level of software testing where individual units/ components of a software are tested. The purpose is to validate that each unit of the software performs as designed. It is performed by Developers themselves using White box testing.
5. Integration Testing
INTEGRATION TESTING is a level of software testing where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units.
6. Monkey Testing
In software testing, monkey testing is a technique where the user tests the application or system by providing random inputs and checking the behavior, or seeing whether the application or system will crash. Monkey testing is usually implemented as random, automated unit tests.
7. Sanity Testing
Sanity testing is the subset of regression testing and it is performed when we do not have enough time for doing testing.
Sanity testing is the surface level testing where QA engineer verifies that all the menus, functions, commands available in the product and project are working fin
8. Smoke Testing
Smoke Testing is performed after a software build to ascertain that the critical functionalities of the program are working fine. It is executed "before" any detailed functional or regression tests are executed on the software build.
The purpose is to reject a badly broken application, so that the QA team does not waste time installing and testing the software application.
9. Regression Testing
Resting an application as a whole for the modification in any module or functionality is termed as Regression Testing. It is difficult to cover all the system in Regression Testing, so typically automation testing tools are used for these types of testing.
INTEGRATION TESTING is a level of software testing where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units.
6. Monkey Testing
In software testing, monkey testing is a technique where the user tests the application or system by providing random inputs and checking the behavior, or seeing whether the application or system will crash. Monkey testing is usually implemented as random, automated unit tests.
7. Sanity Testing
Sanity testing is the subset of regression testing and it is performed when we do not have enough time for doing testing.
Sanity testing is the surface level testing where QA engineer verifies that all the menus, functions, commands available in the product and project are working fin
8. Smoke Testing
Smoke Testing is performed after a software build to ascertain that the critical functionalities of the program are working fine. It is executed "before" any detailed functional or regression tests are executed on the software build.
The purpose is to reject a badly broken application, so that the QA team does not waste time installing and testing the software application.
9. Regression Testing
Resting an application as a whole for the modification in any module or functionality is termed as Regression Testing. It is difficult to cover all the system in Regression Testing, so typically automation testing tools are used for these types of testing.
10. Load Testing
A load test is type of performance testing which is conducted to understand the behavior of the application under a specific expected load. Load testing is performed to determine a system’s behavior under both normal and at peak conditions.
11. Stress Testing
This testing is done when a system is stressed beyond its specifications in order to check how and when it fails. This is performed under heavy load like putting large number beyond storage capacity, complex database queries, continuous input to the system or database load.

1 Comments
Thank you it was very helpful for me��
ReplyDeletePost a Comment