Skip to content

Test Case Register — Template

This is the output format for gen-tcs-from-jira. One register file per feature, written inside the feature's own folder, beside its SRS and AC notes.

Feature kind Register path
Standalone 01_Features/<slug>/<slug>_tc.md
Under a domain 01_Features/<domain>/<slug>/<slug>_tc.md

e.g. 01_Features/login/login_tc.md, 01_Features/workshop/wa_workshop/wa_workshop_tc.md.

  • <CODE> is the feature's short code, read from its hub note 01_Features/<domain>/<slug>/<slug>.md (e.g. wa_workshop → WS). The file is named by the full feature slug; the IDs use the short code. NNN is the zero-padded TC number, continuous within the feature (001, 002, …) across all its tickets.
  • A feature register accumulates TCs from multiple Jira tickets over time. Each row's Jira column links the specific ticket that TC came from.
  • Replace every <...> placeholder with real content. Group TCs under ### headings by theme (Happy Path, Validation, Error handling, Edge cases, …). The rows below show the required shape, not fixed content.
  • Traceability: every TC links the Jira ticket (requirement). When AC exist, the AC column names AC-<CODE>-NN / BR-<CODE>-NN from the feature's <slug>_ac.md spec — flow: Jira → AC → TC. For simple tickets without AC, set AC to — — flow: Jira → TC.

Register header

---
type: tc
feature: "[[<slug>]]"
code: <CODE>
jira: [RC-4, RC-12]
version: 1.0
updated: <YYYY-MM-DD>
owner: QC Team
reviewer: <Lead name>
sprint: <Sprint X>
tc_total: <n>
tc_automated: <n>
tc_pending: <n>
status: Draft
---

# Test Case Register — <Feature name> (`<CODE>`)

<!-- feature: links up to the hub. It is this note's ONLY link. The tc_* counters
     feed the Test coverage view in 00_Project_Info/features.base — keep them in
     sync with the Coverage Summary table below. -->

Coverage Summary

| Total TCs | Automated | Manual | Pending | Coverage % |
| --------- | --------- | ------ | ------- | ---------- |
| <N>       | 0         | 0      | <N>     | 0%         |

| Critical | High | Medium | Low |
| -------- | ---- | ------ | --- |
| <c>      | <h>  | <m>    | <l> |

Coverage % = Automated / Total × 100. Update after each sprint.

Column Guide

Column Description Values / Format
TC ID Unique identifier — must match @tag in .feature file TC-<CODE>-NNN e.g. TC-LOGIN-001
Test Scenario One-line title, start with an action verb Plain text
AC The acceptance criterion / business rule this TC verifies AC-<CODE>-NN, BR-<CODE>-NN, or — when designed directly from the requirement
Jira The ticket this TC came from [<KEY>](<url>)
Priority Business impact if this TC fails 🔴 Critical / 🟠 High / 🟡 Medium / ⚪ Low
Coverage Automation status ✅ Automated / 🟡 Manual / 🔵 Pending
Cucumber Tag @TC-ID used in .feature — mandatory if Automated @TC-<CODE>-NNN — must match TC ID exactly
Preconditions System / data state required before test starts plain text
Test Data Concrete input values — placeholders for sensitive data e.g. amount: 100,000 VND
High-level Steps 3–5 steps describing the flow — no click-level detail numbered
Expected Result Observable, verifiable outcome — no vague statements include status / error code / state where relevant
Status Latest execution result this cycle (≠ Coverage) ✅ Pass / ❌ Fail / ⛔ Blocked / ⬜ Not Run
Note Flag special cases — include ticket/link if available [FLAKY] [BUG] [DEP] [SKIP] [DATA]

Test Case Table

### 1. <Group name — e.g. Happy Path>

| TC ID          | Test Scenario | AC            | Jira         | Priority    | Coverage   | Cucumber Tag      | Preconditions   | Test Data | High-level Steps | Expected Result | Status    | Note |
| -------------- | ------------- | ------------- | ------------ | ----------- | ---------- | ----------------- | --------------- | --------- | ---------------- | --------------- | --------- | ---- |
| TC-<CODE>-001 | <scenario>  | AC-<CODE>-01 | [<KEY>](<url>) | 🔴 Critical | 🔵 Pending | `@TC-<CODE>-001` | <preconditions> | <data>    | 1. … 2. … 3. …   | <expected>      | ⬜ Not Run |      |

### 2. <next group> …

Gherkin Mapping (Automated TCs only)

Add scenarios here as automation is implemented. The TC ID tag is mandatory for result tracing.

@TC-<CODE>-NNN @[suite] @[priority]
Scenario: <title from Test Scenario column>
  Given <precondition>
  When  <action>
  Then  <expected result>
  And   <additional assertion>

Note Tag Reference

Tag Meaning
[FLAKY] Unstable — fails intermittently on CI. Check logs before rerunning
[BUG] Blocked by open bug — include ticket ID
[DEP] Depends on specific env, mock service, fixture, or config
[SKIP] Temporarily skipped — include reason and owner
[DATA] Requires complex or manual data setup