Static testing is a software testing method that involves examination of the program's code and its associated documentation but does not require the program be executed. Dynamic testing, the other main category of software testing methods, involves interaction with the program while it runs. The two methods are frequently used together to try to ensure the functionality of a program.
Static testing may be conducted manually or through the use of various software testing tools. Specific types of static software testing include code analysis, inspection, code reviews and walkthroughs.