A testing is a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly. The process of developing testing can also help find problems in the requirements or design of an application.

Testing is an integral part of the system development function; testing starts with the requirements, not the code. Testing can only establish that the system does not function properly under specific conditions.

Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an as yet undiscovered error.

As the number of possible tests for even simple software components is practically infinite, all software testing uses some strategy to select tests that are feasible for the available time and resources. As a result, software testing typically (but not exclusively) attempts to execute a program or application with the intent of finding software bugs (errors or other defects).

Software testing can provide objective, independent information about the quality of software and risk of its failure to users and/or sponsors.

Unit testing alone is not sufficient as the application needs to be examines for
  • Interaction between components
  • Compliance with the software requirements specification
  • Performance
  • Meeting the customer's goals


     »  Five flavors of Testing

     »  JUnit Sample programs

     »  DBUnit Sample programs

     »  HSQL DB Testing Sample Programs

     »  EasyMock Sample Programs

     »  GreenMail- Email Testing