In the End, there are costs, not just monetary, on either side of the equation. The absolute best thing is to have a combination of both. If you do that you greatly reduce the risk of missing something. When it is all said and done you want the best experience for your customers, and to do that you should implement exploratory/first look testing by manual testers which are then converted into automated tests. That way you get the most coverage of your product/website.
Manual testing that is very important in a company that is often time overlooked. As both a manual tester and someone who loves automation testing, I think it gives me a certain perspective on both. Manual testing is tiresome, costly and takes a very certain personality to be good at. Automation testing is costly, tiresome and let’s face it you will miss things in automation. So from my description of both you see that each has it’s cons.
To start let us talk about cost. Each is costly, but each is costly in different ways. Manual testing is costly because for every development team of four there should be at least one manual tester. That means hiring more people, which is expensive. Automation testing cuts the cost of manpower by almost 400% you only need one automation tester for every 16 developers, but they is also a certain level of skill required for automation testing that requires you to pay the testers more. Both are costly just in there own way.
Then you look at tiresome. If you have ever stared at a screen all day, it is kind of boring. As well as you lose interest in what you are doing meaning your productivity goes down. That is downside to manual testing is that it is tiresome to go through the same product over and over again looking for different things. On the flip side to be an automation tester is tiresome because all they do all day is find things that haven’t been automated and write a test scenario for that particular case. So both are tiresome in different ways.
So in manual testing, it takes a very specific personality to be good at because you are the bearer of bad news and you will hardly ever get recognized for what you do. To programmers you seem like the bringer of death because all you tell them is that there is a major bug here and this part does not look right, or things don’t function like they are supposed to. This can be a hard way to live for a lot of people, hence why I say you need a very specific personality.
A person is not perfect. Therefore, a person will not write perfect code, they will miss something when testing, and they will miss something in automation testing. On that note I think when you miss something when automating testing it is a bigger deal. When you are writing a automation test all the manual testers now stop testing that because it is supposed to be tested. Well, because you are human, you will miss something in the automation therefore everyone will miss it. Whereas if you miss something in manual testing it will most likely get caught at most the next time around. I know that this is an opinion, but I feel that it is a pretty backed of conclusion.