Difference between Static and Dynamic Testing

What is static testing?

In software development, static testing, also called dry run testing, is a form of software testing where the actual program or application is not used. Instead this testing method requires programmers to manually read their own code to find any errors. Static testing is a stage of White Box Testing.

What is dynamic testing?

Dynamic testing is a term used in software engineering to describe the testing of the dynamic behavior of code. That is, dynamic analysis refers to the examination of the physical response from the system to variables that are not constant and change with time.

Difference between Static and Dynamic Testing

Following comparison tables show the difference between static and dynamic testing:

Static TestingDynamic Testing
In this type of testing we do not execute the codeIn this type of testing we do not execute the code
In this type of testing we do not execute the codeIn this type of testing we do not execute the code
In this type of testing we do not execute the codeIn this Testing methods like testing and validations are used.
It is done in the phase of verification.It is done in the phase of validation.
This testing means “How we prevent” means it always talks about prevention.This testing means “How we cure” means it always talks about cure.
It is not a time consuming job because its purpose is to examine the software or code.It is always a time consuming job because its purpose is to execute the software or code and it may also involve running more test cases.
As it can always start early in the life cycle it definitely reduces the cost of product or you can say projectAs it not starting early in the life cycle hence it definitely increases the cost of product/project.
It definitely comes before dynamic testing.It definitely follows after static testing.
Static testing is also known by the name Dry Run Testing.Dynamic Testing is not known by any other name.
Techniques/methods of static testing are inspections, reviews, and walkthroughs etc.Technique/method of dynamic testing is always software testing means testing.
It is not considered as a time consuming job or task.It is always considered as a time consuming job or task because it requires several test cases to execute.
It can find errors that dynamic testing cannot find and it is a low level exercise.It can find errors that static testing cannot find and it is a high level exercise.
It is always considered as less cost effective job/task.It is always considered as more cost effective job/task.

If you like FreeWebMentor and you would like to contribute, you can write an article and mail your article to [email protected] Your article will appear on the FreeWebMentor main page and help other developers.

Recommended Posts:


Editorial Staff

Editorial Staff at FreeWebMentor is a team of professional developers.