DEV Community

Burdette Lamar
Burdette Lamar

Posted on

Full-Stack Test Engineer?

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.

Top comments (1)

grok profile image
Sterling Hamilton • Edited

I find that 90% of the time and effort for test automation is restructuring how a team thinks and builds so that things are even testable.

It ends up being:

  • Go to a new client.
  • They point at a codebase say "work your testing magic".
  • Realize that they lack fundamental code theory and testing methodologies.
  • Revise scope of work to no longer be testing, but to be refactoring and development.

At least that's what I've experienced :-\