### Making your code testable
There are two complementary approaches to testing functionality.
One is to test the small units that you use to build your
complete application.
These are called "unit tests".
Another is to test the final application from the outside,
called black box tests or integration tests.