Skip to content

Review differences ​

After a replay, the replay report gives the overall verdict and the causes of the differences. This page covers going through one case's differences, and what to do with differences that aren't bugs: ignore a field, or mark the case as passed.

Most differences aren't bugs. Timestamps, serial numbers and random IDs differ on every replay without anything being wrong. Deal with those and the real problems stand out.

Open a case ​

In the replay report, switch to Cases. The left side lists cases by endpoint; show only those with differences, those whose replay failed, or those that passed, or search by endpoint, description or case ID. Click a case to see its details on the right.

Opening a case and its differences

At the top of a case:

  • The endpoint and its result (such as a value difference). For cases the AI has analysed, the next line is its conclusion; View in report jumps back to that place in the report.
  • Buttons on the right: Mark as passed, Replay this one (creates a new plan with just this recording; this plan is untouched), Pin, View case logs, View recording detail (the full call chain and data recorded for this case), and Ask AI about this case.

Below that, the entry and each dependency call of the request are listed in call order, each with:

  • Source: whether this call was answered from the recording in this replay, or made for real.
  • Comparison: a value difference, not compared, no conclusion, and so on.

Differences only hides calls without differences. The N ignored chip sums up the fields on this case that ignore rules held back.

Read a difference ​

Click a call with differences to open the diff view, with the recording on the left and this replay on the right:

  • For the entry, responses are compared: Recorded response · baseline and Replayed response · this run.
  • For dependency calls (database, Redis, downstream endpoints …), requests are compared: Recorded request · baseline and Replayed request · this run, showing whether the service sent the same arguments as when recorded. When a call is missing or extra, only one side has content.

Values that differ are highlighted; fields held back by an ignore rule are struck through and don't count.

The top shows how many differences the call has; the up and down arrows move between them.

Ignore a field ​

The most common action. A field such as a timestamp changes every time and shouldn't be compared at all.

  1. Hover over the differing line and click the ignore icon that appears beside it, or select the line and click Ignore rules at the top right.
  2. In Ignore diff, check which field you're ignoring: By path (for example the second element of payable), or By field name (every field with that name).
  3. Pick a scope:

Scopes for ignoring a difference

ScopeIgnored whereTakes effect
Only this caseThis case onlyNow
This endpoint · downstream excludedEvery case of this endpoint, entry response onlyNext replay
This SQL / Redis command / downstream endpoint … · any callerThis dependency call, whichever endpoint called itNext replay
Whole appEvery case of the applicationNext replay

Only this case changes only this verdict. The other three write a diff rule that applies to every future replay; to see it on a replay that has already finished, recompare.

Ignoring a field

Mark a case as passed ​

Sometimes the difference is real but acceptable: an intended change, or a problem in Softprobe's own recording or comparison. Instead of ignoring fields one by one, accept the whole case.

  1. Click Mark as passed at the top of the case.
  2. Pick a reason: Difference is expected (by design) or Softprobe recording/compare issue.
  3. Add a note if you like, and click Confirm.

Only this case's verdict changes; it counts towards the pass rate, and the reason and note are kept.

The By cause cards in the report can mark a group of cases at once; see Replay report.

Marking a case as passed

Ignore, or mark as passed? ​

Mark as passedIgnore a field (as a diff rule)
CoversThis case in this replayThe same kind of field in every future replay
Use forA case you've looked at and acceptA field that changes every time by nature

In short: to change this one verdict, mark it as passed; to never see it again, ignore the field.

Recompare ​

A new diff rule applies from the next replay on; it doesn't change a replay that has already finished. To see its effect now without replaying:

After you add or remove a rule from this replay's diff view, a notice offers Recompare now, and Rules changed · recompare appears at the top of the replay. Click either: Softprobe re-checks the results this replay already stored against the latest rules, then tells you how many cases turned into passes and failures, and updates the case list, counts and pass rate.

Recompare isn't replay

Recompare only re-judges the stored responses under the new rules. Nothing is sent to your service.

This entry only lasts for the current page; it's gone after a refresh or once you leave. Rules changed on the Diff rules config page don't bring it up either: to judge a finished replay by the new rules, replay again.

Recomparing after adding a rule

Stop ignoring ​

Changed your mind: on a struck-through field, click Stop ignoring. Softprobe removes whatever held it back and tells you what it removed:

  • An Only this case mark: removed and effective immediately; the field is compared again right away.
  • An endpoint or application rule: removed, effective from the next replay. To see the effect in this replay, click Recompare now in the notice. If the rule matched by field name or wildcard, other fields it held back are compared again too.
  • A global default rule: you're pointed to the diff rules page.

See what a case ignores ​

Click the N ignored chip on a case: a panel lists every ignored field by call, and the rule that held it back. You can stop ignoring from there too.

Seeing what a case ignores

Next ​

Ignoring the same field on many cases? Make it a rule: Diff rules.

Capture Sessions · Review Steps · Improve what matters