Photo by Bench Accounting on Unsplach

I have heard many times about such a specialty in testing as SDET aka Software Developer Engineer in Test. Every time I thought, what does this specialist do? What are his main responsibilities? What level of knowledge do you need to have to consider yourself SDET?

This is the direction itself, the reason for constant discussions, disputes and disagreements. Today we will try to understand this.
For example, let’s compare several specialties or even professions and understand who is still such an engineer software developer in testing(SDET). We compare engineer software testing(STE) engineer with automated testing(STAE) and, accordingly, engineer software developer in testing(SDET)?

Also, it will not be superfluous to answer a few questions, namely:
– Should a software engineer in testing (SDET) have something to do with “manual” testing? Possess this skill ? To understand this direction and apply it in practice ?
– Is it true that a software engineer in testing(SDET) is responsible for detecting problems in a manufactured product? Or is he just responsible for creating and maintaining automated tests on the project?
– What are the responsibilities of a software engineer in testing (SDET) on a project ?

Software testing engineer(STE) — performs “manual” testing, compiles documentation and analyzes data (without wasting time on automation and support of auto tests). Usually responsible for finding all (as important as possible) critical errors in the software.

In other words, software testing engineers(STE) are responsible for finding and providing information about how the software works and should work in a variety of environments, and must have knowledge of software testing and data analysis to draw appropriate conclusions.

Automation engineer software testing(STAE) designs test architecture, develops scripts (using test tools such as Selenium, QTP, IBM Rational Functional Tester), and emulators, system utilities, and libraries for test automation tasks. Runs automated scripts and analyzing understands the results. Is engaged in the analysis of requirements imposed to the developed system.

Engineer software developer in testing(SDET) designs and develops test tools to improve the quality and efficiency of software product testing, writes a software platform for test automation, produces unit testing.

Typically, a software developer engineer in testing(SDET) is part of the development team and uses the same tools, knowledge, and experience as all developers on a project. The main difference, however, is that they have different directions and different goals. Typically, the code generated by SDET is intended for automated test cases, as well as for their creation and reporting.

Should a software developer engineer in testing(SDET)have something to do with manual testing, have this skill ? To understand this direction and apply it in practice ?

Can a software engineer in testing(SDET) perform “manual” testing? Yeah, maybe. As a rule, he has such a level, skills and qualifications and can easily apply it in practice. But it is unlikely to work in this direction on the project. This specialist is more “focused” on writing tools and automated scripts for testing the software product. This direction is rather the prerogative of the software testing engineer (STE). But with rare exception, there are cases when this specialist is engaged in manual testing. But then most likely the problem is the disgusting management of the project.
The fact that the use of a specialist of this level for manual testing is impractical both from a professional and from a financial point of view.

Is it true that a software engineer in testing(SDET) is responsible for detecting problems in a manufactured product? Or is he just responsible for creating and maintaining automatic scripts on the project?

Any specialist related to the direction of software testing whether it is a tester, a testing engineer or a software quality Manager who does not detect problems and errors can not be an expert in the field of software testing.
Engineer software developer in testing (SDET) is primarily a tester and belongs to the testing Department. Therefore, Yes, it should find and document errors whenever possible.

What are the responsibilities typically assigned to a software developer engineer in testing(SDET) on a project ?

An engineer a software developer in testing(SDET) must do everything a tester does on a project, and create or use testing tools. Its main focus will be on writing automated test checks, but it can also create test data, create test tools, test devices, test performance, test security.

Summary
Software engineer in testing(SDET) develops testing tools, writes test scripts, and can do unit testing on a project(if necessary). He has a high professional level in the field of both manual and automated testing, has knowledge in the field of programming(to create high-quality, supported and executable code), algorithmization, data structures and load testing. He is an engineer in the field of information technology, has a high level of knowledge in the field of network technologies. The main goal of this specialist is to increase the efficiency of automated testing on the project.

I’m a software engineer who specializes in testing and automation. My top languages are Java and Swift. My blog is https://test-engineer.site/