Static — analyze without execution. Dynamic — analyze during execution.
Static Analysis:
Static:
ESLint: linting rules
SonarQube: code smells
TypeScript: type checking
(No execution)
Dynamic Analysis:
Dynamic:
Jest: unit tests
Selenium: browser tests
k6: load tests
(During execution)
Key differences: