Skip to content

Execution context and environment

In Complex QA, environment is not a single free-text field on a bug or an informal note on a run. It is a consistent set of conditions under which a tester executed work or where a defect was found.

Below: the data model concept and what is already available in the UI (the project Execution context area).


Why it matters

Without fixed context, reproducibility fades: “bug on staging” six months later does not answer which browser, build, or URL was meant. Context links manual testing, run results, and bugs through one vocabulary-the same environment dimensions-not separate ad hoc fields per entity.


Two layers: catalog and snapshot

Catalogs are shared dimensions: browser, OS, screen resolution, device class, locale, deployment target. Some values ship with the service; a project can add its own entries.

An execution context snapshot (execution_context) records what actually applied at the moment: chosen catalog entries, host, base URL, protocol, build version on the snapshot. History should not “drift” if a catalog label is renamed later: the API returns hydrated reference objects, not bare IDs only.


Environment axes (catalogs)

AxisSnapshot fieldExample values
Browserbrowser_context_idChrome, Firefox, Safari, …
OSos_context_idWindows, macOS, Linux, Android, iOS
Screen resolutionscreen_resolution_context_id1920×1080, 390×844, …
Devicedevice_context_idDesktop, Mobile, Tablet
Localelocale_context_idru-RU, en-US, …
Deployment targetdeployment_target_context_idstaging, production, preview, …

Catalogs are service-wide (reference search is not scoped by project_id). The snapshot still stores project_id-it belongs to a project.

Additional snapshot text fields:

FieldPurpose
context_titleShort snapshot name (title)
context_descriptionDescription (HTML)
protocolHTTP or HTTPS
hostHost without scheme
base_urlFull base URL
build_versionBuild version at snapshot time

UI: Execution context area

Available from the project card and project sidebar.

Listing

  • Table of snapshots for the current project.
  • Create - new empty row in the project.
  • Inline edit in cells (including environment axes via reference selects).
  • Open details from a row click.

Snapshot details

  • Editable title (context_title).
  • Details tab: pivot field table + description block.
  • Bugs tab: linked defects for this snapshot.
  • Environment axes - searchable reference dropdowns (live search on context_name).
  • Actions: Clone, Delete.

When saving a reference field, the UI shows the catalog label, not a raw ID. While the API request runs, the table shows a loading overlay.

Reference selects

  • Empty search loads the full catalog for that axis (client cache on repeat opens).
  • Typed search hits the backend (LIKE on context_name).
  • “Not assigned” clears the link (null).

Where context is used

EntityIn the UI today
Project snapshotListing + details, CRUD
BugTab Execution context on bug details - link/unlink snapshots
Test caseTab Bugs on case details
Test run resultTab Bugs on result details
Execution contextTab Bugs on snapshot details
AutomationSame catalogs in API; runner auto-fill - planned

Test accounts stay a separate entity; a snapshot may reference an account when run flows support it.


Product versions vs environment

Build version on a bug (bug_build_version, affected/fixed) is about the product release.
build_version on a snapshot is what was recorded in the environment at event time.
These do not replace browser/OS catalogs.


What’s next

  • Presets (“typical desktop Chrome on staging”).
  • One-click bug from a failed run result with context carried over.
  • Project custom attributes on snapshots.
  • CI integration and runner auto-fill.

See also


Version1.2
Last updated2026-06-14

Complex QA - test management system