Static Testing VS Dynamic Testing
This comprehensive hands-on article covers the details of Static and Dynamic testing and their differences.
Static Testing
Under Static Testing, code is not executed. Rather it manually checks the code, requirement documents, and design documents to find errors. Hence, the name “static”. The main objective of this testing is to improve the quality of software products by finding errors in the early stages of the development cycle. This testing is also called a non-execution technique or verification testing. Static testing involves manual or automated reviews of the documents. This review is done during an initial phase of testing to catch Defects early in STLC. It examines work documents and provides review comments.
Dynamic Testing
Under Dynamic Testing, the code is executed. It checks for functional behavior of the software system, memory/CPU usage, and overall performance of the system. Hence the name “Dynamic” The main objective of this testing is to confirm that the software product works in conformance with the business requirements. This testing is also called an Execution technique or validation testing.
Difference Between Static Testing and Dynamic Testing
Point1
Static Testing: Testing was done without executing the program
Dynamic Testing: Testing is done by executing the program
Point2
Static Testing: This testing does the verification process
Dynamic Testing: Dynamic testing does the validation process
Point3
Static Testing: Static testing is about the prevention of defects
Dynamic Testing: Dynamic testing is about finding and fixing the defects
Point4
Static Testing: Static testing gives an assessment of code and documentation
Dynamic Testing: Dynamic testing gives bugs/bottlenecks in the software system.
Point5
Static Testing: Static testing involves a checklist and process to be followed
Dynamic Testing: Dynamic testing involves test cases for execution
Point6
Static Testing: This testing can be performed before the compilation
Dynamic Testing: Dynamic testing is performed after compilation
Point7
Static Testing: Static testing covers the structural and statement coverage testing
Dynamic Testing: Dynamic testing covers the executable file of the code
Point8
Static Testing: The cost of finding defects and fixing them is less
Dynamic Testing: The cost of finding and fixing defects is high
Point9
Static Testing: Return on investment will be high as this process involved an early stage
Dynamic Testing: Return on investment will be low as this process involves after the development phase
Point10
Static Testing: More reviews and comments are highly recommended for good quality
Dynamic Testing: More defects are highly recommended for good quality.
Point11
Static Testing: Requires loads of meetings
Dynamic Testing: Comparatively requires lesser meetings
Hope you would have gained a good understanding of the concept of Static and Dynamic testing. Stay tuned with us for more interesting articles.