A Rose By Any Other Name
Recently I was involved in a LinkedIn discussion on the
future of the SDET role. One participant stated:
Test
automation (like spec) has made it so easy to write tests, that testing is
really strong now. 90% of the "real" projects on GitHub have large
test suites. Maybe this is just the startup scene in Seattle, but anyone using
OSS is likely going to have a robust testing suite... And no dedicated testers
or SDET.
While I applaud developers who actively practice TDD or who
retroactively develop robust Unit tests, I do not believe this portends the end
of the SDETs. Quite the contrary, I believe the more application development
teams embrace these new tools and methodologies, the more prominent the SDET’s
role becomes.
Apparently I’m not alone, in the book “How Google Tests
Software” they do not have the title of SDET instead they have Software Engineer in Test (SET).
At Google, we have created roles in
which some engineers are responsible for making other engineers more productive
and more quality-minded. These engineers often identify themselves as testers,
but their actual mission is one of productivity. Whittaker, James A.; Arbon, Jason; Carollo,
Jeff (2012-03-21). How Google Tests Software (Kindle Locations 551-552).
Pearson Education (USA). Kindle Edition.
Again from “How Google Tests Software” the role of the SET:
SETs are partners in the SWE codebase,
but are more concerned with increasing quality and test coverage than adding
new features or increasing performance. SETs write code that allows SWEs to
test their features. Whittaker, James
A.; Arbon, Jason; Carollo, Jeff (2012-03-21). How Google Tests Software (Kindle
Locations 566-567). Pearson Education (USA). Kindle Edition.
Having been a (American) football player in my youth, I had
always thought of QA & Test as the defensive team; preventing our opponents
(bugs) from scoring (making it to production). My analogy has morphed as I have become a
strong proponent of Agile and BDD/TDD. I believe SDETs are the offensive line
on the project team. The SDET’s charter is to “enable” the application team to
achieve it’s shared objectives of quality and velocity.
True SDETs are well positioned because they can directly
impact IT’s ROI. As IT departments re-invest in training, infrastructure, tools
and processes, they would do well to take the offensive and invest in strong,
talented SDETs.