A quick look on Software Testing types: (An eagle view)
Levels of Testing: There are different levels of testing process in software testing life cycle.
Unit testing :
What is it?
Unit testing is part of the software development life cycle that makes sure that each bit of code that has been written, perform the function that it is designed to do.
Who does it?
The developer who wrote the code: plans, writes and executes the unit test.
Why do it?Unit testing is performed to improve the overall quality of the software that is passed on to the testing team and then to the client. This is done by reducing the cost of defects, as you are eliminating them while the application is still being developed, rather than waiting until the system testing phase.
Integration testing:
What is it?
Integration testing is the next step to unit testing. In simple form, two components that have already been tested are then combined, made into a single component and tested.
Who does it?
These tests can be done by specialists, or by the developers.
Why do it?
Testing integration of components, systems, and servers is becoming an increasingly important category of testing. Integrating multiple systems, in effect is building a common language to bind the systems together. Integration testing is performed to verify the operation of these language elements and of the entire integrated system, and to identify the points of conflict between them.Integration testing is performed in parallel to incorporation of different types of components. These components may be code modules or individual applications, applications of clients – servers on different networks.
System Testing:
What is it?
The testing performed in view of customer’s requirements is the system testing and this can be done in many rounds. System testing is performed once the entire system has been built. The behavior of system is tested in different scenarios.
Who does it?
System testing is also developer focused, though more number of specialist developers called system testers are engaged for this.
Why do it?
System testing is the phase where areas like quality, security, correctness are more concentrated. This also includes discovery of errors on features of the entire system rather than the individual components. System testing also involves a set of special tests to check whether all the functional an non-functional requirements have been met. The performance of the system is tested here.
Acceptance testing:
What is it?
Acceptance testing is generally performed to determine whether the software meets the customer requirements. This is a formal testing conducted to allow user, customer to decide whether to accept the product or it’s component.
Who does it?
Acceptance testing is performed by a group of end-users or clients.
Regards,
Balu.