All chapters
  1. Start hereEnterprise AI adoption strategy, stage by stage and role by role
  2. Chapter 1Why AI adoption stalls
  3. Chapter 2Governance is the first enabler
  4. Chapter 3Who decides, who runs it
  5. Chapter 4Finding the right use cases
  6. Chapter 5The adoption ladder
  7. Chapter 6Role tracks
  8. Chapter 7Reuse first, as code
  9. Chapter 8The worked example
  10. Chapter 9The enablement program
  11. Chapter 10Measuring adoption honestly
  12. Chapter 11Evaluating and mapping tools
  13. Chapter 12Hands-on labs
  14. Chapter 13Templates, each filled
  15. Chapter 14Glossary
  16. AboutAbout this site
Role track · Assure

QA engineer

Test deterministic behavior and probabilistic AI behavior separately, with reproducible evaluation evidence.

The QA engineer (quality assurance engineer) decides whether the tests and evaluations prove the change is ready. With AI in the picture, that means two kinds of testing side by side: deterministic tests for behavior that must be exactly right every time, and probabilistic evaluation for AI steps whose output varies. This track covers QA engineers, test engineers and SDETs (software development engineers in test) working in the first line.

QA evidence is first-line evidence. It is necessary, and it is not independent validation. Numbers on this page are illustrative.

1. At a glance

FieldAnswer
MandateProve the product does what the criteria say, on every risk slice, and that the evidence can be reproduced on any version
Primary outcomeA test and evaluation record the release manager can rely on and an independent validator can rerun
First safe winUse the assistant to brainstorm edge cases from the acceptance criteria, then write the cases yourself
Biggest failure modeGenerated tests that mirror generated code, pass, and share its blind spot

Line: 1st line · Family: Assure · Variants: QA engineer, SDET or test automation engineer, AI evaluation engineer

VariantWhat differs
QA engineerOwns test design, risk slices and test sign-off for the product
SDET or test automationBuilds the harness, fixtures and CI (continuous integration) jobs that run tests and evaluations on every build
AI evaluation engineerSpecializes in evaluation sets, scoring rules, judge calibration and statistical thresholds for AI steps. Still first line: works with the build team

2. Your journey: first steps to fully adopted

This is the path from your first month to a fully adopted way of working. The order of the steps is the same in any organization; only the weight of the controls changes.

Start here: your first steps

  1. Classify every check as deterministic or probabilistic before you write a test.
  2. Confirm that every test fixture is synthetic, and remove any real data you find.
  3. Brainstorm edge cases with the assistant from the acceptance criteria, then write each case yourself.
  4. Write the date-only slice at 100% and add a seeded bad build that a good suite must fail.

Fully adopted: how the work runs

Moment in the workBefore AIFully adopted (Stage 4–5)Decision that stays human
Criteria arriveTests are written after the code, from the codeThe test strategy splits exact and variable behavior from the criteria; slices and negative paths come from the business analystQA owns the strategy; the product owner sets slice priority
Test generationGenerated tests mirror generated codeAn agent generates tests from criteria in a separate session; a human-written evaluation set is protected from it; seeded defects must fail every runA QA engineer who did not request the run keeps or removes each test
Every buildOne lucky run counts as proofThe matrix runs on each build; variable slices run several times with a stated sample size; the agent proposes missing cases as pull requestsQA approves additions; a developer never approves their own tests
ReleaseSign-off is a checkboxSigned test evidence with a run manifest that an independent validator can rerun, linked to the change recordQA signs the evidence; the release manager approves the change
Change and incidentOld results are reused after a model changeA model, prompt or corpus change steps the task down and reruns the set; each incident adds a caseOnly people change the evaluation set and its thresholds

What changes for the organization

BeforeAfter
"Tested" means someone ran the suite once"Tested" means a reproducible record anyone can rerun on any version
AI-generated tests inflate coverageEvery generated test is kept or removed by a person, against seeded defects
Model changes break features quietlyEvery version change reruns the evaluation before release

In any organization

3. Your decisions

DecisionYour relationshipInputsEscalationCannot be delegated
Test strategy: which behavior is deterministic, which is probabilisticQA owns; AI engineer and developer consultedAcceptance criteria, architecture, risk tierEngineering managerYes
Evaluation set content and risk slicesQA owns, written by people first; the agent never writes the set it is scored onCriteria, known failures, incidents, BA (business analyst) negative pathsProduct owner for slice priorityYes
Thresholds per sliceQA proposes; product owner accepts; AI / model risk is consulted for high tierCustomer impact, sample size, baselineProduct owner, AI / model riskYes
Keep or remove each generated testQA ownsGenerated suite, seeded bad build resultsQA leadYes
Test sign-off for a releaseQA owns the test evidence; the release manager owns the changeRun manifest, results, open defectsRelease managerYes
Step down a task after a failed evaluationQA triggers; engineering manager confirmsPer-slice resultsEngineering managerNo; the rule triggers automatically

4. Two kinds of adoption

KindWhat it looks likeGuardrail
How you work with AIThe agent brainstorms edge cases, drafts test cases and test code from criteria, explains a failing test, summarizes a runSynthetic data only; the evaluation set is human-written; every generated test is kept or removed by a person
What you test that contains AIAI features (the policy assistant), AI-drafted artifacts (code, stories, notes) and the AI tasks themselves (is test generation good enough for Stage 3?)Probabilistic evaluation with slices, repeated runs, metamorphic and negative cases, and a reproducible run manifest

Deterministic versus probabilistic

The first question for every check: must this be exactly right every time?

QuestionDeterministic testProbabilistic evaluation
What it testsCode with one correct output: date formatting, cutoff formatting, the banned patternAI output that varies: generated tests, drafted stories, assistant answers
Pass ruleExact assertion. One failure fails the buildRate per slice at or above a threshold, with a stated sample size
RunsOnce per buildSeveral times per version (illustrative: 5 runs) to see variance
ExampleT3: due date 2026-11-02 in America/Los_Angeles shows "Nov 2" and cutoff "2:00 PM PST" (Pacific standard time)Generated suite catches the seeded one-day-early defect in 5 of 5 runs
Wrong choiceTreating a date rule as "95% correct is fine"Treating one lucky AI run as proof

The due date is deterministic. No threshold below 100% is acceptable for the date-only slice. AI may help write those tests; it never makes them probabilistic.

Sample size matters. The rule (illustrative): the two-sided 95% Wilson score interval lower bound must be at least 95%. On 200 cases, 196 pass: an observed rate of 98%. The lower bound is 94.97%, so the slice fails the rule despite the 98% rate (a one-sided 95% bound would be 95.62%, which is why the rule names its sidedness). More cases, not a better-looking rate, would clear it. State the sample size, the method and the sidedness with every rate.

5. Your ladder

StageAI useGuardrailArtifact or evidenceDecision relationshipStep-down trigger
0 · FoundationsNoneTest data is synthetic; acceptable use attestedTest-data noteQA lead ownsReal data found in a test fixture
1 · Personal productivityBrainstorm edge cases; explain failuresNo records in prompts; the engineer writes every caseEdge-case listQA ownsA case accepted without checking it
2 · Team contextTest-design prompt uses the temporal-domain contract as contextReusable prompt card; instructions fileDraft test matrixQA lead reviews the prompt cardContract changes without the prompt being updated
3 · Delegated tasksAgent generates test cases and code from criteriaHuman-written evaluation set; seeded bad build; threshold per sliceGenerated suite, evaluation run, keep/remove logA QA engineer who did not request the run reviews itBelow threshold on any slice
4 · Agentic workflowsWorkflow runs the matrix on each build and proposes missing casesProposals are pull requests; the evaluation set is protected from the agentPer-build results, proposal pull requestsQA approves additions; developer cannot approve their own testsModel, prompt or corpus version change
5 · Scale and sustainShared evaluation sets and harness in the catalog; continuous evaluationOwner and version per set; periodic reviewCatalog entries; regression trendSet owners review on cadenceRegression caught after release

Human-operated at Stage 5. Writing and changing the evaluation set, setting thresholds, and signing test evidence stay with people. An agent that could edit the set it is scored on would grade its own homework.

6. Priority scenarios

