Test Case Template for Excel and Google Sheets
Almost every QA team starts in a spreadsheet — and that's fine. Here's how to set one up properly, the signs you've outgrown it, and how to move out without re-typing everything.
Updated · TestKit Team
The Columns Your Template Needs
| Column | Purpose | Tip |
|---|---|---|
| ID | Stable reference for bugs and reports | Never reuse or renumber IDs |
| Suite / Area | Groups related cases | Use a dropdown so names stay consistent |
| Title | The behavior being verified | Write it as an outcome |
| Preconditions | Required starting state | Include role, data, and feature flags |
| Steps | Numbered actions | Use line breaks inside the cell (Alt+Enter / Ctrl+Enter) |
| Expected result | Observable pass condition | One clear outcome per case |
| Priority | Critical / High / Medium / Low | Data validation dropdown |
| Status | Draft / Active / Deprecated | Filter out deprecated in runs |
| Requirement | Jira key or story link | Makes coverage countable |
| Tags | Smoke, regression, negative… | Comma-separated |
For execution, don't add result columns to the same sheet. Create one tab per test run (duplicate the case list, then add Result, Tester, Date, and Defect columns) so each run's results stay separate.
Free Template
Paste this into a new sheet (or save it as a .csv and open it). The headers match TestKit's bulk import, so if you migrate later the file imports as-is:
title,description,preconditions,expected_result,priority,status,tags "Search returns matching products","1. Open the store 2. Type ""blue mug"" in search 3. Press Enter","At least one product named ""Blue Mug"" exists","Results list includes Blue Mug; no unrelated products on first row",high,active,"search,regression" "Search with no matches shows empty state","1. Open the store 2. Type ""zzzz"" in search 3. Press Enter","None","Shows ""No products found"" and suggested categories",medium,active,"search,negative"
New to writing the cases themselves? Start with how to write test cases.
Spreadsheet Setup Tips
- Freeze the header row and ID column so context stays visible while scrolling.
- Use data validation for priority, status, and suite — free-text values break every filter and pivot.
- Protect the ID column to stop accidental renumbering.
- Turn on version history (Google Sheets has it built in; for Excel, store the file in OneDrive or SharePoint) so you can at least recover overwritten cases.
- Keep one master case list and copy it into run tabs — never edit cases inside a run tab.
Where Spreadsheets Break Down
Spreadsheets work for a handful of testers and a few hundred cases. Past that, the same problems show up on almost every team:
- No real traceability. A Jira key typed in a cell doesn't update when the story changes, and you can't ask "which stories have no tests?"
- Run history is copy-paste. Every release means duplicating tabs, and comparing pass rates across releases means manual pivot tables.
- Concurrent editing collides. Two testers updating the same run tab overwrite each other or work from stale filters.
- Shared steps drift. Change the login flow and you're find-and-replacing across hundreds of cells.
- No audit trail. Cell-level history isn't an answer to "who changed this test case and why?" — which matters a lot in regulated industries.
- Automated results live elsewhere. CI results can't flow into a spreadsheet without custom scripting.
If three or more of those sound familiar, it's time to look at a test case management tool. Our comparison of test case management tools covers the main options.
How to Migrate Out of a Spreadsheet
- Clean up first. Delete duplicates, mark obsolete cases deprecated, and make priority and status values consistent.
- Map your columns to the new tool's fields. For TestKit that's title, description (put steps here), preconditions, expected_result, priority, status, and tags.
- Export to CSV. In Excel: File → Save As → CSV UTF-8. In Google Sheets: File → Download → CSV.
- Import one suite first as a test, check that line breaks and special characters came through, then import the rest. TestKit accepts up to 5,000 cases per import file (the free Individual plan holds up to 100 test cases in total).
- Keep the spreadsheet read-only for a release cycle as a reference, then archive it.
Frequently Asked Questions
Is Excel good enough for test case management?
For a small team with a few hundred test cases and no compliance requirements, it can be. It struggles with traceability, run history, concurrent editing, and audit trails as the team and suite grow.
Should I put each test step on its own row?
It makes per-step results possible but makes the sheet much harder to sort, filter, and import. Most teams keep one row per test case with numbered steps inside a single cell.
Keep Reading
How to Write Test Cases
The fields every test case needs, a step-by-step method, worked examples, and a copy-paste template.
The Best Test Case Management Tools
Ten tools compared honestly — what each is best for and where each falls short.
What Is a Test Case Management Tool?
What test case management is, why spreadsheets break down, and what to look for in a tool.
Put Your Test Cases in One Place
Import your existing test cases, connect Jira or Azure DevOps, and run your first test plan in TestKit — free to start, no credit card required.