SDET Career & Interviews
SDET Interview Preparation: A 6-Week Plan
A week-by-week SDET interview plan covering coding, automation frameworks, API testing, system design and behavioural rounds, plus how to present your framework.
· 9 min read
Learn · Practice · Automate
Learn software testing, master automation frameworks, practise real-world challenges and prepare for your next engineering interview, all in one place.
Free · no account required · progress saved in your browser
test('refunds an order', async ({ page }) => {
await page.goto('/orders');
// Scope to the row, then find the button by role
const row = page.getByRole('row', { name: /Order #1042/ });
await row.getByRole('button', { name: 'Refund' }).click();
await expect(row.getByRole('status'))
.toHaveText('Refunded');
}); Questions link to the lessons that teach them, lessons link to the labs that test them, and articles link to the tools that help.
01 / Practice
Interview questions, coding challenges, browser labs and timed mock interviews.
119 questions · 66 challenges
Start practising02 / Tools
Free utilities for JSON, APIs, bug reports, test cases and your career. No sign-up.
57 tools
Open the toolkit03 / Learn
Seven structured paths, from testing fundamentals to AI in quality engineering.
7 paths · 69 lessons
Pick a path04 / Blog
In-depth articles that link straight to the labs and tools to try what you read.
Reviewed for accuracy
Read the blogInteractive labs
Every lab states exactly how it checks your work: real execution, a real DOM, or pattern validation. You never see a simulated pass.
Interview questions
119 questions across 23 topics, answered the way a senior SDET would answer them.
Free tools
Everything runs locally in your browser. Paste production-like data without it leaving your machine.
Learning roadmaps
Follow a path from fundamentals to framework architecture. Mark lessons complete as you go, no account needed.
AI in testing
LLM-assisted test design, agentic browser automation, MCP, and how to test LLM-powered features with evals. Every lesson marks what is established practice and what is still experimental.
Latest articles
SDET Career & Interviews
A week-by-week SDET interview plan covering coding, automation frameworks, API testing, system design and behavioural rounds, plus how to present your framework.
· 9 min read
AI in Software Testing
How to test LLM-powered features: eval datasets, deterministic and semantic assertions, LLM-as-judge and its biases, regression evals in CI and prompt injection.
· 11 min read
JavaScript for Testers
The async JavaScript bugs that break test suites: forEach with await, missing awaits on Playwright assertions, Promise.all misuse and how the event loop orders work.
· 9 min read
About SDETRole
SDETRole is a free learning and practice platform for software development engineers in test (SDETs), QA automation engineers and anyone moving into quality engineering. It brings together four things that are usually spread across a dozen bookmarks: an SDET interview question bank with senior-level answers, hands-on automation testing labs that check your work, free QA tools for everyday testing tasks, and structured software testing learning paths. Articles on the QA engineering blog tie them together by linking each topic to the lab, tool or question that lets you try it.
Everything runs in your browser. There is no account to create, your progress and bookmarks are stored locally, and the tools never upload the data you paste into them.
Testing tools change quickly. Playwright has replaced Selenium as the default in many new projects, API and contract tests carry more of the regression load than they did a few years ago, and LLM-powered features have created new things to test. Reading about a technique is rarely enough to use it under interview pressure or in a flaky CI pipeline. What builds confidence is writing the locator, the assertion or the query yourself and seeing whether it holds up. SDETRole is built around that loop: learn a concept, practise it with feedback, then review the interview questions that test it.
The question bank has 119 questions across 23 topics, including Playwright interview questions, Selenium interview questions, Cypress interview questions, API testing interview questions and JavaScript interview questions for testers, as well as manual testing, SQL, CI/CD, framework design and system design for SDETs. Each question is tagged by difficulty and experience level and answered the way a strong candidate would answer it: the short version first, then the reasoning, trade-offs and code.
Try answering before you reveal the model answer, bookmark the ones you struggle with, and when you feel ready, take a timed SDET mock interview. It scores your written answers against a published rubric of key points, so you can see exactly which ideas you missed.
There are 66 lab challenges, and each lab states exactly how it checks your work, so you never get a simulated pass:
By strategies with real XPath and CSS engines and validates Java snippets for waits, frames and page objects.The toolkit has 57 browser-based utilities for the small jobs that interrupt real testing work. Format and validate API responses with the JSON formatter and JSON diff checker, inspect tokens with the JWT decoder, build requests with the cURL generator or API payload generator, and write consistent documentation with the Jira bug ticket generator and test case generator. Each tool page explains how to use it, shows examples and links to the lessons behind it.
The 7 learning paths contain 69 published lessons, ordered so each one builds on the last. Beginners start with software testing fundamentals (SDLC, STLC, test design and bug reporting) and programming for testers. From there, the API testing tutorial and automation frameworks path cover Playwright, Selenium, Cypress, the page object model and CI integration, followed by DevOps for QA and performance, security and accessibility testing. If you are not sure where to begin, the SDET roadmap sets out what to learn and in what order.
The AI in software testing path is written for working engineers rather than as marketing. It covers AI-assisted test generation, agentic browser automation, the Model Context Protocol (MCP) in QA workflows, self-healing locators and, most importantly, how to test LLM-powered features with evaluation sets and quality gates. Each lesson separates established practice from ideas that are still experimental.
Moving from manual testing to automation, or from automation engineer to SDET, is mostly a matter of demonstrable skills. Use the skills gap checklist to find what to work on next, the ATS resume checker and SDET resume builder to present it, and the CTC calculator and salary hike calculator to compare offers. The SDET interview preparation roadmap turns all of this into a week-by-week plan.
Most testing resources are either reading material or tools on their own. SDETRole connects them: questions link to the lessons that teach them, lessons link to the labs that test them, and tools link back to the concepts behind them. The content is reviewed for technical accuracy, the code samples target current tool versions, and every lab is honest about how it grades your work. Start with one practice challenge, one tool or one lesson, and see where you stand.
FAQ
Straight answers on the SDET role, QA careers, automation tools and interview preparation.
An SDET (Software Development Engineer in Test) is an engineer who uses programming skills to test software. Instead of only executing test cases, an SDET designs automation frameworks, writes UI, API and integration tests, builds test tooling and wires tests into CI/CD pipelines so every change is checked automatically. The role sits between development and QA: SDETs read and review product code, but their main output is the code and infrastructure that proves the product works.
SDET stands for Software Development Engineer in Test. Some companies write it as Software Design Engineer in Test or Software Development Engineer in Testing; the meaning is the same. The title became widely known through Microsoft and is now used by many product companies for engineers who build test automation. Related titles include Quality Engineer, QA Automation Engineer, Test Automation Engineer and Software Engineer in Test (SET).
Day to day, an SDET builds and maintains the automated checks a team relies on. Typical work includes designing the test framework, writing Playwright or Selenium UI tests and API tests, creating test data, fixing flaky tests, adding quality gates to the CI pipeline, reviewing pull requests for testability and pairing with developers on what to test. In many teams the SDET also owns the test strategy for a feature, deciding which risks need unit, API, UI or manual coverage.
The difference is mostly emphasis. A QA engineer focuses on finding defects and judging quality: analysing requirements, designing test cases, exploratory testing, bug reporting and release sign-off, sometimes with some automation. An SDET focuses on engineering: writing production-quality test code, building frameworks and tooling, and integrating tests into CI/CD. Titles vary between companies, so read the job description. Many QA engineers move into SDET roles by adding programming and automation skills; the SDET roadmap shows how.
An automation tester usually turns existing manual test cases into automated scripts inside an established framework. An SDET is expected to go further: design the framework itself, decide what to automate at which layer (unit, API or UI), write maintainable code that passes code review, build test utilities and data pipelines, and contribute to CI/CD and sometimes product code. In practice the titles overlap and many companies use them interchangeably, so compare the responsibilities, not just the title.
For people who enjoy both coding and breaking things, yes. SDETs combine software engineering skills with testing judgement, which keeps the skill set transferable: experienced SDETs move into senior quality engineering, test architecture, developer productivity, DevOps and platform roles, or software development. Pay and demand vary by country, company and market cycle, so research local job listings. The strongest candidates code confidently, test at the right layer and explain trade-offs, which is what the SDET interview questions on SDETRole target.
You are not doomed, but the role is changing and it rewards people who change with it. Purely manual or record-and-playback roles have become harder to find, while teams still need engineers who can design reliable automation, test APIs and distributed systems, and evaluate AI features. If you are worried, invest in what is hard to replace: solid programming, test design, debugging flaky systems and CI/CD. Build a small public project and practise in the hands-on labs so you can show those skills, not just claim them.
The work is shifting rather than disappearing. Teams are testing earlier (shift-left), expecting developers to write more of their own unit tests, and adopting AI tools that speed up test writing. That pushes QA and SDET roles towards higher-value work: test strategy, framework and platform engineering, API and contract testing, performance and security checks, and testing AI-powered features. Engineers who combine testing judgement with strong coding and AI literacy are well placed; the AI in testing path covers that last part.
No. Some companies have reduced or removed dedicated QA teams and made developers responsible for testing, and those changes get a lot of attention. Many others, especially in regulated industries, finance, healthcare, e-commerce and large platforms, still hire QA engineers and SDETs, sometimes under titles like Quality Engineer or Software Engineer in Test. What is shrinking is demand for purely manual, script-following testing. Demand for engineers who can automate, design test strategy and shorten feedback loops remains.
Start with testing fundamentals, then learn one programming language well: JavaScript/TypeScript, Java or Python. Next, learn API testing, one UI automation framework such as Playwright or Selenium, SQL, Git and CI/CD. Build a small framework that tests a real application, runs in GitHub Actions and lives in a public repository. Finally, prepare for interviews with coding and framework design questions. The SDET roadmap lays out this order with lessons and labs for each step.
Core SDET skills are software testing fundamentals and test design; programming in at least one language (data structures, OOP and async code); UI automation with Playwright, Selenium or Cypress; API testing with HTTP, JSON and tools such as Postman or REST Assured; SQL for data checks; Git; and CI/CD such as GitHub Actions or Jenkins. Debugging, clear bug reports and communication matter as much as tools. The skills gap checklist shows where you stand.
Not for every testing role. Manual, exploratory, usability and acceptance testing can be done without programming. But most automation, SDET and senior QA roles require coding, and even manual testers benefit from basic SQL, reading API responses and understanding the code they test. If you are starting out, you can begin testing without coding and learn a language gradually; the programming for testers path is written for exactly that.
Pick the language your target companies or current team use, because test code usually lives next to product code. With no constraint, JavaScript or TypeScript is a strong default: it pairs with Playwright and Cypress and is common in web teams. Java remains widespread with Selenium and REST Assured in enterprise projects, and Python is popular with pytest and Playwright for Python. The concepts transfer, so learning one language deeply beats learning three superficially.
Learn in small, practical steps. First understand what to test: test cases, boundary values and bug reports. Then learn basic programming, followed by one automation tool; Playwright is beginner-friendly because of its auto-waiting and test recorder. Write tests against a practice application, run them from the command line and add them to a CI pipeline. Practise often with feedback: SDETRole's Playwright lab and JavaScript challenges run your code in the browser and show what failed.
A practical order is: testing fundamentals and test design; one programming language; Git and the command line; API testing with HTTP and JSON; a UI framework such as Playwright or Selenium; framework patterns like page objects and fixtures; CI/CD and running tests in pipelines; and SQL and test data. Add performance, security and AI testing later. The SDET roadmap follows this sequence and links each stage to lessons and labs.
In manual testing, a person executes tests and judges the result. It suits exploratory testing, usability, features that change often and one-off checks. In automation testing, code executes tests and compares results automatically. It suits regression suites, API checks, data-driven tests and anything that runs on every commit. They complement each other: automation gives fast, repeatable feedback, while manual testing finds the issues no one thought to script.
A useful baseline: a bug tracker such as Jira; browser DevTools for inspecting elements, network calls and console errors; an API client such as Postman or cURL; SQL for checking data; Git; one UI automation framework (Playwright, Selenium or Cypress); and a CI system such as GitHub Actions or Jenkins. Small utilities help too: SDETRole's free QA tools include a JSON formatter, a bug report generator and a test data generator that run in your browser.
For many new web projects Playwright is the more productive choice: auto-waiting, web-first assertions, parallel runs, tracing, network mocking and a built-in test runner come out of the box. Selenium is not obsolete, though. It implements the W3C WebDriver standard, supports more languages, drives branded browsers including Safari through vendor-maintained drivers, and powers many enterprise frameworks and grids. Which is better depends on your stack. Try both in the Playwright lab and Selenium lab.
Both are modern tools with a good developer experience. Playwright drives Chromium, Firefox and WebKit, handles multiple tabs and origins, runs tests in parallel with built-in sharding, and also has Python, Java and .NET bindings. Cypress runs inside the browser, which gives an excellent interactive runner and time-travel debugging, but it is JavaScript-only and multi-tab flows are limited. Playwright suits broad browser coverage and complex flows; Cypress suits teams already invested in it. Compare their architectures in the Cypress interview questions.
API testing checks an application through its interfaces directly, without the UI. You send HTTP requests such as GET or POST to endpoints and verify the status code, response body, headers, schema, error handling, authentication and performance. Because APIs sit below the UI, these tests are faster and more stable than browser tests and catch business-logic bugs earlier. Try it on the free API testing playground or start with HTTP fundamentals.
Use a practice API that behaves like a real one, with validation errors, authentication and pagination, rather than a toy endpoint that always returns 200. SDETRole's API testing playground lets you send GET, POST, PUT, PATCH and DELETE requests from your browser, inspect status codes and headers, and complete exercises that check your actual responses. Then automate the same calls with Playwright's request API, or build commands with the cURL generator.
Yes. Playwright is open source and its official documentation is free. On SDETRole you can learn and practise without installing anything: the Playwright getting-started lesson covers setup, and the Playwright practice lab runs your locators and test specs in the browser against a demo app, including challenges where your tests must catch planted bugs. When you are ready, install it locally with npm init playwright@latest.
Prepare across five areas: coding (arrays, strings, maps and async code), testing fundamentals and test design, an automation framework such as Playwright or Selenium, API testing, and SQL. Senior roles add framework design, CI/CD and test strategy. Practise answering out loud, solve coding problems in the language you will use, and review a framework you have built so you can explain your decisions. SDETRole's interview questions and timed mock interview help you rehearse.
Frequent questions include: explain the test pyramid; how do you decide what to automate; how do you handle flaky tests; implicit versus explicit waits in Selenium; how Playwright auto-waiting works; how would you design a test framework; PUT versus PATCH and idempotency; which status codes would you assert; write SQL to find duplicate records; and a coding task such as grouping or de-duplicating data. The SDET interview question bank answers each one at senior level.
AI in software testing covers two things. The first is using AI to help testing: generating test ideas and code with large language models, self-healing locators, visual comparison and smarter test selection. The second is testing AI systems themselves: checking LLM-powered features for accuracy, hallucinations, bias, safety and prompt injection, which needs evaluation datasets rather than exact-match assertions. Both are growing skills for QA engineers, and the AI in testing learning path explains them with examples.
Partly. AI tools can draft test cases, generate automation code, suggest locators, summarise failures and explore an application through agents. They still make mistakes: generated tests can assert the wrong thing, miss edge cases or treat a bug as expected behaviour. Someone must decide what matters, review the output and own the results. Treat AI as an accelerator for an engineer, not a replacement for test design. The lesson on AI-assisted test generation shows how to use it safely.
Pick a lab, solve one problem, and see exactly where you stand. No sign-up, no paywall.