Measuring progress is one of the most important tasks in verification and is the critical element that enables the designer to decide when to end the verification effort. Several methods are commonly used:
- Toggle testing: verifies over a series of tests that all nodes toggled at least once from 1 to 0 and back
- Code coverage: demonstrates over a series of tests that all the source lines were exercised; in many cases, there is also an indication as to whether branches in conditional code were executed; sometimes an indication of state-machine transitions is also available
- Tracking how many bugs are found each week: possibly the most common metric used to measure progress; after a period of a few weeks with very few or zero bugs found, the designer assumes that the verification process has reached a point of diminishing returns