What is an SDET?

SDET stands for Software Development Engineer in Test (or Software Design Engineer in Test). The SDET role can be compared with that of the SDE (Software Development Engineer) role. The latter is what most people would think of when they say “Developer”. An SDE (depending on level and seniority) will Architect, Design, and Implement software systems that will be used by the target end users. SDEs are responsible for the quality of their software and will implement testing (often unit tests), as well as seek reviews for both their designs and their code. SDEs will often have influence on the software processes employed, and be responsible for following best practices in software development.

The SDET is also a developer. The SDET must have knowledge of what represents good software design. The SDET must be able to create high quality, maintainable, and performant code. The code generally created by the SDET however are for automated test cases and the frameworks to execute and report them. An SDET’s knowledge of software design is often focused on testability, robustness, and performance, and they usually play a contributory or reviewer role in the creation of designs for production software. An SDETs skill set will often include more experience in software processes and how to test software. Testing software is generally  done so as to assess and mitigate risk, and SDETs need to be expert in this. So an SDET can be summarized as having development skills and software quality skills. While SDEs should have this also, SDEs balance more towards the former while SDETs balance more towards the latter.

What you need ?

  • Programming experience a must
    • Key here is that the candidate is a Developer. Strong QA candidates without development experience are generally not acceptable for this role.
  • Test Automation
    • Writing code to test code: UI and API level testing
    • Creating, modifying, or designing test frameworks
    • Good: Selenium, JUnit, NUnit, TestNG, etc.
    • Using “canned” products like QuickTest Pro, TestDirector, SilkTest is generally *not* sufficient
  • SDLC and Software Processes
    • Agile/Scrum a plus
  • QA interest / enthusiasm / experience
    • Created Test Cases, Test Plans
    • Debug / troubleshoot issues that they found (deep dive)
    • Bug reporting / triage / prioritization
    • Was responsible for guiding quality on production release
    • Functional, load, stress, user interaction testing
  • Customer focus
    • Customer facing experience a plus
  • “Soft” Skills
    • Communication
    • Driving consensus
    • Leadership
    • Creativity
  • Technologies
    • Must have experience programming a high-level OO language (C#, Java, C++, or C#)
      • C#/.NET experience highly preferred
    • RDBMS, SQL, stored procedures. SQL Server preferred.
    • Web technologies: HTML, JavaScript, web services, XML, CSS
  • And More

Reference: Seth Eliot © http://blogs.msdn.com/b/seliot/

This is a open-source international community to improve software testing practices, send your post here


Leave a Reply