I get a lot of pings for jobs that want a test automation engineer. My resume tagline is Software Test Automation Professional / Zealot, which is the reason I get the pings.
Many of these job descriptions ask for what amounts to a "full-stack" test engineer.
"Requirements" can include:
- Building automation infrastructure
- Writing automated tests
- Doing exploratory testing
- Doing other manual testing
- Developing test plans and test cases
- Doing performance testing
- Working directly with customers
- Creating and maintaining defect reports
- Determining defect "root cause"
- Working with developers to devise bug-fix strategies
- Integrating automated testing into CI
- Creating and maintaining VM farms
- Knowing specific tools
- Knowing specific CI platforms
- Leading a QA team
- Leading an off-shore QA team
(Not sure this list is complete, but you get the idea.)
No test engineer does all of these well; trying to do many of these may mean not doing any of them well.
I've found that building (excellent) test automation is a discipline unto itself, requiring both deep experience and close, undivided attention.
Therefore my ideal consulting gig will be to:
- Go to a new client.
- Install the core automation technology I'm developing in my RubyTest GitHub project.
- Build out the domain-specific technology needed for the client's applications.
- Develop tests that exemplify the use of that technology.
- Train the client's testers to use and extend the technology.
- Get paid.
- Go home.
- Repeat.
Meanwhile, I'll continue joyfully working on my project.