“SDET” is becoming a popular job title in many Software Engineering departments. But it’s not always clear what the difference is between an SDET vs. QA tester. Making matters more confusing, some companies use the title differently than others. Does it just mean a QA engineer or automated tester, or is there more to it? Let’s go over the basics.
What Does SDET Stand For?
SDET stands for Software Development Engineer in Test. This clarifies the fact that SDETs are involved in testing. But it still doesn’t explain exactly what they do, or how it differs from “regular” QA testers.
Differences Between SDET vs. QA
All SDETs are performing a type of QA, but not all QA testers are SDETs. Confused? You’re not alone. Sometimes it can be easier to consider what SDETs are not. In this case, we’re talking about manual testers.
If you’re not familiar with the differences between automated and manual testing, you can check out our simple guide: Manual Testing vs. Automated Testing. If you are familiar, understanding what SDETs are gets a little more simple. The “SDET” title has the same job description as “automated tester” in many workplaces. However, “SDET” will never be used to refer to a manual QA tester.
But does “SDET” always refer to the exact same set of tasks as “automated tester?” This is where it gets a little more complicated.
SDET vs. Automation Engineer
This one’s tricky. At many companies, “SDET” is used interchangeably with “automated tester.” So in some cases, there is no distinction. However, in other workplaces, there can be differences between the two roles. When this is the case, it’s often because the SDET role is even closer to a regular developer than an automated tester.
In those situations, SDETs are capable of reviewing the code itself, writing unit tests, and approaching the test coverage with a programmer’s mindset. Automated testers can write code that can test the app/website behavior. But unlike this definition of SDET, they usually aren’t at the level of knowing how the software itself is built.
As opposed to most types of testers, SDETs work with developers to understand the code itself. Regular QA testers sometimes don’t become involved until after the development is done (although all testers collaborate with developers in some form or another).
SDET vs. Developer
The word “developer” is in the definition of SDET (Software Development Engineer in Test). So, it’s not unreasonable to think that an SDET is a type of developer. But as mentioned above, sometimes an SDET is simply an automated tester.
A tester can have enough knowledge of a programming language to create automation scripts – without actually being a developer. Developers not only know one or more programming languages, but they also build the features and framework of the software itself. SDETs, on the other hand, are instead responsible for testing whether the features work after they’re built.
SDET Job Description
The SDET job description can differ depending on the workplace and team goals. But these are some of the most common SDET tasks:
- Create in-depth automation scripts for testing the software
- Writing thorough unit tests
- Managing and even customizing the automation framework/tools
- Assisting with debugging
- Analyzing test script results
- Working with other members of the Engineering team including developers, product managers, testers, and more
Along with other common Agile QA development team tasks.
SDET vs. QA Salary
The salary for an SDET or QA tester will depend on their experience, location, employer, and potentially even bias in some hiring processes.
For example, an SDET working for Apple in Silicon Valley might have a salary of $120,000 or more per year. On the other hand, an SDET working for a smaller company in Raleigh, North Carolina, might make 25-30% less.
Automated testers usually have similar salaries to the “SDET” job title. However, since “SDET” is an even more coveted role, salaries for those positions tend to be higher than a more generic “automated tester” job title.
Manual QA testers have a wide salary range. Depending on various factors, manual tester salaries can be anywhere from $40,000 to $120,000 or more per year.
How to Become an SDET
There are two main career paths to becoming an SDET:
1. Being a developer. If you already know a programming code, this will be the much easier route to becoming an SDET. However, if you don’t have a QA testing mindset, it can be difficult to make sure all user scenarios are tested. If this is the case, you may do best in a role where the manual tester writes the test cases, and you automate the test cases.
You can also see if a QA tester can guide you through the process of determining test coverage.
2. Being a QA tester. If you’re successful in identifying areas that need test coverage, that’s half the battle. But you’ll also need to learn at least one programming language well enough to write automated scripts. This can be done within a few months if you’re diligent and have time to devote.
Once you’ve mastered the ability to write automation code, you can seek out SDET jobs — even without professional experience. How? By writing your own scripts for a site or app of your choosing.
Sure, you won’t get credit for having worked for a client or employer in automation. But the proof is in the pudding. If you can share your Github with a potential employer and showcase stellar automation scripts, you’ll be putting your money where your mouth is. (Or rather, your code where your upcoming money is!)
Learn more about creating a QA Resume, read about QA career advice, and find out the best ways to get QA jobs.
Which Career is More Important?
While SDETs make more money (see the salary section above), this doesn’t mean they’re more important than other types of testers.
Manual testers and SDETs both bring different skills to the table. SDETs help ensure that broken functionality gets caught right away. Manual testers bridge the gap, test the design across browsers/devices, and provide valuable feedback on general user experience.
In the best of both worlds, SDETs and other types of testers can work together – providing enduring quality across the website or app.
For more on different types of QA titles, see our article on QA Engineers vs. QA Analysts.