So testing is good, more than that, testing is absolutely necessary for an application, and even more than that, testing is one of the things that can be made fully automated. In theory, this looks awesome! Then why is this so hard sometimes (or many times) to do that for every project? While (automated) testing is something almost vital from a developer's point of view, it is exactly the opposite for the client (maybe not in all cases, but in the majority for sure). For the client, the reality is that testing means spending a lot of money for something that they never see. In the best case, they can see some reports saying that their project passed all the tests.