Skip to content
QA Knowledge Hub

Test case template

Updated 2026-11-12 · 3 min read

A test case template with the columns teams actually use, an explanation of each, and two filled examples. Download as Excel (.xlsx) or CSV and use it in Google Sheets too.

The Excel file has the header row, two example rows and drop-down lists for Priority and Status. In Google Sheets, choose File, Import, Upload and pick the file. Copy the sheet for each feature or sprint.

What each column is for

ColumnWhat to write
Test case IDA unique, stable ID, such as LOGIN-001. Never reuse an ID.
Module / featureWhere it belongs, such as Login or Cart. Lets you filter.
TitleOne line saying what is verified: "Login fails with a wrong password".
PreconditionsState needed before step 1: "User [email protected] exists and is active".
Test stepsNumbered, one action per line, so that someone new can follow it.
Test dataThe exact inputs, or where to find them. Never write "valid data".
Expected resultWhat must happen, observable and specific. One check per line.
Actual resultFilled during execution.
StatusNot run, Pass, Fail, Blocked.
PriorityHigh, Medium, Low: how important it is to run.
TypeFunctional, negative, boundary, UI, security, performance.
Linked requirementRequirement or story ID for traceability.
Defect IDThe bug raised if it failed.
Executed by / dateWho and when.

Two filled examples

IDTitleStepsTest dataExpected result
LOGIN-001Login succeeds with valid credentials1. Open /login. 2. Enter email and password. 3. Click Sign in.Email [email protected], password from the test vaultDashboard opens and shows "Welcome, Asha"
LOGIN-002Login fails with a wrong password1. Open /login. 2. Enter a valid email and a wrong password. 3. Click Sign in.Email [email protected], password wrong-pass-1Message "Email or password is incorrect"; user stays on /login; no session is created

Writing good test cases

  • One purpose per case. If the title contains "and", consider splitting it.
  • Steps that a stranger could follow without asking you.
  • Expected results you can check by looking at the screen, response or database.
  • Independent: a case should not rely on another case having run first.
  • Names that describe behaviour, not pages: "Coupon cannot be applied twice", not "Cart test 7".

Not just manual

The same columns map to automated tests: ID becomes the test name or a tag, steps become the code and expected result becomes the assertion. For ready-made sets, see the login page test cases.

Downloads

Want a project you can show in interviews?

The portfolio project kit walks you through testing a deliberately buggy app with Selenium or Playwright and API tests, then explaining it. The app itself is free.