Static and Dynamic testing are testing techniques that ensure quality and improved performance of a software.
The basic difference between static and dynamic testing is that Static testing doesn’t involve code execution, whereas , dynamic involves code execution to find bugs.
Difference between Static Testing and Dynamic Testing in Tabular form
Static Testing | Dynamic Testing |
---|---|
It tests the software thoroughly without executing the code | It tests the software by executing the code with the goal of finding defects and improve performance |
It focuses on documentation | It focuses on the testing of software operation |
It refers to Verification testing | It refers to validation testing |
The main goal of this testing method is to find bugs, ensuring the quality level of product and avoid defects. | The main goal is to ensure the software work properly and meeting all the requirement and specification mentioned by the client |
It is less time consuming and costly than Dynamic testing when it comes to testing changed product | It is time consuming and costly when it comes to test changed product. However, it can be reduced using the inspection process |
It evaluates defects but not the failure | It evaluates defects as well as a failure too |
It supports techniques such as Inspection, walkthrough, Reviews and more | It supports white box testing and black box testing techniques such as unit testing, integration testing, system testing, and Acceptance testing |
It mainly concentrates on defect prevention | It mainly concentrates on defect correction |
Static Testing
It is a testing technique in which changed code and its documentation is reviewed to ensure whether the implementation is made properly or not.
It involves requirement verification, design review, and code review. It has nothing to do with code execution. Its objective is to analyze the specification of software thoroughly.
In this technique, defect in software is discovered without program execution. The main goal of this testing method is to find bugs, ensuring the quality level of product and avoid defects.
It can be classified in the following parts:
- Review ( It is performed to find any type of defect in documents)
- Static analysis ( It is performed with a set of tools in order to avoid possible defects that can be raised in software)
Characteristics of Static testing :
- Discovering errors in early stages
- Faster & Accurate
- Responsible for detecting bugs
Dynamic Testing
It is a testing technique in which code is executed with a set of test cases to improve performance. It is done on software code in order to detect defects and code quality.
It is used to evaluate the final software and deals with the input and output of the software, checking whether the output as per expectations or not.
It can be classified in the following parts:
Black-box testing
White-box testing
Related Post:
Difference between validation and verification testing?