Static testing involves examining a program's code and documentation without executing the code. It aims to improve quality by finding errors early. Techniques include informal reviews with minimal documentation; formal reviews following steps like planning, preparation, and follow-up; technical reviews of specifications; walkthroughs where authors explain work; and inspections led by moderators. Static testing allows early feedback but cannot find runtime issues and is time-consuming.