Static Testing(done in Verification stage).
Static Testing is a White Box testing technique where the developers verify or test their code with the help of checklist to find errors in it, this type of testing is done without running the actually developed application or program. Code Reviews, Inspections, Walkthroughs are mostly done in this stage of testing.
Dynamic Testing(done in Validation stage).
Dynamic Testing is done by executing the actual application with valid inputs to check the expected output. Examples of Dynamic Testing methodologies are Unit Testing, Integration Testing, System Testing and Acceptance Testing.
Some differences between Static Testing and Dynamic Testing are.
Static Testing is more cost effective than Dynamic Testing because Static Testing is done in the initial stage.
In terms of Statement Coverage, the Static Testing covers more areas than Dynamic Testing in shorter time.
Static Testing is done before the code deployment where the Dynamic Testing is done after the code deployment.
Static Testing is done in the Verification stage where the Dynamic Testing is done in the Validation stage.