Technology is not permanent. Do you see C projects now a days anywhere? No, they are not anymore used. Similarly, after a while Java will also fade and new technology will emerge. So it is better to prepare yourself before its too late. Testing field has already got the saturation. There are no jobs for manual testing anywhere. Few jobs which are available in testing belong to automation and performance testing. By the time, they will fade away too. So its better to move towards new technology or new field rather than getting jobless after 5 years from now.
Before I answer I want to know if you are from testing background?
I'm in automation testing since past 8.5 years. Worked on HP UFT (previously QTP), ROBOT Framework (With selenium, sikuli, Database and SSH library).
And, I see demand for skilled resources in high always.
Let me tell you why we do Automation.
It conceives from Regression testing. When a product is developed it goes through different level of testing; starting from unit testing to QAT. Testing new features or hot fixes along with existing feature is important to client. They want to be sure that the new enhancement or the fix did not break any additional functionality.
To do this regression testing manual testing used to be done but a human being can't continue doing same thing for a long time, he/she would get bored, efficiency of catching bugs would lower and eventually prove unproductive.
A tool in that case has no such issue. Can run for hours, does not get intimidated with threats from developers and does not get bored.
With automation testing we turn old test cases in scripts and manual testers can continue doing new test cases.
Till the time a company would value to launch quality product in market, testing would live, so is automation testing. What might change is the tool to do that.
In the year 2006 we had WinRunner dominating the market for test automation. At the same time Mercury QTP came up and quickly impressed everyone.
In the year 2011 HP bought mercury and re-branded it as UFT.
Now, not only GUI but API also can be tested by automation (in my present project I'm doing API test automation)
Most of the time you would hear people and some developer humbugs claiming we don't need testing, our testers are avatars of God (of coding if there is). They are flawless. If someone is slightly aware of software engineering he/she won't ever claim the code is bug free.
What we say, there is always a bug, you might not have just found it out yet.
And, manual testing is not dead yet. Thats a hoax. Manual testing is an inseparable part of software development. They filter out the initial bugs and help in stabilizing the system. We, automation testers work with test cases that are signed off by them as stabilized. Manual and automation can't live without each other.
You might have heard about agile development. Even in that, testing is not ignored rather introduced in a very early stage in contrast with waterfall or V-model.
Hope I was able to shed some light on this matter.