Test Case Versioning
Track changes to test cases with automatic version numbers. Know exactly which version was tested in each cycle.
Overview
Test case versioning automatically tracks changes by assigning an incrementing version number to each test case. Every time a text-based field is edited and saved, the version number increases. When a test case is executed in a test cycle, the version at execution time is recorded -- so you always know exactly what was tested.
Version badges use a -latest suffix (e.g., v5-latest) to indicate the current version of a test case, making it easy to tell at a glance whether a version is up to date.
Enabling Versioning
Versioning is a per-project setting, disabled by default. To enable it:
- Navigate to Field Configuration from the project settings sidebar.
- At the top of the page, find the Project Features section.
- Toggle Test Case Versioning to ON.
Only Owners and Project Admins can change this setting. When enabled, all existing test cases start at v1 and begin tracking from that point forward.
Disabling versioning hides all version badges, columns, and the Compare Versions button from the UI. All version data is preserved -- re-enabling picks up where it left off. The change takes effect immediately across all pages without a refresh.
What Triggers a New Version
Version increments automatically when any text-type field is saved:
| Triggers version increment | Does NOT trigger version increment |
|---|---|
| Title | Priority (dropdown) |
| Summary | Status (dropdown) |
| Precondition | Automated (dropdown) |
| Expected Result | Platform (dropdown) |
| Test Data | Environment (list) |
| Test steps (add, edit, delete, reorder) | Labels (list) |
| Custom fields of type Text | Owner |
| Folder | |
| Custom fields of type Single List, Multi List, Number, Calendar |
Every save creates a new version. For example, editing the title increments from v1 to v2, then editing a test step increments to v3.
For custom fields, only Text-type fields trigger a version increment, and only when the value actually changes. Updating a dropdown or list custom field in the same save will not bump the version.
Where Versions Appear
Test Case Detail Page
A version badge (e.g., v5-latest) appears next to the test case ID in the breadcrumb at the top of the detail page.
History Tab
Each history entry shows which version it belongs to in the Version column. The entry matching the current version displays v5-latest. A Compare Versions button appears in the top bar (next to the AI score badges) when two or more versions exist, allowing you to select any two versions and view a side-by-side diff.
Execution Status Tab
The execution history table includes a Version column showing which version of the test case was executed in each test cycle. If the executed version matches the current version, it shows v5-latest.
Test Cycle -- Linked Test Cases
When viewing test cases linked to a cycle, enable the Version column from the column picker. It shows:
- The version badge (e.g., v3) indicating the version at execution time, or v3-latest if it matches the current version.
- An amber v5-latest available badge if the test case has been edited since execution, indicating a newer version exists.
An Update All Versions button in the toolbar lets test leads update all outdated test cases to their latest versions in one click. This is useful for re-baselining a cycle after a sprint of changes. Execution statuses are preserved -- only the version numbers are updated.
Test Cycle -- Execute Page
The execution page shows the test case ID alongside version information:
- A navigation card displays the test case ID, current executed version (e.g., v3), and an ↑ v5-latest update button when a newer version is available.
- Clicking the update button updates the linked version without changing the execution status.
- Re-executing (clicking Pass/Fail/Blocked) preserves the currently pinned version. The version is only captured automatically on the first execution.
Test Case Detail Drawer
The slide-out drawer (accessible from the execute page and test cycle test cases listing) shows the latest version badge (e.g., v5-latest) in the header next to the test case title.
Test Case List
An optional Version column is available in the column picker on the main test case table, displaying the current version as v5-latest.
Comparing Versions
To compare two versions of a test case:
- Go to the History tab on any test case detail page.
- Click the Compare Versions button in the top bar (next to the AI score badges).
- Select a From version and a To version using the dropdowns.
- Click Compare.
The comparison shows a table with three columns -- Field, the old value (from version), and the new value (to version) -- for every field that changed between the two versions.
How It Works with Test Cycles
When a test case is executed for the first time in a cycle (status set to pass, fail, or blocked), the system records the current version of the test case at that moment. Subsequent re-executions preserve this pinned version.
If the test case is edited after execution:
- The test case version increments (e.g., v3 → v4)
- The cycle execution record still shows v3 (what was actually tested)
- The cycle test cases table shows an amber badge indicating a newer version is available
Updating Versions
There are two ways to update the linked version in a test cycle:
- Update single -- on the execute page, click the ↑ v5-latest button next to the test case ID. The execution status is preserved.
- Update all -- on the test cycle test cases listing, click the Update All Versions toolbar button. All outdated test cases are updated to their latest versions in one click. Execution statuses are preserved.
Re-executing a test case (clicking Pass, Fail, or Blocked) does not update the version -- it preserves the previously pinned version. Use one of the methods above to explicitly update to the latest version.
All version updates are recorded in the test cycle history with a summary like "Updated TEST-101 version from v3 to v5".
Guest users cannot update versions. Only Owners, Project Admins, and Users have permission.
API
All relevant API responses include version data when versioning is enabled:
- GET test case detail -- returns
versionfield - GET test cases list -- returns
versionon each item (when the version column is requested) - GET test cycle test cases -- returns
testcase_version(executed version) andlatest_version(current version) - GET test case history -- returns
versionon each history entry andlatest_versionfor the test case - GET execution status -- returns
testcase_versionper execution record - GET compare versions -- returns aggregated field-level diff between any two versions
- PATCH update version -- updates a single test case to its latest version in a cycle
- PATCH update all versions -- updates all outdated test cases to their latest versions in a cycle
The MCP server and TestKase Reporter automatically include version data with no configuration changes needed.
