1 August 2012

Levels of Testing

Levels of Testing:-

        To enhance the quality of software testing, and to produce a more unified testing methodology applicable across several projects, the testing process could be abstracted to different levels. This classification into different levels introduces some parallelism in the testing process as multiple tests could be performed simultaneously. Although these levels are best suited for the waterfall model, (since the levels correspond directly to the different stages in the waterfall model) the level of abstraction still poses to be useful across other software development models. We shall be looking at:

  • Unit Level Testing
  • Integration Level Testing
  • System Level Testing
  • User Acceptance Level Testing
Brief Description of all Levels of testing :

Unit Level Testing:

         Unit Testing is primarily carried out by the developers themselves.
Deals functional correctness and the completeness of individual program units.
White box testing methods are employed
Integration Level Testing.

Integration Testing:

 Deals with testing when several program units are integrated.

Regression testing : 

       Change of behavior due to modification or addition is called ‘Regression’. Used to bring changes from worst to least.

Incremental Integration Testing : 

Checks out for bugs which encounter when a module has been integrated to the existing.
Smoke Testing : It is the battery of test which checks the basic functionality of program. If fails then the program is not sent for further testing.

System Level Testing:

System Testing -

 Deals with testing the whole program system for its intended purpose.

Recovery testing :

 System is forced to fail and is checked out how well the system recovers the failure.

Security Testing : 

Checks the capability of system to defend itself from hostile attack on programs and data.

Load & Stress Testing : 

The system is tested for max load and extreme stress points are figured out.

Performance Testing :

 Used to determine the processing speed.

Installation Testing : 

Installation & uninstallation is checked out in the target platform.

Acceptance Level Testing:

UAT ensures that the project satisfies the customer requirements.

Alpha Testing :

 It is the test done by the client at the developer’s site.

Beta Testing :

 This is the test done by the end-users at the client’s site.

Long Term Testing : 

Checks out for faults occurrence in a long term usage of the product.

Compatibility Testing : 

Determines how well the product is substantial to product transition.