from indeed.com |
The market demand for test automation is higher than ever but the number of automation jobs is lower.
How can this be?
One reason is the "test automation" name.
Test automation is not a good name for this type of work.
Automated checking or tool-assisted testing (James Bach) are describing better what actually happens.
Automation does not automate or replace creative testing but just checks that simple and clear test cases work.
Because test precedes automation in the name, companies and testers thought that test automation is a part of testing and it should be done by testers.
Testers thought that test automation is the silver bullet for their careers and went ahead with the "learning phase".
After learning the bare minimum of Selenium and a programming language in less than a year, many claimed that they are automation engineers instead of manual testers.
And some companies, especially the ones without rigorous interviewing processes, hired the manual-testers-converted-overnight-to-automation-engineers.
These "engineers" started with enthusiasm to build automation projects and wrote code, lots of code.
Which in most cases was just a bunch of crap.
I have seen such projects built by automation "experts" who
- do not understand inheritance and composition
- have no clue how to use interfaces
- don’t know what page factory, loadable component or yes, maven are
- use maps instead of objects
- create test classes with thousands of lines of code and hundreds of methods
- create page classes with click/type/getText methods for each page element (again with thousands of lines of code)
- use static methods and variables heavily
- use utility classes a lots
These are testers that are experts at writing-VB-code-in-Java.
The only thing that matters for them is if the code works now.
It is less important that the code is inefficient, not object oriented, difficult to read and maintain.
It is also less important that the code fails randomly when executed in Jenkins.
If the tests fail, we just rerun them until they pass.
After a while, companies start realizing that things are not going well at all, especially when they have a few thousands of tests which fail with a 25-30% rate.
And, at this moment, they switch direction and hire either developers or testers who became developers.
In most cases, a good developer can do the work of 3-4 VB-in-JAVA automation experts.
So, see, it is completely possible that the business demand is higher but the number of jobs lower.
The market matures and filters out people who are not suitable or ready for automation work.
Pradeep Soundararajan (from Moolya) said somewhere on Quora that
Not all manual testers will disappear, only the unprofessional ones.
My opinion is that this is happening for test automation as well:
The professional automation engineers will stay, the other ones will fade away.
Contrary to what you hear from a lot of people, test automation is not easy and it is not for anyone.
To do it well, you have to learn a new job and become a developer.
The really reason why automation tester job are killing is because of the own tester are killing it when:
ReplyDelete- they say that automation is responsability of developer.
- they are qa not developer.
- they have to define test plan, not code.
But the automation is a qa responsability, because are your tests not your development software for your client.
But as many people they don't want to learn they are killing this role in the companies and off course you read comment as you say: "In most cases, a good developer can do the work of 3-4 VB-in-JAVA automation experts"
Yes off course a good developer will do it better thatn a tester expert. But, developing selenium test for example is a main goal from a developer? no, because they are more afraid about finish their responsability as developing the software for the client more than developing the selenium test, then you will find things as assert(true, true) And I have seem that many times from developer doing selenium tests.
So, i am not agree than a dveloper is the correct people for developing automation test. Yes I am not a developer and i develop automation framework, but our framework are not going to arrive to the client. So, what is the problem if i don't do the goof practise of code? maybe i need to learn it, but what you don't say, is people "expert" when you do the interview (my case) I say always i am not a developer i know to do this this and this, but I am not a developer I am QA tester automation, it is not the same, because for being a QA tester automation you don't need to be a developer.
So if you want to teach a developer for being a QA > good luck with your quality in the products.
Regards,
Hi Pedro,
ReplyDeleteThanks for your comment.
I will try to reply to your main points.
1. automation is a QA responsibility, because your tests are not the development software for your client.
What the client gets is a full development project.
The application code is included, the unit tests are included and yes, the automation code is included as well.
Automation can be a QA responsibility if the QA team has the development knowledge and skill for building a good automation solution.
Otherwise, automation should be done by people with development skills, aka developers.
2. i dont agree that developers are the correct people for developing automation tests
It can be developers, testers, business analysts, etc.
The role is not important.
What matters is strong development skills and knowledge.
3. our automation framework is not going to the client.
are you sure?
what if the client wants the development of the product to be done in the future by another company and he asks for the full development solution including the automation tests?
4. I am not a developer, I am QA tester automation
I think that you are confusing things here.
Anyone who does test automation properly is a developer.
You cannot do good test automation without knowing solid development.
If your development is not solid, more learning is needed.
5. a good developer will do it better than a tester expert
so why would a company ask the tester to do it especially if his skills are way below the developer's?
Alex