Software Testing Levels

    Software Testing Levels

    SOFTWARE TESTING LEVELS are the different stages of the software development lifecycle where testing is conducted.

    Table of Contents

    Levels

    There are four levels of software testing: Unit >> Integration >> System >> Acceptance.

    Level Summary
    Unit Testing A level of the software testing process where individual units of a software are tested. The purpose is to validate that each unit of the software performs as designed.
    Integration Testing A level of the software testing process where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units.
    System Testing A level of the software testing process where a complete, integrated system is tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements.
    Acceptance Testing A level of the software testing process where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.

    Note

    Some tend to include Regression Testing as a separate level of software testing but that is a misconception. Regression Testing is, in fact, just a type of testing that can be performed at any of the four main levels.

    Distinction

    Software Testing Levels are different from Methods or Types. In contrast to the Software Testing Levels listed above, Software Testing Methods are the ways the tests are conducted and Software Testing Types are the tests targeting specific characteristics of software. For example, during System Testing (a Level) you can  perform Functional Testing (a Type) using Black Box Testing (a Method).

    • Level = WHEN to test
    • Method = HOW to test
    • Type = WHAT to test

    Last Updated on September 16, 2020 by STF