Preconditions:Preconditions are conditions or requirements that must be met before executing an action or function. They ensure that necessary conditions are in place for correct code execution.
Invariants: Invariants refer to properties or conditions that remain unchanged throughout program execution, even after actions have been performed.
Test cases: Test cases are specific inputs and expected outputs used to verify whether software functions correctly according to its specifications.