STAGE 1: Choose the test boundary
Concept: Not every risk belongs in an end-to-end test.
Task: Map calculation, service and user-journey risks to unit, integration or UI tests.
Acceptance: Explain why each test sits at its chosen layer.

My assumptions:

My work / file link:

My checks and results:

What I changed:


STAGE 2: Create deterministic fixtures
Concept: A test should control the conditions needed for its assertion.
Task: Use local synthetic records and a resettable database or in-memory fixture.
Acceptance: Tests do not depend on today’s external website data.

My assumptions:

My work / file link:

My checks and results:

What I changed:


STAGE 3: Test failures as well as success
Concept: A meaningful assertion checks behavior rather than implementation details.
Task: Write cases for invalid capacity, duplicate requests and a failed dependency.
Acceptance: Demonstrate that a deliberately broken behavior makes a test fail.

My assumptions:

My work / file link:

My checks and results:

What I changed:


STAGE 4: Make results actionable
Concept: A pipeline should preserve enough evidence to diagnose failures.
Task: Document the command, environment, logs and flaky-test handling policy.
Acceptance: Do not call a test stable after only one successful run.

My assumptions:

My work / file link:

My checks and results:

What I changed:
