Sort
Testing
- Each Module has to ship with set of UnitTests.
- If Module depends on another Module, they create a System. Thus such system has to be tested with SystemTests.
SystemTests of a particular Module usually really on Mocking.
UnitTests usually really on intimate knowledge of a Module, aiming to test corner cases of particular implementation.
Interface Abstraction
API is a corner stone of SW development. Thus, each Module within any project has to provide and fulfill some sort of an interface.
A good interface is a meeting point between an user (customer) and an implementation. Thus it serves two purposes:
- Provides easy to read contract for a customer
- Simplifies business logic implementation by elimination of uncertainty (what and how features shall be provided)