What is static and dynamic testing?

Static Testing Dynamic Testing
Static testing is done in the early stage of the development life cycle. Dynamic testing is done at the end of the development life cycle.
It includes walkthroughs and code review. It includes functional and non-functional testing.
Static testing is 100% accurate in a very short amount of time. Dynamic testing involves several test cases that take a longer time.
Static testing is about prevention. Whereas dynamic testing is about a cure.

Static Testing:

Testing the Software or application without executing or running it

Dynamic Testing

Testing the software or application by executing or running it.

Example: Test Driving a car is a dynamic testing while inspection of car without running it is static testing.

By verifying Test Documents and without executing the Software is called Static Testing. Static Testing reduces defects multiplication. Conducting Testing by executing the Software is called Dynamic Testing.