Software Testing Levels

From the developer's keyboard to the user's hands — a quick reference of where each level fits.

Unit Testing

Done by developers to make sure their code works and meets user specifications. They test pieces of code they wrote: classes, functions, interfaces, and procedures.

Component Testing

Also called module testing. In unit testing, developers test small pieces of code; in component testing the whole component is tested. Example: a student-record app has one module to save student records and another to upload results — each is tested as a component.

Component Integration Testing

Once components are integrated, this testing ensures that the combined code does not break when the modules talk to each other.

System Integration Testing (SIT)

Verifies that related systems maintain data integrity and can operate in coordination within the same environment.

System Testing

Tests the compatibility of the application with the target operating system / environment.

Acceptance Testing

Confirms that the requirements of the specification have been met.

Alpha Testing

Performed at the developer's site near the end of the development process.

Beta Testing

Performed at the customer's site just before launch.