Test level in software testing

Tram Ho

1. What is the level of software testing?

Software testing level is a process in which every software / system component is tested.

The main objective of system testing is to evaluate the suitability and accuracy of the system with the requirements set out.

To test the behavior and performance of software testing process, divided into several test levels

These test levels are designed to identify missing areas and to correlate between development lifecycle states.

All stages of the software development life cycle go through these 4 test levels

2. Unit testing

UNIT TESTING (Unit testing) is a software testing level in which the individual units / components of a software are tested (It tests each module individually)

The purpose is to confirm that each software unit / component is functioning properly.

Who conducts: made by the developers.


  • Reduce defects in newly developed features or reduce errors when changing existing functions.
  • Reduce inspection costs because defects are captured in a very early stage.
  • Improved design and allows for better code refactoring.
  • Unit testing, when integrated with the build, also gives the quality of the build.

Unit testing life cycle

3. Integration testing

Integration testing is a software testing level in which individual units are combined and tested into a group (It checks data flow from one module to other modules)

The purpose of this test level is to expose errors in interaction between integrated units

When: to be performed after unit testing

Who conducts: Made by the developers themselves or independent testers

4. System testing

System testing is a level of software testing performed on a complete and integrated software.

It allows checking the compliance of the system on demand, checking the overall interaction of components.

Check the system most often as a final check to verify that the system meets the specifications. Test the system to assess both functional and non-functional needs for testing.

When: It is done after integration testing and before acceptance testing

Who conducts: This is done by an Independent Reviewer

5. Acceptance testing

Acceptance testing is a level of testing where the system is tested for its acceptability (related to user needs, requirements, and business processes in progress).

The main purpose of this test is to determine if the system meets the acceptance criteria and to allow users, customers or other authorized entities to determine whether or not to accept the system.

When: Last done, after system testing and before making the system available for practical use.

Who conducts:

  • Internal acceptance test (Also known as Alpha Testing) is conducted by members of the organization who developed the software but are not directly related to the project (Development or Testing). Usually, they are members of Product Management, Sales, and / or Customer Support.
  • External acceptance checks are conducted by people who are not employees of the software development organization.
    • Customer acceptance test is performed by the customers of the organization that developed the software. They are the people who require software development organization. [This is in case the software is not owned by the organization that developed it.]
    • User acceptance test (Also known as Beta Testing) is conducted by the end user of the software. They can be customers or customers themselves.


  • Software testing level is a process in which every software or system unit or component is tested.
  • The main objective of a system check is to assess the system’s compliance with specified needs.
  • In Software Engineering, the four main testing levels are Unit Testing, Integration Testing, System Testing and Acceptance Testing.




Share the news now

Source : Viblo