Depending on the software you are writing, testing has a crucial role in
validating the correctness of your program. Some systems, such as banking
systems, are expected to be thoroughly tested. In this post, we will cover the
motivation for writing tests and the different types of testing levels that