Software testing is process to evaluate software application for its quality. Process involves validation and verification of inputs with respect to expected outputs and process also assesses different features of software product to ensure quality. In simple words software testing can be said as an activity to find bugs and defects in an application for its successful implementation. Please remember software testing process is done during software development phase.
There are different types of software testing which are practiced by an individual or s
oftware testing company to release software product with quality. I will leave back short details for every testing type:
|
Software Testing Types |
Beta Testing
It is done by end users/ business users to understand quality of software application. After Beta testing, it is decided whether to release the product for commercial purpose or not.
Recovery Testing
In recovery testing software test engineers will check system behaviour after it recovers from crashes and hardware failures.
Alpha Testing
A virtual environment is created during Alpha Testing at the end of development phase. Small design changes can be considered by team as well.
Security Testing
All types of security risks like hacking, login issues etc are tested during security testing.
Comparison Testing
Comparison of weakness and strengths in new version with respect to old version is done during comparison testing.
Compatibility Testing
Different compatibility issues like hardware compatibility, operating system compatibility issues etc are taken into consideration during compatibility testing.
Usability Testing How well software product is end user friendly? Proper placement of GUI elements, application flow etc are tested during Usability Testing.
Regression & Performance Testing
Complete software application is tested for impact/ changes after a module or function is modified. How system behaves after stress or load is put over it? All performance issues are considered during performance testing.
Acceptance Testing & Load Testing
In acceptance testing software application is tested whether application is going to meet user requirements or not whereas Load testing is how system behaves under load/ pressure is tested during load testing.
Stress Testing
How system is going to behave against complex database queries is tested during stress testing. Other features like storage capacity is also considered during stress testing.
Sanity Testing & Unit Testing
New version of software application is tested whether it is able to bear new testing efforts and Different individual modules/ units are tested during unit testing.
End to End Testing & System Testing
Whole software application is tested under an environment to meet real user requirements. Whole system is tested as per the requirements during system testing.
Incremental Integration Testing & Integration Testing
Continuous testing is done for all ongoing changes in software application. How integrated modules are working is tested during integration testing.
Functional Testing
How different functions of software application are working is tested during functional testing. Whether outputs are as per requirements, such type of testing is known as functional testing. There are also functional testing tools which can be used by an individual or by an automation testing company.
Black & White Box Testing
All functional and requirements based tests are done during black box testing. Internal logic of code is tested during white box testing.