1. Unit tests:There are two popular processes to testing server-side classes: mock objects, which test classes by checking the server container, and in-container testing, which tests classes running in the real server container. If you are using StrutsTestCase, Struts framework for JUnit allows you to use either approach, with very rare impact on your actual unit test code.
2. Functional tests or system tests (carried out by business testers or analysts).
3. Integration tests (performed out by business testers, analysts, developers etc).
4. Regression tests (performed out by business analysts and testers).
5. Load tests or Stress volume tests (performed out by technical staff).
6. User acceptance tests (UAT - performed out by end users).