Test Cases — Comprehensive (5-Category)
Generate test cases across 5 categories — Positive, Negative, Edge, Integration, UI/UX — with strict per-category minimums. Each test case is a structured table (ID, category, title, priority, preconditions, steps, expected result, test-data ref, automation flag, notes) ready to drop into TestRail / Xray / Zephyr / Jira sub-tasks.
This is the heavyweight cousin of test-cases-from-user-story (which is a lighter Markdown-list format). Use the comprehensive variant when QA needs a structured artifact for sign-off, or when the story is being pushed into a test-management tool that expects rigid fields.
When to use
- The story is high-priority, customer-facing, or in a regulated flow
- You need to satisfy a "minimum N tests per story" quality gate
- The output goes into TestRail / Xray / Zephyr / Jira sub-tasks
- The story will be regression-tested forever — coverage matters
Prompt
You are a senior QA engineer responsible for comprehensive test design.
Generate test cases for the following elaborated user story across 5
mandatory categories with strict per-category minimums.
## Inputs
**Elaborated story:** {{elaborated_story}}
**Third-party integrations involved:** {{integrations}}
**Test data notes:** {{test_data_notes}}
## Output requirements
Return ONLY the markdown document below. Do not include preamble or
closing notes.
---
# Test Cases: <STORY-ID> — <Story Title>
> **Linked Story**: <STORY-ID>_elaborated.md
> **Generated**: <today's date YYYY-MM-DD>
> **Total Test Cases**: <count>
## Summary Table
| TC ID | Category | Title | Priority | Automation? |
|---|---|---|---|---|
| TC-<ID>-001 | Positive | ... | High / Medium / Low | Yes / No |
| ... | | | | |
## Coverage Matrix
| Acceptance Criterion | Positive TCs | Negative TCs | Edge TCs |
|---|---|---|---|
| AC-1 | TC-<ID>-001, TC-<ID>-002 | TC-<ID>-005 | TC-<ID>-008 |
| ... | | | |
## 🟢 Category 1 — Positive / Happy Path
> **Minimum: 3 test cases**
### TC-<ID>-001
| Field | Value |
|---|---|
| **Test Case ID** | TC-<ID>-001 |
| **Category** | Positive — Happy Path |
| **Title** | <one-line description> |
| **Priority** | High / Medium / Low |
| **Preconditions** | <what must be true before the test runs> |
| **Test Steps** | 1. <step> <br> 2. <step> <br> 3. <step> |
| **Expected Result** | <exact behavior — be specific> |
| **Test Data Ref** | TD-<ID>-XXX |
| **Automation** | Yes — Playwright / Cypress / Jest / API |
| **Linked AC** | AC-1, AC-2 |
| **Notes** | <optional> |
[Repeat for TC-<ID>-002 and TC-<ID>-003 minimum]
## 🔴 Category 2 — Negative / Error Handling
> **Minimum: 3 test cases**
> Verify the system fails gracefully and shows correct error messages.
[3+ test cases in the same table format. Expected Result MUST
include the exact error message text shown to the user.]
## 🟡 Category 3 — Edge Cases
> **Minimum: 2 test cases**
> Boundary conditions, unusual inputs, concurrent actions.
[2+ test cases — boundary values (min, max, just-below-min,
just-above-max), concurrent operations, unusual character sets,
extremely large or empty inputs.]
## 🔵 Category 4 — Integration Tests
> **Minimum: 2 test cases**
> Only include integrations relevant to this story (per the input).
[2+ test cases — each must specify the integrating system, the
sandbox URL or test mode, and the expected end-to-end behavior
across systems.]
## 🖥️ Category 5 — UI / UX Tests
> **Minimum: 2 test cases**
> Component behavior, rendering, responsiveness, accessibility.
[2+ test cases — include responsive behavior at mobile / tablet /
desktop breakpoints, keyboard navigation, screen-reader announcements,
color contrast, focus management.]
## 📋 Test Data Required
| Test Data ID | Description | Sample Value | Source |
|---|---|---|---|
| TD-<ID>-001 | <e.g. B2C user with active subscription> | <inline value or "see fixtures/users.json"> | <where it lives> |
## Coverage Notes
- Acceptance criteria NOT covered (and why): <list or "all covered">
- Manual-only tests: <list or "none">
- Tests that need new fixtures: <list or "none">
- Open questions for the product owner: <list or "none">
## Style guide
- Test cases verify ONE behavior each. Don't chain unrelated checks.
- Steps are imperative and observable from the user's seat.
- Expected results are specific. "Page works" is not a result;
"User is redirected to /dashboard within 2s and sees their name in
the header" is.
- Negative cases should outnumber positive cases when ACs include
validation rules.
- Always cover at least one accessibility check in Category 5.
- Always include the EXACT error message text in negative tests'
expected results.
- For integration tests, always specify which sandbox / mock / test mode.
## Hard rules
1. Every category has its minimum number of test cases — no exceptions.
2. Every TC has a Linked AC reference (or "general" if it doesn't map
to a single AC).
3. The Coverage Matrix must list every AC in the story.
4. Test data IDs follow the pattern TD-<STORY-ID>-NNN.
5. Test case IDs follow the pattern TC-<STORY-ID>-NNN, sequential.Example output (excerpt)
# Test Cases: FIN-8751 — Add subscription to cart from course page
> **Linked Story**: FIN-8751_elaborated.md
> **Generated**: 2026-04-26
> **Total Test Cases**: 12
## Coverage Matrix
| Acceptance Criterion | Positive TCs | Negative TCs | Edge TCs |
|---|---|---|---|
| AC-1: Add from course page | TC-FIN8751-001, 002 | TC-FIN8751-005 | TC-FIN8751-008 |
| AC-2: Cart icon updates | TC-FIN8751-003 | — | — |
| AC-6: Network failure shows retry | — | TC-FIN8751-006 | TC-FIN8751-009 |
## 🟢 Category 1 — Positive / Happy Path
### TC-FIN8751-001
| Field | Value |
|---|---|
| **Test Case ID** | TC-FIN8751-001 |
| **Category** | Positive — Happy Path |
| **Title** | Anonymous user adds Personal subscription from course page |
| **Priority** | High |
| **Preconditions** | User signed out; CT cart service reachable |
| **Test Steps** | 1. Navigate to /course/python-fundamentals <br> 2. Scroll to subscription tile <br> 3. Click "Add to cart" |
| **Expected Result** | Cart icon transitions from "0 items" to "1 item" within 500ms; slide-in panel shows "Added — Pluralsight Personal · $29/mo" |
| **Test Data Ref** | TD-FIN8751-001 (course slug `python-fundamentals`) |
| **Automation** | Yes — Playwright |
| **Linked AC** | AC-1, AC-2 |
| **Notes** | First test in the regression suite for cart |Tips
- Pair with the Test Automation Script template to convert any single TC into a runnable test in your framework.
- The Coverage Matrix is the QA artifact PMs will look at — keep it accurate.
- For regulated work, add a Category 6 (Compliance) — a couple of tests proving the audit log fires correctly is usually plenty.
- Push the result into Jira as Story sub-tasks via the Jira Push (Bulk) skill.