Static testing is the form of software testing where you do not execute the code being examined. This technique could be called non-execution technique. It is primarily syntax checking of the code or manually reviewing the code, requirements documents, design documents etc. to find errors.
From the black box testing point of view, static testing involves reviewing requirements and specifications. This is done with an eye toward completeness or appropriateness for the task at hand. This is the verification portion of Verification and Validation.
The fundamental objective of static testing technique is to improve the quality of the software products by finding errors in early stages of software development life cycle.
Following are the main Static Testing techniques used:
1. Informal Reviews
2. Walkthrough
3. Technical Reviews
4. Inspection
5. Static Code Analysis