This comes in two varieties:
- Static analyses of code
- Executing the code
Note
- Static analysis uses knowledge of the system, its domain, and the technologies used to discover problems
- The advantages here are:
- Cascading errors due to dynamically running code can obfuscate test results (dynamic code execution causes this). Late errors could be new or cascading.
- Tests require an executable version of the system while inspections do not.
- Inspections uncover inefficiencies and style issues
- Inspections are a form of knowledge sharing and collaborative problem solving