Design by Contract: The importance of precise specifications

Design by Contract (DbC) is a pragmatic approach to the design of software that prescribes software designers to provide precise specifications in the form of preconditions, postconditions and invariants
These specifications are referred to as “contracts” and this type of programming philosophy is known as Design by contract (Dbc) programming…

Test Driven Development

Test Driven Development (TDD) is an evolutionary software development methodology driven by testing that involves a better suite of unit tests that can be run at any time to ensure that software is still working.
It’s an advanced technique which follows Test First Design (TFD) approach because the unit tests…