First of all, there all four terms are different.
Dynamic Testing: Testing that involves the execution of the software of a component or system.
When you are talking about Dynamic Testing, your source code are in executing stage. You are trying to find bug by inputting values in system.
Static Testing: Testing of a software development artifact, e.g., requirements, design or code, without execution of these artifacts, e.g., reviews or static analysis. In simple words,
In static testing your source code is not in executing stage, you are targeting the documentation part to finding bugs.
Validation: Confirmation by examination and through provision of objective evidence that the requirements for a specific intended use or application have been fulfilled.
Verification: Confirmation by examination and through provision of objective evidence that specified requirements have been fulfilled.
See below image which explain diffrance between Validation & Varification.
black box testing: Testing, either functional or non-functional, without reference to the internal structure of the component or system.
white-box testing: Testing based on an analysis of the internal structure of the component or system.