Self-tests → used as an additional check in the system complementary to the test suite


Assertions


Pre & Post Conditions


Invariants

These are conditions that always need to hold, before and after a method's execution.