Free test case templates in Excel, Word, and PDF, with filled examples and the fields every test case needs.
A test case template is a ready-made document, usually a spreadsheet, for writing test cases in the same format every time. Each test case records a test case ID, title, preconditions, test data, test steps, expected result, actual result, and status, so anyone on the team can run it and record the outcome. QA teams use it to keep every test case documented the same way.
Download a free template below in Excel, Word, or PDF. Each one comes with a filled sample for a login page.
Download your test case template (Excel, Word, PDF)
Format | Best for | Download |
|---|---|---|
Excel (.xlsx) | Filtering, sorting, and tracking status across hundreds of test cases. Also opens in Google Sheets (File, then Import) | |
Word (.docx) | A formal test case document for sign-off or audits | |
Printing or sharing a read-only copy |
The Excel file has two sheets: a blank template and 8 filled login test cases. Here's a preview:

Test case format: what should a test case template include?
Every test case template needs these 8 fields:
- Test case ID
- Title
- Preconditions
- Test data
- Test steps
- Expected result
- Actual result
- Status
This is the standard test case format, whether you write test cases in Excel, Word, or a test management tool. Our template adds 9 more columns that help larger projects. Keep the ones your project needs and delete the rest.
Field | What to write |
|---|---|
Test case ID | A unique ID, such as TC-LOGIN-001 |
Requirement ID | The user story or requirement the test covers, such as REQ-012 |
Module / feature | The part of the app under test |
Title | One line saying what the test checks |
Priority | P1 to P3, so the most important tests run first |
Test type | Functional, regression, smoke, and so on |
Preconditions | What must be true before the test starts |
Test data | The exact inputs to use |
Test steps | Numbered actions, each starting with a verb |
Expected result | What should happen if the feature works |
Actual result | What did happen |
Status | Not run, Pass, Fail, or Blocked |
Environment | Browser, device, OS, and build |
Executed by | The tester who ran it |
Execution date | When it was run |
Bug ID | The defect logged for a failure |
Notes | Anything else the next tester should know |
New to writing test cases? Our guide on how to write test cases covers each field in depth.
Test case template example
Here are the main fields from the first row of the Example sheet, a login test:
Field | Example |
|---|---|
Test case ID | TC-LOGIN-001 |
Requirement ID | REQ-012 |
Module / feature | Login |
Title | Log in with a valid email and password |
Priority | P1 |
Test type | Functional |
Preconditions | The user has an active account and is on the login page |
Test data | Email: user@example.com; password: a valid password |
Test steps | 1. Enter the email 2. Enter the password 3. Click Log in |
Expected result | The user lands on the dashboard and sees their name in the header |
Actual result | As expected |
Status | Pass |
Environment | Chrome 130, Windows 11, build 4.2.0 |
Executed by | Tester A |
Execution date | 2026-11-05 |
The sample sheet also shows how failed and blocked tests look:
Test case ID | Title | Status | Bug ID / note |
|---|---|---|---|
TC-LOGIN-002 | Show an error for a wrong password | Pass | |
TC-LOGIN-003 | Block login when both fields are empty | Fail | BUG-231 |
TC-LOGIN-006 | Keep the user logged in with Remember me | Blocked | Remember me is switched off on the staging build |
Compare these with a test case that just says "Test login". It has no steps, no data, and no expected result, so the next tester can't repeat it or tell whether it passed.
More test case examples by feature
Each of these guides lists ready-to-use test cases for one feature:
- Test cases for login page
- Test cases for registration page
- Test cases for ecommerce website
- Test cases for search functionality
- Test cases for banking application
- Payment gateway test cases
- API test cases
Testing by hand? The manual test case template is set up for manual runs.
Test case template vs test scenario template
A test scenario template lists the user flows to test, one line per flow, such as "User resets a forgotten password". A test case template breaks each scenario into exact steps, test data, and expected results.
Test scenario | Test case | |
|---|---|---|
Purpose | Says what to test | Says exactly how to test it |
Level of detail | One line | Steps, test data, expected result |
Example | Check login | Log in with a wrong password and see the error message |
To use this template for scenarios too, put the scenario name in the Module / feature column and group its test cases under it. For a dedicated format, see our test scenario template.
Planning a whole release, not only the test cases? Use our test plan template, which comes in Excel, Word, and PDF.
Tips for using the template
- Keep one sheet per feature or module. Clone the template rather than putting every case in one tab.
- Name test cases consistently, such as TC-[feature]-[number], so they're easy to search and reference in bug reports.
- Group related cases under the same feature or scenario.
- Read the requirement first, so you know what the expected result should be.
- Start each step with a verb: "Click", "Enter", "Verify". For a more structured style, see BDD testing.
- List setup and preconditions before the steps, so the test runs the same way every time. See the test execution guide.
- Cover negative cases, such as a wrong password or an empty field, not just the happy path.
- Keep one check per test case. If a case tests two things, split it.
- Build a regression suite from the same sheet. Set Test type to Regression for the cases you rerun on every release, then filter that column to get your regression test suite.
- Update cases when the product changes, and remove ones that no longer apply.
AI drafts still need a review. Start from a clear requirement, let the tool draft the cases, then check each one: add missing edge cases, fix wrong assumptions, and confirm the expected results. Save the reviewed version in your template or test management tool.
Functional test case template (with automation and sign-off columns)
The functional test case template adds an automation candidate column, a severity column, and reviewer and approver sign-off. Use it when your test cases need to be audited or handed over to an automation team. The free template above already covers requirement IDs, environment, and build.
When to move from a template to a test management tool
A spreadsheet works well for a small team, a new product, or a short project. It's free, quick to set up, and familiar to most people on the team.
It's time to move to a test case management tool when:
- You spend more time maintaining the spreadsheet than testing.
- Several testers edit the same file and changes collide or get lost.
- You need to trace each test case to a requirement and each failure to a bug.
- You can't see results across runs, sprints, or releases.
- You want automated and manual results in one place.
Katalon TestOps keeps manual and automated test cases, runs, and results in one place, linked to your Jira requirements and defects. To move over, save your spreadsheet as a CSV file and import it into TestOps.
Frequently asked questions
A ready-made document, usually a spreadsheet, for writing test cases in the same format every time. Each row is one test case with an ID, title, steps, test data, expected result, actual result, and status.
At minimum: test case ID, title, preconditions, test data, test steps, expected result, actual result, and status. Larger projects also add the requirement ID, priority, environment, tester, execution date, and bug ID.
Preconditions (what must be true before the test starts), test steps (the actions to perform), and expected results (what the software should do).
In manual testing the terms are often used for the same thing: a test script is the step-by-step instructions a tester follows, which is the Test steps column of a test case template. In automation, a test script is code that runs those steps, and the test case template records what the script checks and the expected result.
A test scenario is a one-line description of what to test, such as "Check login". A test case is the detailed version, with steps, test data, and an expected result. One scenario usually has several test cases.
Use one row per test case and one column per field: ID, title, preconditions, test data, steps, expected result, actual result, and status. Add a drop-down to the Status column, freeze the header row, and filter by status or priority to plan each test run.
For a small team or a short project, yes. Once several testers share the file, or you need traceability to requirements and results across releases, a test management tool is easier to keep accurate.
A test case template where each test case links to a user story and its acceptance criteria, so tests are written and run in the same sprint as the story. In this template, put the user story ID in the Requirement ID column and add an Acceptance criteria column next to it.

Test everything. Ship with confidence.
From generating test cases to spotting failures, Katalon's AI works across your entire pipeline, automatically.

