Skip to main content
Testiform
Testiform
Reports

A report is a list of things you can reproduce

Not a score, not a grade and not an opinion about quality. Every case that was run is recorded, whether it passed or not, and every case that failed becomes an entry with enough in it for somebody else to see the same thing happen.

The head of the document

What the first page carries

The head fixes what the rest of the document is about: which site, which build, which pass and how much of it was run. Without that, an entry cannot be repeated later and a retest has nothing to measure against.

TFM-REP-0184 First pass · 11 September 2026
Website
orderly.example
Environment and build
staging.orderly.example, build 4.7.2

Journeys in scope

4

Cases run

41

Cases passed

37

Entries raised

4

Priority

Four levels, and what puts an entry in one

A priority is only useful if the person reading it and the person who wrote it mean the same thing by it. The scale goes out with the report, and this is it.

Priority describes the effect on the journey, not how long a fix is likely to take.
Level An entry gets it when
Blocker The journey cannot be completed, or it completes with the wrong outcome recorded. Nothing downstream can be trusted until it is fixed.
High The journey completes, but a rule the site states about itself is broken - a security rule, a money rule or a promise made on screen.
Medium The journey completes and the outcome is right, but a step behaves differently from the way the site describes it.
Low The outcome is right and the rule holds; something on the way through is awkward, inconsistent or hard to reach.
The entries

Every finding, written the same way

Reference, journey, environment, browser and screen, the steps in order, expected beside actual, a priority off the scale above, and a recording that shows the whole thing happening in one take.

DEF-014 J-07 Checkout in sandbox
Priority: Blocker

A declined test card leaves a paid order behind

Environment
staging.orderly.example, build 4.7.2
Browser
Chrome, Windows, 1440 x 900

Steps to reproduce

01 Sign in as the test account buyer-02@orderly.example.
02 Add two items to the basket, then set the quantity of the first to 3.
03 Go to checkout and complete the address step.
04 Pay with the payment provider’s published test card for a declined authorisation.

Expected result

The payment is refused, the message names the refusal, the basket is left exactly as it was and no order is created.

Actual result

The payment is refused and the message is correct, but an order is written anyway and appears in the account’s order list marked Paid. Repeating the step writes a second one.

Screen recording DEF-014.mp4 0:41 the basket, the refusal message and the order list, in one take
DEF-021 J-02 Sign-in and password recovery
Priority: High

The old password still signs in after a reset

Environment
staging.orderly.example, build 4.7.2
Browser
Firefox, macOS, 1280 x 800

Steps to reproduce

01 Request a password reset for buyer-04@orderly.example.
02 Open the link in the message that arrives and set a new password.
03 Sign out, then sign in with the new password.
04 Sign out again, then sign in with the password that was replaced.

Expected result

The replaced password is refused. Only the password set at step 2 signs the account in.

Actual result

Both passwords sign the account in. The old one keeps working until it is replaced a second time.

Screen recording DEF-021.mp4 1:12 both sign-ins one after the other, with the password field visible
DEF-032 J-04 Filters and sorting
Priority: Medium

A second filter replaces the first instead of narrowing it

Environment
staging.orderly.example, build 4.7.2
Browser
Chrome, Windows, 1440 x 900

Steps to reproduce

01 Open the catalogue and note the result count.
02 Tick In stock and note the count.
03 Tick Ships today as well, leaving In stock ticked.
04 Compare the three counts.

Expected result

Two filters together return no more than either returns alone, and both stay ticked.

Actual result

The combined count is higher than the count for In stock alone. Both boxes stay ticked, but the list matches Ships today only: the first filter is dropped without saying so.

Screen recording DEF-032.mp4 0:33 the three counts and the two boxes, with the address bar in frame
DEF-037 J-01 Registration
Priority: Low

The validation message appears off screen on a narrow window

Environment
staging.orderly.example, build 4.7.2
Browser
Safari, iOS, 360 x 780

Steps to reproduce

01 Open the registration form on a 360 px wide screen.
02 Fill in every field except Email.
03 Submit the form.

Expected result

The form refuses, the message is announced beside the field it belongs to, and that field takes focus.

Actual result

The form refuses and the message is written at the top of the page, above the visible area. Focus stays on the submit button, so nothing announces the refusal and the page looks as though the tap did nothing.

Screen recording DEF-037.mp4 0:26 the tap, the page not moving, and the message found by scrolling up
How it arrives

The document and what comes with it

The report is a document, and the recordings referred to in it travel with it. Both go by email, or by a download link where the recordings are too large to attach. Where a link is used, the covering email states how long it stays live and what to do if it is opened after that.

The written cases go over as well, not only the failures. That is what makes a second pass a comparison rather than a fresh start: the same steps, run again, against the same stated expectations.

Nothing is published anywhere. A report belongs to the customer who ordered it and is not shown to anybody else, on this site or off it.

Afterwards

Retest of fixes

The cases that failed, re-run once the developer marks them fixed, together with the steps either side of each one.

  • the failed case is re-run exactly as it was first run, from the same written steps
  • the steps on either side of it are run again too, because a fix moves the ground under them
  • each entry is closed, left open, or reopened with what it now does
  • anything new that the fix has broken is raised as its own entry

Quoted separately from the first pass, and against the list of entries actually marked fixed.

Test your website before launch

Request a test