Use this workflow when a feature is nearly ready for release but its testing work is still spread across a ticket, pull request and team chat. You will produce one test plan that testers can run, developers can review, and a delivery lead can use at the release decision.
The aim is not to generate more test cases. It is to connect each acceptance criterion, known risk and changed component to evidence that the feature is safe to ship.
Key point
Start with evidence, not a prompt
A test plan is only useful when every test can be traced back to a stated requirement, risk or changed component.
1. Assemble the release input
Create a short source document called Feature test input. Do this before asking the model to draft anything. Copy text from the approved feature ticket and the merged change description. Do not ask the model to infer requirements from a vague summary.
Use these headings:
- Feature and release: feature name, environment, target release, owner and test owner.
- Acceptance criteria: paste each criterion as a separate numbered item. Keep the original wording.
- Changed components: list user interface areas, services, APIs, jobs, database changes, permissions, configuration and integrations affected.
- Known risks: include failure modes already raised in review, incident history, migration concerns, unusual load, permission changes and external dependencies.
- Out of scope: state what this release does not change.
- Existing coverage: name automated checks, smoke tests or regression packs that already cover the area.
For changed components, be precise. Write billing API: create invoice endpoint rather than billing. Write account settings page: notification toggle rather than frontend.
Watch out
Do not turn assumptions into requirements
If a criterion does not say what happens on failure, record the gap. Do not present a guessed error message or retry behaviour as agreed behaviour.
2. Resolve missing decisions first
Read the input once and mark anything a tester cannot verify. Common gaps include an unspecified permission level, no expected result for an invalid value, or no decision about behaviour when an integration is unavailable.
Ask the feature owner one focused question per gap. Add the answer to Feature test input under Decisions. If no answer is available before testing starts, record an assumption with an owner and a deadline. Make it visible in the plan rather than hiding it inside a test case.
Use this quick distinction:
| If you have | Put it in the plan as |
|---|---|
| An agreed, observable result | A test with expected evidence |
| A possible failure with no agreed result | A risk and an open decision |
| A component changed but no user behaviour changed | Regression coverage |
| A condition that makes shipping unsafe | A release blocker |
This prevents a polished plan from concealing an undecided feature.
3. Generate a structured first draft
Paste the completed input into the model you are using. Ask for a plan in a fixed structure, so you can compare it with the source material. If you use attachments or a workspace, check the current handling and availability in the xAI documentation overview, as these details are version-dependent.
Use this prompt:
Create a release test plan from the source below.
Rules:
- Use only information in the source. Mark missing information as OPEN QUESTION.
- Preserve every acceptance criterion ID and map it to one or more tests.
- Separate happy paths, edge cases, regression tests and release blockers.
- For each test, include: ID, purpose, preconditions, steps, expected result, evidence to capture, priority, and source reference.
- Derive regression tests from changed components, not from generic lists.
- Treat a known risk as a test only when the expected behaviour is stated. Otherwise list it as an open question or release risk.
- Put release blockers in a separate table. State the condition, owner, and decision needed.
- Do not invent API responses, user roles, data states or performance targets.
SOURCE:
[paste Feature test input]
The first draft is a working document, not approval evidence. Its value is that it exposes omissions quickly.
4. Review the four test groups
Read the draft in this order. Do not start by editing wording.
- Happy paths: for every acceptance criterion, confirm there is at least one test that proves the intended user outcome. Check the expected result is observable, such as a saved record, emitted event or visible status.
- Edge cases: check the risks and input boundaries. Look for empty, duplicate, expired, interrupted, unauthorised and partially completed states where they apply to this feature.
- Regression areas: start with each changed component. Ask what existing behaviour shares its data, endpoint, permission check, configuration or deployment path. Add a targeted regression test for that relationship.
- Release blockers: identify conditions that stop deployment or require an explicit release decision. Examples include an untested migration path, failed critical smoke test, unresolved security permission behaviour, or unavailable dependency needed for validation.
Check
Every row needs a source
A reviewer should be able to point from each test to an acceptance criterion, risk, changed component or recorded decision. If they cannot, remove it or label it as a proposal.
5. Make the plan runnable
Replace abstract steps with the exact test data and environment needed. Verify validation works is not runnable. Submit the form with a duplicate customer reference, then confirm no second customer record is created is runnable.
For each high-priority test, specify evidence. This could be a screenshot of the user outcome, a request and response captured by the approved test tooling, a job completion record, or a query result reviewed by the team. Name where the evidence will be stored, such as the release ticket or test run record.
Keep manual and automated work together in one plan, but label the execution method. A check already covered by a reliable automated suite still needs its result linked to the release decision. Do not duplicate the full automated scenario as a manual script unless the release risk justifies it.
6. Check that the output is not wrong
A plausible-looking test plan can still be unsafe. Review it against the source document, not against whether it sounds thorough.
Use this table during review:
| What you see | What is wrong | What to do |
|---|---|---|
| A test has no source reference | The plan has invented scope | Remove it or record it as a proposed extra check |
| A risk has a guessed expected result | An assumption is presented as fact | Ask the owner for a decision and update the source |
| All tests are user-interface checks | Service, data or permission changes may be missed | Add tests from each changed component |
A blocker says only test failed |
The release decision is unclear | State the failed condition, impact, owner and required decision |
Also count the mappings. Every acceptance criterion must map to a test or a documented reason why it cannot yet be tested. Every changed component must map to regression coverage, an existing automated check, or an explicit statement that no regression test is needed.
Note
A short plan can be complete
Completeness comes from traceability. Adding generic browser, device or load checks without a source makes review slower and can hide the tests that matter.
7. Use the plan at the release gate
Before release, update each test with pass, fail, blocked or not run. Link the evidence. Keep open questions and blockers at the top of the release record so the decision-maker does not need to read every test row.
When the plan does not work, return to Feature test input. Usually the cause is incomplete acceptance criteria, an unlisted component change, or a risk with no agreed expected behaviour. Fix that source, then regenerate only the affected section and repeat the traceability check. Do not patch the final plan repeatedly while the feature definition remains unclear.