Dig into the black box and learn about the Software Development Engineer as Test (SDET) Role

Nicole Ann Hargrove
Strategio
Published in
3 min readApr 27, 2022

Black box testing is a methodology that is used to test the functionality of an application without knowing the internal structures or inner workings of the application. OK, I know my bloggers can relate to trying to come up with catchy titles. They are like trying to think of YET ANOTHER PASSWORD lol….I digress. This blog will dig into the black box (OK SDETS and Testers, please don’t come for me lol) of what is an SDET and the skills needed to become an SDET.

I can remember before I left undergrad, my sole goal was to be the best programmer. So when I was offered a role as a Software Engineer with IBM in 1997 I was on cloud nine. After less than 2 months on a project in Carson City, Nevada, I had the opportunity to move back to the East coast to work on a project in Maryland. I was so EXCITED because even though I enjoyed the mountains and traveling up and down the coast of California on weekends, I realized I’m an East Coaster through and through. I was quickly deflated to learn that instead of hitting the ground running as a programmer, I would first be doing testing. Back then and even to some degree now, testing has a stigma for a myriad of reasons. During my 3 month stint as a tester, I learned so much more about the application that I would eventually code.

Morpheus What if I told you Testers and Developers are the same
image source: https://thoughtsontest.wordpress.com/2018/11/09/what-is-a-test-coach/

After much research I read back in 2004–2005, Microsoft coined the term Software Development Engineer in Test (SDET). Over the years, many companies followed suit.

Within an Enterprise, most SDETs can be found on test teams, DevOp teams, or the software development teams.

Here are some skills needed to become an SDET:

  • Software development in a programming language, such as Python, Java, or JavaScript. In particular, SDETs should understand object-oriented concepts, decisions, repetitive, and data structures.
  • Understand the application from end to end. This means knowing the front end and the backend and collaborating with the respective teams. Ensure that information is documented.
  • Understanding of functional (Unit, Integration, System, and Acceptance), non-functional testing (Performance, Security, Usability, and Compatibility), and determining test coverage.
  • Know how to set up testing tools, such as TestNGSelenium, Cucumber, Pytest, and JUnit applications that run on the Web, Mobile, and desktop.
  • Excellent verbal and written communication to share test strategies, test plans, test cases, errors, and solutions with project leads, clients, or other developers.
  • Exposure to Test and Behavior Driven Development.
  • Create optimized testing stages in CI/CD pipelines.
  • Problem-solving and critical thinking to develop solutions to the bugs they find.
  • Train and mentor quality assurance testers on automation best practices.
  • Create real-time automation dashboards to measure code quality and provide feedback to the team.

Quality Assurance Tester (QA Tester) is not the same as an SDET. QA Testers have limited knowledge about the system, prepare and execute the test cases, don’t have coding skills, and don’t know the design and implementation of the application.

I hope learning about the SDET role has opened your eyes to new possibilities for using your coding skills.

Strategio’s Simulator is 8 weeks of cross-functional skill training that will equip you with the aforementioned skills and more. If you are interested in SDET roles, please apply at Strategio’s Website — Become a Strategio Technologist.

Continue to follow me as we explore more job roles!

--

--

Nicole Ann Hargrove
Strategio

20+yrs of IT Industry expertise from working in and with global corporations in Cloud, Integration and Digital Experiences domains as Solutions Architect.