Verifying complete journeys.
WHAT IT VERIFIES
That the assembled system serves a user journey.
WHAT TO SELECT
The few journeys whose failure would be unacceptable.
WHAT EXAMPLES LOOK LIKE
Registering and signing in Completing a purchase Submitting the primary form The core workflow of the product
WHAT MAKES THEM FRAGILE
Timing Test data Environment differences Selectors changing External dependencies
WHAT REDUCES FRAGILITY
Waiting for conditions rather than fixed delays Stable selectors chosen for testing Data created by the test itself Substituting external services
WHY FIXED DELAYS ARE THE MAIN CULPRIT
They are either too short and flaky, or too long and slow.
WHAT TO WAIT FOR
The element or state the next step needs.
WHAT SELECTORS TO USE
Attributes added specifically for testing.
WHY NOT VISUAL OR TEXT SELECTORS
They change with design and translation.
WHAT TO DO ABOUT SETUP
Create data through interfaces rather than through the user journey.
WHY
Setting up through the interface is slow and fails for unrelated reasons.
WHAT TO RUN THEM AGAINST
An environment resembling production.
WHAT TO MEASURE
Duration, and flakiness rate.