SDET, also known as Software Development Engineer in Testing, is a working role in the field of software testing and quality assurance. The term was first used by Microsoft and Google to replace common and repetitive manual testing tasks with automation.
Over the years, more and more companies are hiring SDET because it is a key player in Agile and DevOps. However, it is a challenging role.
Technology changes very quickly and testers need to learn a lot to stay ahead.
This article discusses the role of SDET and why unicorn SDET is so hard to find.
What does SDET do?
SDET is a technical software tester specializing in developing automated test scripts.
Often, they are part of an Agile team, working with developers to help automate acceptance criteria in user stories.
In addition to participating in typical QA activities, they can also write automated integration tests, API tests, and/or UI automated tests.
In addition, SDET can help review unit tests written by developers.
Why SDET?
In every product, there are some core functions that must run on every product release. This means that in each sprint, new functionality and existing functionality must be tested.
Agile development is fast-paced. With short sprints (usually 2 weeks), testers don’t have time to test everything manually.
When testers on the team do not have the skills needed to write automated checks, all tests must be done manually.
Ultimately, testing becomes a bottleneck for software development and release because it takes longer to complete.
Therefore, recruiting and placing SDETs in an Agile team can reduce the burden by automating most of the manual tests and tasks.
Interview and hire SDET
So why is it so hard to find and recruit good SdeTs?
Over the years, most of the so-called SDETs I interviewed either lacked the necessary technical skills or did not understand the principles of quality assurance and testing.
They do not fully understand the main reason for SDET’s role in a team. Most people think that all they have to do is automate acceptance criteria. Let’s be clear, SDET is not an automation engineer.
Striking the right balance between testing ability and technical skills is key.
A great SDET is a trade software tester who is passionate about software quality while being technically adept and possessing the right combination of technical skills.
When interviewing SDET, I always look for QA mentality and technical skills. **
SDET profile – Full stack tester
What is the profile of a good SDET? What skills should SDET have?
Now, some of us have heard of full-stack developers, but can we have full-stack testers?
In my opinion, SDET should have at least the following skills and attributes:
- Have the mindset of a tester who is curious and can come up with interesting test scenarios
- Deep understanding of testing principles and methods
- Know that all tests are exploratory, and understand the difference between tests and inspections
- Appropriate test methods can be used for a given application
- Know the difference between testing and quality assurance
- You can write code in at least one script or programming language (Java and Javascript happen to be the most popular)
- Know HTTP and how to build modern Web applications
- You can write UI and API automated tests. One of them is not good enough!
- Know Git, Pull Requests, Valiant etc……
- Agile in nature, and know how testing fits into agile models
- Ability to write performance test scripts (Gatling and/or JMeter)
- Consider security and understand OWASP
- Understand CI/CD and build pipelines
- Understand the services offered by Cloud platform providers such as AWS, Azure and Google Cloud
Be a great SDET
If software testing, interface testing, automated testing, performance testing, LR script development, interview experience exchange. If you are interested, you can go to 175317069. There will be free information links in the group from time to time, which are collected and sorted out from various technical websites. If you have good learning materials, you can send them to me privately.
As you can see, the range of skills SDET expects is very broad.
My advice to testers who want to become SDET and remain relevant in the new era of QA is:
Make sure you have all of the above skills in your SDET profile, but at a minimum:
Know and understand the basics of testing
First, understand the basics of software testing.
It’s nice to be on the same page with developers and be able to write nice code. But if you don’t have a QA mindset, if you don’t provide enough solutions to test user stories and features in depth, then you’re not adding any value. You can also work harder and become a developer.
Understand and understand HTTP Most modern Web applications interact with apis.
Knowing and understanding the HTTP architecture and how the Web works is critical. If you can’t tell the difference between A POST request and a GET request, or if you don’t know how to parse JSON, how do you effectively test the API?
Invest time in learning API testing tools like Karate.
You can’t call yourself SDET if all you want to do is automate testing and all you know is Java and Selenium.