← Engineering lab · Laboratorio ES

false-green
v0.1.0-alpha.1 / EVIDENCE REPORT

NEGATIVE CONTROLS FOR BROWSER TESTS

Green tests.
Broken product?

One checkout. Two very different test suites.. The same journey, controlled faults, repeated checks. An armed fault is not evidence until it actually applies.

5DETECTED
5SURVIVED
0NOT MEASURABLE
50%DETECTED / ELIGIBLE (10/10)

SCENARIO / weak-checkout

Weak checks: everything is still green

Clean controls passed
Injected faults, verdicts and recorded evidence
Injected faultVerdictEvidence
Checkout button does nothingblock-click · dead-checkoutsurvived1 / 1 hits
Why this result?

The fault applied in every repetition; all verification checks still passed. Review the test and fault relevance.

Run 1 · passed · 235 ms · phase: complete

Run 2 · passed · 229 ms · phase: complete

Product image cannot decodebreak-image · broken-imagesurvived1 / 1 hits
Why this result?

The fault applied in every repetition; all verification checks still passed. Review the test and fault relevance.

Run 1 · passed · 249 ms · phase: complete

Run 2 · passed · 235 ms · phase: complete

Shipping information is invisiblehide-element · hidden-shippingsurvived1 / 1 hits
Why this result?

The fault applied in every repetition; all verification checks still passed. Review the test and fault relevance.

Run 1 · passed · 240 ms · phase: complete

Run 2 · passed · 233 ms · phase: complete

Confirmation copy is corruptedreplace-text · wrong-confirmationsurvived1 / 1 hits
Why this result?

The fault applied in every repetition; all verification checks still passed. Review the test and fault relevance.

Run 1 · passed · 224 ms · phase: complete

Run 2 · passed · 260 ms · phase: complete

Explicit button label is removedremove-attribute · missing-accessible-namesurvived1 / 1 hits
Why this result?

The fault applied in every repetition; all verification checks still passed. Review the test and fault relevance.

Run 1 · passed · 225 ms · phase: complete

Run 2 · passed · 241 ms · phase: complete

Inspect clean controls before and after
{
  "before": [
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 322,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    },
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 239,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    }
  ],
  "after": [
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 238,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    },
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 246,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    }
  ]
}

SCENARIO / strong-checkout

Behavior checks: the same faults are detected

Clean controls passed
Injected faults, verdicts and recorded evidence
Injected faultVerdictEvidence
Checkout button does nothingblock-click · dead-checkoutdetected1 / 1 hits
Why this result?

An assertion failed during verification after the fault applied in every repetition.

Run 1 · assertion-failed · 656 ms · phase: verify
AssertionError: Checkout must show a confirmation

Run 2 · assertion-failed · 656 ms · phase: verify
AssertionError: Checkout must show a confirmation

Product image cannot decodebreak-image · broken-imagedetected1 / 1 hits
Why this result?

An assertion failed during verification after the fault applied in every repetition.

Run 1 · assertion-failed · 254 ms · phase: verify
AssertionError: Product image must contain decoded pixels

Run 2 · assertion-failed · 263 ms · phase: verify
AssertionError: Product image must contain decoded pixels

Shipping information is invisiblehide-element · hidden-shippingdetected1 / 1 hits
Why this result?

An assertion failed during verification after the fault applied in every repetition.

Run 1 · assertion-failed · 264 ms · phase: verify
AssertionError: Shipping information must remain visible

Run 2 · assertion-failed · 264 ms · phase: verify
AssertionError: Shipping information must remain visible

Confirmation copy is corruptedreplace-text · wrong-confirmationdetected1 / 1 hits
Why this result?

An assertion failed during verification after the fault applied in every repetition.

Run 1 · assertion-failed · 212 ms · phase: verify
AssertionError: Confirmation must communicate success

Run 2 · assertion-failed · 188 ms · phase: verify
AssertionError: Confirmation must communicate success

Explicit button label is removedremove-attribute · missing-accessible-namedetected1 / 1 hits
Why this result?

An assertion failed during verification after the fault applied in every repetition.

Run 1 · assertion-failed · 237 ms · phase: verify
AssertionError: Explicit accessible label must match the product contract

Run 2 · assertion-failed · 242 ms · phase: verify
AssertionError: Explicit accessible label must match the product contract

Inspect clean controls before and after
{
  "before": [
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 283,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    },
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 227,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    }
  ],
  "after": [
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 244,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    },
    {
      "outcome": "passed",
      "phase": "complete",
      "hits": 0,
      "durationMs": 239,
      "message": null,
      "blockedRequests": 0,
      "injectionErrors": []
    }
  ]
}