Test Automation Role: Sherpa?

(Burdette) #1

Test automation can be thought of as having three layers:

  • Core: application-independent code, useful for any test domain.
  • Domain level: code specific to the test domain.
  • Test level: the actual tests.

As much code as possible should be pushed (refactored) into the core: base classes, helpers, logging, reporting.

Of what remains, as much as possible should be pushed (refactored) into the domain level: page objects, REST endpoint objects, data objects, intermediate base classes.

What’s left, then, is just the tests themselves.

So: an engineer who works only on the core and the domain level (but not the test level) is not really a tester at all.

To borrow from mountain-climbing vocabulary, that engineer is not a climber, but is instead a sherpa. The sherpa’s job is to do the heavy lifting, build base camps, and keep the climbers progressing safely and happily.

The test automation sherpa, a specialist, makes domain-specific automated testing possible by building the core and the domain layer.

Using those, the tester creates and executes the automated tests, and interprets their results.

Makes sense?

(ernie) #2

I think the metaphor works, but might come across as a bit pejorative towards those writing the tests. That is, folks know Edmund Hillary but few know Tenzing Norgay, and at least in the US, using the word sherpa can be loaded, referring to folks who do the grunt work/manual labor.

I think the common way I’ve seen this described is the differentiation between folks who write the tooling and the folks who use the tooling to write tests.

I also think the number of companies that are big enough to support this level of specialization is somewhat limited.

(Chris) #3

Sherpas are a Nepalese ethnic group, so it’s also a bit appropriative,
just to forewarn (https://en.wikipedia.org/wiki/Sherpa_people).

I think RST would probably use “toolsmith” to describe this person (http://www.satisfice.com/presentations/agileauto.pdf), although that’s more anyone who builds tools for testers. I don’t see why that couldn’t be that they build good or better tools for testers, though.