Unit tests are a powerful and crucial part of programming. But it isn't enough if we want to know better if our code works. Complementing unit tests with service-level/integration and UI/end-to-end tests will make us know that our code really works. The test automation pyramid tells what is the good ratio between different tests.