Software testing is what saves the life of any software development project.
Testing applications may be more important than designing good software. Although a developer should always design good software following good architectural principles, the truth is that poorly designed software will work fine if it has hardly been tested and does exactly what the customer needs. On the contrary, it is almost impossible for a never before tested well-designed software to work fine.
Software testing is available at multiple levels. The lower level of testing, the most tightly coupled with our code, is the unit test. Such kinds of tests have the goal of testing a single functional (or sometimes technical) method. If we need to test our Fourier transform method, a unit test is the starting point. When unit testing, it is good practice to give such method data for testing purposes. Such dummy data, called a mockup, is actually useful to point out our code (the subject...