Best QA Test for Test Automation Engineers: Building Your Assessment
What "best" means for QA assessments
There's no single QA test that works for every hire. But there's a pattern that works: a multi-layered assessment that separates test thinking from coding speed, judgment from knowledge, and architecture from syntax.
The best QA test isn't the hardest one. It's the one that reveals whether the candidate will maintain a test suite for three years without burning out.
The ideal assessment structure
Part 1: Test case design (written, 30–45 minutes)
This is non-negotiable. It's the first filter.
Give candidates a realistic feature spec—not "test login" (too vague), not "write 100 test cases" (too much). Something in the middle: "Here's a feature to bulk-import user data from CSV. Write 8–12 test cases you'd propose to your team."
What you're grading:
- Coverage: Do they identify boundary cases (empty file, 100k rows, special characters)?
- Clarity: Can someone else execute these tests without calling them?
- Judgment: Do they prioritize critical cases or treat everything as equal?
- Realism: Do they acknowledge constraints (data setup, environment)?
Use a rubric: coverage 25%, clarity 25%, judgment 25%, feasibility 25%. It's not perfect objectivity, but it's consistent.
Time to grade: 10–15 minutes per candidate. At scale, you can templatize scoring.
Part 2: Automation code (take-home, 2–3 hours)
If they pass part 1, send them a take-home. "Here's a sandbox app. Pick 4–5 of the test cases you just designed and automate them. Use whatever framework you know."
What you're grading:
- Code quality: Readable, maintainable, not overly clever?
- Framework fluency: Valid syntax, proper assertions, smart waits?
- Robustness: Will this test survive a minor UI change, or is it brittle?
- Architecture: Do they use page objects, data setup, teardown?
Don't grade on speed. A candidate who writes 2 solid tests in 2.5 hours is stronger than one who writes 8 quick-and-dirty tests in the same time.
What to ignore: Whether they picked Selenium or Cypress, whether they used a specific library. Those are preferences. The test quality is what matters.
Time to grade: 15–20 minutes. Look for: selectors that won't break, waits that make sense, assertions that test behavior (not just DOM state), and code that's human-readable.
Part 3: Live process interview (60 minutes)
This is where judgment shines. Prepare 2–3 scenarios:
Scenario 1: "Your regression suite is 3 hours long. The team wants to cut it to 1 hour to unblock faster deployments. What's your play?"
Scenario 2: "A critical production bug was missed by your test suite. It's a race condition that happens 1 in 100 times. Walk me through your investigation."
Scenario 3: "A feature launches in 2 weeks. Testing isn't done. Shipping without full coverage will expose us to data-loss risk. What do you propose?"
None of these have right answers. You're listening for:
- Do they ask clarifying questions (team size, user impact, budget)?
- Can they articulate trade-offs without hedging?
- Do they think like engineers (risk, ROI, maintenance) or just like testers (coverage)?
- Are they honest about constraints?
Time: 20 minutes for questions, 10 minutes for their reasoning, 30 minutes for follow-ups and their questions for you.
Part 4 (optional): Code review exercise (30–45 minutes)
If your QA role includes reviewing test code, add this.
Provide a test suite with 3–5 issues: a flaky selector, missing error handling, an over-asserted test, a setup/teardown race condition. Ask them to identify problems and suggest fixes.
What you're grading:
- Can they read and critique code?
- Do they understand failure modes?
- Are their suggestions practical or theoretical?
This is only necessary if your team actually reviews test code. Many don't.
Total time investment
- Part 1 (written): 45 min candidate time, 10–15 min grading
- Part 2 (take-home): 2–3 hours candidate time, 15–20 min grading
- Part 3 (live interview): 1 hour candidate time, 30 min interview, 10 min notes
- Part 4 (optional): 30–45 min candidate time, 10 min grading
Total: 4–5 hours candidate time, 1.5–2 hours recruiter/interviewer time per candidate. That's reasonable for a senior hire.
Screening before this assessment
Don't send the take-home to everyone. Use part 1 (the written test case design) as a screener.
If they can't design a coherent test case in 45 minutes, they won't write solid automation code. Save the 3-hour take-home for candidates who pass the written round.
Rough pass rate: Aim for 40–60% of written submissions to advance to take-home. If it's much higher, your rubric is too lenient. If it's lower, your spec might be unclear.
Grading calibration
Before you hire, calibrate your team on what "good" looks like.
Run the assessment on 2–3 known-good hires from your team. What do their test cases look like? What's their code quality? Use that as your reference standard.
Then run 2–3 known-bad hires (people who didn't work out). What was weak about their submissions? That negative space matters too.
You're not trying to be perfectly objective. You're trying to be consistent.
When to skip parts
Hiring for a manual QA role (exploratory, not automation): Skip part 2 and part 4. Focus on part 1 (test thinking) and part 3 (judgment).
Hiring a mid-level engineer who's portfolio-verified: You might skip part 1 (test design) and go straight to part 2 (code) and part 3 (interview). But only if you've seen their real code already.
Hiring at scale, early stage: Start with just part 1 + part 3 (skip the take-home). It's faster. Once your process is stable, add part 2 for final rounds.
Why this structure beats alternatives
Better than leetcode-style problems: Those test coding speed under pressure, not test thinking or architecture.
Better than single live coding interview: You can't grade someone's ability to design tests or maintain code in a 60-minute live session.
Better than just portfolio review: Portfolios are curated. An assessment shows you their current skill, not their best work three years ago.
The structure works because it separates signal. Test design is different from code quality is different from judgment. You need all three.
Counter-consideration: Maybe you're hiring wrong
Some teams argue you should hire strong engineers who can pick up testing, not specialists who only know testing.
That's fair if your engineers are strong enough. But strong engineers hired to "also do QA" often don't. QA becomes a task they resent. You end up with unmaintained tests and burned-out engineers.
Hire people who chose this discipline. The assessment helps you find them.