Machines do the job accurately but they lack flexibility which only the human mind possesses. Thus, if we write automated tests, upon their execution we can find that there are a lot of obvious bugs missed out. That is because we design automated tests so that they are focused on one thing only and therefore many related errors remain overlooked.
It is thought by many now that all testing should be automated, because automated tests are cheap while testers need costly salaries. Someday it may be true, but not yet. Test automation is a right solution when the project is in sustaining mode, though it is not effective when a new product is tested. In this case it is better to combine automated and combine testing rather than rely only on test automation. Otherwise a lot of bugs will occur in the aspects unforeseen in automated tests.
The latency of automation is also higher as well as the cost caused by mistakes.
There is an example of a situation when automated test misses obvious things.
An automated test set to test CD playback would never notice that every next song somehow plays louder than the previous one. This bug is absolutely clear for anybody but not for automated tests. For them the state of things is normal as the next song is playing and that is what they were designed to check.
There are many of such examples and all of them show that test automation can’t cover all the aspects, especially in newly developed features. To cover all the possible errors a lot of separate test cases should be designed and that is very costly.
Besides a lot of side effects in automated tests may occur and thus many bugs will be not revealed as well. In the aftermath the unfound bugs may result in huge losses of profit if the product is released in such a condition and the users come upon these bugs.
To conclude, it should be said that using only manual or automated testing is not the way for successful development, that’s way they must be wisely incorporated to prevent possible failures successfully.