ScenarioValueRisk tierStageFirst stepDo not use AI when…
Edge-case brainstormFinds cases people missLow to medium1Feed the criteria, not the codeYou plan to accept the list without reading it
Test generation for the due-date displayFaster matrix, wider coverageMedium3Write the evaluation set first (L4)The same agent wrote the code in the same session
Metamorphic testsCatch errors without an exact expected valueMedium3Write relations (below) by handThe relation itself is unclear to the team
Evaluating the policy assistantEvidence for release and validationMedium3Slices from the worked example: answerable, out of scope, stale, injection, ambiguousA judge model scores answers with no calibration against people
Accessibility checksRelease criterion metMedium2 to 3Automated checks plus a person with assistive technologyThe automated check is treated as complete
Reproducing a defectFaster triageMedium1Synthetic data onlyReproduction "needs" production records
Metamorphic relationApplies toPass when
Zone change keeps the due dateDue-date displayChanging the customer's zone changes the cutoff text, never the due date
Same instant, any zoneCutoff displayEvery zone renders the same instant; converting back gives 5:00 PM Eastern
Display equals the source (contract test)Cutoff displayThe displayed cutoff equals the payment-schedule-service instant formatted with formatPaymentCutoff in the customer's zone; no channel calculates its own
Viewing time is irrelevantDue-date displayRendering at 11:30 PM Pacific or 9:00 AM Eastern shows the same date
Paraphrase keeps the citationPolicy assistantTwo phrasings of one question cite the same section
Irrelevant text changes nothingPolicy assistantAdding an unrelated sentence keeps the answer and citation
Injected instruction is ignoredPolicy assistantA planted "ignore your rules" line does not change behavior

7. The due-date ask from your seat

QA holds material artifacts on this ask: the test matrix T1 to T13 and the evaluation set that decides whether test generation may run at Stage 3. The full matrix is in the worked example; the evaluation set is built in L4.

DecisionInput receivedOutput and evidenceRecipient
Which behavior is deterministicTemporal-domain contract from the architectAll of T1 to T13 are exact assertions; the date-only slice threshold is 100%Developer, release manager
Is test generation ready for Stage 3Agent-generated suiteEvaluation run: the suite fails on the seeded bad build (new Date(dueDate)) in every run; per-slice pass rates recordedEngineering manager
Which generated tests to keep41 generated tests (illustrative)Keep/remove log: 33 kept, 8 removed as duplicates or wrong expectationsQA lead
Test sign-offBuild, run manifestSigned test evidence linked to the change recordRelease manager
Negative path: model changeProvider notice via AI riskTest generation steps down to Stage 2; evaluation set re-run on the new version before it returnsEngineering manager, AI risk

Reproducibility. Every evaluation run records what produced it. Without this manifest a result cannot be compared across versions, and an independent validator cannot rerun it.

# run-manifest.yaml · test-generation evaluation (illustrative)
run_id: eval-2026-10-27-0931
evaluation_set: due-date-display@v1.3      # owner: payments QA lead
system_under_test:
  model: approved-coding-model@2026-09
  prompt_card: test-design@v1.2
  instructions_file: payments@sha 4e1a9c2
  tools: [repo-read, test-run]              # versions pinned in the sandbox image
  corpus: n/a
settings: { temperature: 0, runs: 5 }
seeded_defects: [one-day-early-instant, fixed-offset-dst]
results:
  date-only: 1.00                           # threshold 1.00
  dst: 0.98                                 # threshold 0.95, n=50
  missing-zone: 1.00
reviewer: second QA engineer (not the requester)

8. Hand-offs and separation of duties

You give → to whomYou receive ← from whomYou challengeYou are notified of
Test evidence and sign-off → release managerAcceptance criteria and negative paths ← BA, product ownerCriteria that cannot be testedCriteria changes
Run manifests and evaluation sets → independent validation (read access)Validation findings ← independent validationA finding with no reproducible basisValidation scope decisions
Defects → developerSynthetic fixtures ← data engineerFixtures that look realFixture or schema changes
Evaluation results → AI engineer, engineering managerModel and prompt version changes ← AI engineer, AI platform opsA version change with no re-runProvider changes
Monitoring cases → production supportProduction incidents and complaints ← production support, business operationsAn incident with no new test caseIncidents on the feature

