Software testing is the process of discovering bugs in programs. There are many phases of software testing, each with their own pros, cons and applicability.
- Unit Testing: Testing each component/module in isolation, independently.
- Integration and System Testing: Testing modules in tandem, or integrating modules to form a ‘system’, and testing it.
- Acceptance Testing: Validating if the system supports the design specifications, and meets the client’s requirements.