Static Testing vs Dynamic Testing

    Static Testing vs Dynamic Testing

    Differences between Static Testing and Dynamic Testing are listed and explained below:

    Criteria Static Testing Dynamic Testing
    Definition Static Testing is a method of testing whereby work products are reviewed without executing them. Dynamic Testing is a method of testing whereby the behavior of work products is evaluated by executing them.
    Objective Static Testing ‘prevents’ bugs in the software. Dynamic Testing ‘detects’ bugs in the software.
    Work Products
    Work products like Requirements (Business / Software), Architecture & Design, Mockups, Code, Test Artifacts and User Guides are evaluated. Executable code / program is tested.
    Automation
    Usually, static testing is conducted manually though code reviews can be tool-assisted. Dynamic testing can be either manual or automated.
    Types
    Reviews, walkthroughs and inspections are the three types of Static Testing. Dynamic Testing comprises of two major groups of testing (Functional Testing and Non-Functional Testing) each of which have many types.
    Levels
    Static Testing is conducted throughout the life cycle of the software. Dynamic Testing is conducted at four distinct levels: Unit, Integration, System and Acceptance.
    Responsibility Depending on the work product, all members of the team may be involved at one time or the other. Generally, Unit Testing is conducted by software developers, Integration and System Testing by software testers, and Acceptance Testing by clients.
    Earliness
    Static Testing can be conducted right from the beginning of the project — as soon as Requirements Specification is ready. Dynamic Testing can be conducted only after executable code is ready.
    Assistance Normally, checklists are used to assist in testing. Normally, test cases are used to assist in testing.
    Cost The cost of finding and fixing defects during Static Testing is low. The cost of finding and fixing defects during Dynamic Testing is high.
    VvsV Static Testing is a part of Verification. Dynamic Testing is a part of Validation.

    .

    Need more clarity?

    Learn about VERIFICATION vs VALIDATION.

    .

    Last Updated on September 16, 2020 by STF