E2

Workflow Guide

Back to App

Overview

The E2E Test Visualizer tracks test execution across complex system landscapes. Think of it as a board game: your grid is the playing field, swimlanes divide it into system areas, and marbles are test data items that roll through the grid along defined paths.

Key Concepts

Grid

A grid represents one test cycle or test phase (e.g. "SIT Cycle 1", "UAT Round 2"). It's a table of rows and columns. Each cell (called a field) can be one of three types:

Swimlanes

Swimlanes are horizontal bands that group rows together. Each swimlane typically represents a system, organization, or team (e.g. "Vendor Portal", "Backend API", "Partner Org"). Swimlanes are important for branches because a branch always targets a specific swimlane.

Marbles

A marble is a piece of test data that moves through the grid. For example, if you're testing an order processing system, each marble could be a different order type ("Standard Order", "Rush Order", "Cancellation"). Each marble has:

Statuses

Each step in a marble's path has a status:

StatusMeaningNext
Pending Not started yet In Progress, or Irrelevant
In Progress Currently being tested Passed, Defect, or Blocking
Passed Test successful — marble advances
Defect Bug found, needs fixing Passed (after fix)
Blocking Cannot proceed, blocker In Progress (when unblocked)
Irrelevant Step doesn't apply — marble skips it

Full Workflow

1. Create a Project

A project groups related test grids together (e.g. "Release 2.5 Testing").

  1. On the Projects page, click + New Project
  2. Enter a name, market, and optional description
  3. Click Create — you'll land on the project dashboard

2. Build a Grid

A grid is your test playing field. You define its structure in the Grid Editor.

  1. From the project dashboard, click + New Grid
  2. Enter a grid name and choose the test phase (SIT, E2E, UAT)
  3. In the Grid Editor, add rows and columns using the + Row / + Col buttons
  4. Click cells to cycle their type: empty → step → interface → empty
  5. Double-click row/column headers to rename them
  6. Create swimlanes in the sidebar: give each a name, type, and the row range it covers
  7. Click Save Changes
Tip
Plan your swimlanes before adding cells. Each swimlane should represent one system or org, and its rows should contain the test steps for that area.

3. Add Marbles

Marbles are the test data items that travel across the grid.

  1. From the grid view, click Marbles in the header nav
  2. Click + New Marble
  3. Enter an external ID (e.g. "ORD-001"), a name, and pick a color
  4. The marble is created with no path — you need to define one next

4. Define a Path

A path tells the marble which fields to visit and in what order.

  1. In the Marble Manager, click Edit Path on the marble you want to configure
  2. The grid enters Path Definition Mode — cells become clickable
  3. Click cells in order to add them to the path. Each click adds a numbered step. Click again to remove.
  4. The path bar at the top shows your sequence: Step 1 → Step 2 → Step 3 ...
  5. When done, click Save Path
Important
Only cells of type "step" or "interface" can be added to a path. Empty cells are not selectable.

5. Execute

Execution is where you advance marbles through their paths step by step.

  1. From the grid view, click Execute in the header nav
  2. Select a marble from the list
  3. The current step is highlighted. Use the status buttons to update it.
  4. When you mark a step as Passed or Irrelevant, the marble automatically advances to the next step
  5. The mini-grid on the right shows the marble's position in context

Branches

Why branch?

In real E2E testing, a test data item often needs to be processed by multiple systems in parallel. For example, an order might flow through the main portal, then simultaneously trigger processing in Organization A and Organization B. Branches model this:

Main path: LoginCreateSubmit ──┬── VerifyComplete Branch (Org B): └──→ ReceiveProcessConfirm

When the parent marble passes "Submit", a child marble is automatically created in the target swimlane. The child follows its own path independently.

Setting up a branch

Branches are configured during path definition:

  1. Enter Path Definition Mode (click "Edit Path" on a marble)
  2. Click cells to build the path as usual
  3. On the step where you want the branch to happen, right-click the cell
  4. Select "Set branch target" from the context menu
  5. Choose the target swimlane — this is where the child marble will be created
  6. The cell now shows a branch indicator
  7. Optionally, right-click another step further along and select "Toggle merge point" — this adds a indicator
  8. Click Save Path
While in path definition mode: Step 1 Step 2 Step 3 Step 4 ┌─────┐ ┌─────┐ ┌──────────┐ ┌──────────┐ │ 1 │ → │ 2 │ → │ 3 │ → │ 4 │ └─────┘ └─────┘ └──────────┘ └──────────┘ branch point merge point → Org B

How branching executes

During execution, when the parent marble reaches a branch step:

  1. You mark the branch step as Passed (or Irrelevant)
  2. The system automatically creates a child marble in the target swimlane
  3. The child gets its own path: all step/interface fields in the target swimlane from that column onward
  4. The child has a shifted color and its ID is parent-id / swimlane-name
  5. The parent marble continues advancing along its own path
  6. You can switch to the child marble in the Execution view to advance it independently
Note
A branch step only creates one child marble, and only once. If the step is already passed and a child exists, no duplicate is created.

Merge points

A merge point is a synchronization gate on the parent's path. When the parent reaches a merge step, the Execution view shows the status of all child marbles. This lets you see at a glance whether the children have completed their paths before the parent proceeds.

Merge points are informational — they show you the child status but don't hard-block advancement. It's up to you to decide when the parent should continue.

Parent: Login ✓Create ✓Submit ✓ →── Verify ⊕ ──→ Complete Child: └──→ Receive ✓Process ◉Confirm At the merge point, the parent sees: Child "ORD-001/Org B": In Progress ← not done yet

Full example

Let's walk through a concrete scenario:

Setup: You have a grid with two swimlanes:

Path definition for marble "ORD-001":

  1. Click: Login → Create Order → Submit → Review → Done
  2. Right-click Submit → Set branch target → select Partner Org
  3. Right-click Review → Toggle merge point
  4. Save Path

Execution:

  1. Advance ORD-001: Login → Passed, advances to Create Order
  2. Advance ORD-001: Create Order → Passed, advances to Submit
  3. Advance ORD-001: Submit → Passed. This is a branch step, so a child marble "ORD-001/Partner Org" is automatically created with path: Receive → Validate → Approve
  4. ORD-001 advances to Review (merge point). You can see the child's status here.
  5. Switch to child marble "ORD-001/Partner Org" and advance it: Receive → Validate → Approve
  6. Switch back to ORD-001. The merge point now shows all children passed. Advance through Review → Done.
Tip
You can set up multiple branches on different steps of the same marble. Each branch creates an independent child in its target swimlane.