End-to-end functional tests
Scripted user journeys through the real UI against a deployed build.
Mandatory for 43 of 46 product types. Usually run by a QA engineer.
What it catches
- broken flows
- wrong states after actions
What it misses
- load behaviour
- security
- subtle visual issues
Which product types need it and why
Done conditions used on playbook pages
Each mandatory cell has its own done condition, written for that product type.
- accounting and invoicing SaaS (Fintech): A bill entered by a user for a supplier that same user created cannot be paid until a second user approves it.
- buy now pay later service (Fintech): A test shopper whose stated income fails the affordability rule is declined at checkout, and the decline is logged with the check that failed.
- clinical trial management software (Healthcare): A test participant is screened, randomised, assigned a kit and emergency-unblinded by the investigator, and only the investigator and named unblinded roles see the arm.
- crypto exchange (Fintech): A withdrawal to a new address after a password or phone change triggers a hold and an email the account owner must confirm.
- dating app (Consumer apps): A profile reported by members for asking for money is hidden from discovery, and its pending likes and messages stop reaching other members.
- desktop application (Infrastructure and developer products): After install, update and uninstall on a test machine with redirected Documents and a moved data folder, every user file is still present and no helper remains.
- e-signature service (B2B SaaS): A first-time consumer signer sees the electronic records disclosure and gives consent before the document opens, and withdrawing consent switches that signer to paper.
- ecommerce store (Commerce): An order for a backordered item that passes its promised ship date triggers a delay email with a working cancel link, and cancelling issues a card refund.
- electronic health record system (Healthcare): A test patient goes from registration through orders, results, medication administration and discharge, and each step shows in the chart with the user and time.
- email marketing platform (B2B SaaS): A subscriber who joins through double opt-in, receives a campaign and unsubscribes in one click gets no later campaign from any list in that account.
- ERP system (B2B SaaS): Procure-to-pay and hire-to-pay scenarios run with real pay rules and real users, and every invoice and payslip matches the expected amount.
- EV charging app (Infrastructure and developer products): The price per kWh shows before the driver taps start, and a charger the backend marks out of order shows as unavailable on the map.
- expense management tool (Fintech): A report with a missing receipt or business purpose cannot be approved for payment, and an employee leaving the company has every card frozen on the offboarding date, and a dinner split into two receipts below the approval threshold, or a card charge claimed again as out-of-pocket, is flagged before payment.
- fleet and logistics tracking (Infrastructure and developer products): An immobilise command needs confirmation by a second named manager and is refused while the vehicle reports movement, and the driver's privacy switch stops position updates.
- government services portal (Public sector): A claim filed with a test identity that fails proofing is held for review, and a claim under an identity already in use is flagged before payment.
- grocery delivery app (Commerce): On a first order advertised with free delivery, the checkout screen shows every fee before payment and the card charge equals the shown total.
- identity and access management service (B2B SaaS): Enrolment, step-up MFA, password reset and account recovery each end in the expected state, and recovery never skips the user's enrolled factor.
- insurance app (Fintech): Typing a stranger's name and birth date into the quote form returns no driver's license number or household driver details on any screen or response.
- smart home or IoT app (Infrastructure and developer products): A sign-in from an unknown phone sends an alert to the owner, and with two-factor sign-in on, the same login fails without the second factor.
- kids app (Education): Every purchase, chat and outbound link asks for the parental gate, and chat is off on a new child profile until a parent turns it on.
- language learning app (Education): A parent deletes a child profile and its voice recordings are gone from the account export, and a cancelled subscription stays cancelled after the next renewal date.
- lending platform (Fintech): A declined test application produces an adverse action notice whose reasons match the factors the decision engine logged for that applicant.
- LLM-based assistant (Infrastructure and developer products): A user who types a self-harm phrase gets the crisis message and helpline link in the same turn, on web and both mobile apps.
- loyalty program app (Commerce): A member who earned points before a terms change can still redeem them at the old price shown on their statement.
- online marketplace (Commerce): A test seller crosses the volume threshold, is asked for verification, and has listings paused until verified; a buyer report on a listing reaches the trust team queue.
- mental health app (Healthcare): A test user signs up, gives or refuses consent, books a session and cancels the subscription, and each choice shows in the account settings afterwards.
- messaging app (Consumer apps): A child account cannot be added to a group, call or chat by anyone outside its approved contacts, including through a group invite from an approved friend.
- mobile banking app (Fintech): A tester adds a payee, sees the name check result, sends a first transfer, and the receiving test account shows the exact amount once.
- mobile game (Consumer apps): A new account set to under 13 starts with voice and text chat off, and only a verified parent can turn them on.
- neobank (Fintech): An applicant with an implausible address or mismatched selfie is sent to manual review, and a closed test account's balance arrives at the external bank account.
- peer-to-peer payment app (Fintech): A payment held for review shows as pending to the recipient with the cash-out button disabled until the review clears, and a password, email or phone change or a login on a new device sends an alert to the previous contact details.
- patient portal (Healthcare): A records request, a secure message and a proxy invitation each reach the right staff queue or account, and a revoked proxy can no longer open the patient's results.
- pharmacy delivery app (Healthcare): A new patient uploads a prescription, the pharmacist approves it, the patient pays and the courier marks it delivered, and each step appears in the order history.
- ride-hailing app (Commerce): A scripted trip with cancellation, wait time and a tip produces a receipt where each line matches what the rider was shown before confirming, and a rider flagged as needing boarding time sees no wait-time line.
- software as a medical device (Healthcare): A test user goes from pairing through a full therapy day on a test rig, and every reading, alarm and delivered dose in the app matches the device log.
- social network (Consumer apps): A reported post reaches the moderation queue, and a blocked user can no longer see or message the blocker, on iOS, Android and web.
- subscription box service (Commerce): A subscriber who signed up on the website or app cancels in the same channel without calling support, and receives a cancellation confirmation email.
- telemedicine app (Healthcare): A test patient completes intake, a video visit and a prescription to the chosen pharmacy, and a stimulant refill request is held until a clinician documents a new assessment.
- event ticketing platform (Commerce): The first price shown for a seat equals the checkout total with all fees, and a buyer at the ticket limit cannot add one more ticket.
- stock trading app (Fintech): A market order placed in a fast-moving test symbol either fills or shows the customer, before submission, that it will be converted to a limit order.
- travel booking app (Commerce): The first nightly price shown for a hotel equals the checkout total with all mandatory fees for the same dates.
- video conferencing tool (B2B SaaS): Waiting room, passcode, meeting lock, remove participant and host-only screen share each stop a test intruder account in a scripted meeting.
- wearable companion app (Healthcare): A threshold breach recorded on the band produces a phone notification, and a band disconnected for longer than the set interval shows a 'not connected' warning instead of the last value.
Tools
Alphabetical. Not recommendations.
end-to-end functional tests
- AppiumCross-platform mobile UI automation over WebDriver. iosandroidopen-source
- ApplitoolsVisual comparison of screens across builds. webiosandroidcommercial
- BrowserStackCloud of real devices and browsers. webiosandroidcommercial
- CypressBrowser-based end-to-end testing with a visual runner. webfreemium
- DeepEvalUnit-style evaluation for LLM applications. apiopen-source
- DetoxGray-box end-to-end testing for React Native apps. iosandroidopen-source
- EspressoAndroid UI testing framework from Google. androidopen-source
- LambdaTestCloud browser and device grid. webiosandroidcommercial
- MaestroMobile UI flows written in YAML. iosandroidfreemium
- PercyVisual review of UI changes. webcommercial
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- PostmanAPI client with collections and scripted assertions. apifreemium
- PromptfooEvaluation and regression tests for LLM prompts and outputs. apiwebopen-source
- Sauce LabsCloud test infrastructure for web and mobile. webiosandroidcommercial
- SeleniumWebDriver-based browser automation. webopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source