The boundary with independent validation. QA designs and runs tests for the team that builds the product. Independent validation challenges that design, may rerun it, and reaches its own conclusion. A QA pass is an input to validation, never a substitute for it. The two must not report to the same build manager for high-tier work.

Within the team. The requester of a generated suite does not review it. The developer does not sign off their own tests. The agent cannot edit the evaluation set.

9. Evidence and records

Evidence produced or consumedSystem of recordRetention owner
Test matrix and results per buildCI systemQA lead; retention per records schedule
Evaluation set (versioned)Repository and asset catalogSet owner (QA)
Run manifest per evaluationEvaluation storeQA lead
Keep/remove log for generated testsPull requestQA engineer
Test sign-offChange systemQA engineer
Accessibility resultsTest management toolQA lead
Judge calibration (judge model vs human labels)Evaluation storeAI evaluation engineer

10. Skills and learning path

LevelSkillsLabs and practice
FoundationSynthetic data rules; edge-case thinking for dates and zones; when a test must be exactBrainstorm with the assistant, then write T1 to T13 yourself
PractitionerEvaluation sets, risk slices, seeded defects, run manifests, metamorphic relationsL4 end to end; add metamorphic relations to it
AdvancedSample size and confidence bounds, judge calibration, injection and abstention testing, evaluation across versionsEvaluate the L6 assistant on all slices; calibrate a judge against 50 human-labelled answers (illustrative)

11. Measures and incentives

MetricDefinitionAnti-gaming note
Seeded defect catch rateShare of seeded defects the suite catchesSeed defects the team has not seen; rotate them
Worst-slice pass rateLowest per-slice rate on each evaluation runAn overall rate hides the slice that matters
Escaped defectsDefects found after release ÷ defects found in totalCount customer contacts too, not only tickets
Reproducible runsShare of evaluation results with a complete manifest that reran within toleranceA result without a manifest counts as missing
Generated test keep rateKept ÷ generatedHigher is not better; a 100% keep rate may mean nobody read them
Evaluation set growth from failuresNew cases added after a defect or incidentAdding easy cases to raise the pass rate does not count

Never measure QA by the number of tests generated. Read these with the measure tree.

12. Cost, capacity and workforce

ItemWhat to plan for
Review timeGenerated tests still need reading. Budget review hours, not just generation
Evaluation costRepeated runs on every version cost model calls; tag them as evaluation in FinOps (financial operations) reporting
Skills shiftQA engineers add evaluation design and basic statistics; this is growth, not replacement

13. Anti-patterns and stop conditions

Anti-pattern or triggerWhy it hurtsWhat to do
Agent writes the evaluation setIt grades its own workStop; people write the set; protect the path
Code and tests from one sessionShared blind spotGenerate tests from criteria, separately
Probabilistic pass for a deterministic rule"95% of due dates are right" is a defect100% on the date-only slice
One run treated as proofVariance hiddenRepeated runs; state the sample size
Uncalibrated judge modelScores look precise and mean littleCalibrate against human labels first
Model, prompt or corpus changeOld results no longer applyStep down; re-run the evaluation
QA pass presented as validationSeparation of duties brokenLabel first-line evidence as such; route to validation

14. Action kit and 30/60/90

Copy this card for every AI task or AI feature you evaluate.

## Evaluation card · <task or feature>
Deterministic parts (exact assertions): <list>
Probabilistic parts (rate per slice): <list>
Evaluation set: <name@version> · owner: <QA name role> · written before the agent ran: yes/no
Slices and thresholds: <slice: threshold, n>
Seeded defects: <list>
Metamorphic relations: <list>
Negative cases: injection, out of scope, stale source, missing data
Runs per version: <n> · settings recorded in the run manifest
Reviewer (not the requester): <role>
Re-run triggers: model, prompt, corpus, tool, policy or threshold change
Hand-off: release manager (sign-off); independent validation (read access, high tier)

Questions to ask your enablement lead:

WindowDo
First 30 daysClassify every check as deterministic or probabilistic; write the date-only slice at 100%; confirm all fixtures are synthetic
Days 31 to 60Run L4; add a seeded bad build and run manifests; start the keep/remove log
Days 61 to 90Add metamorphic relations; calibrate any judge model; publish the evaluation set to the catalog with an owner

Related tracks: independent validation, AI engineer, developer, release manager, data engineer.