# Regression testing checklist

## Around the change (NEAR)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| NEAR-01 | The rest of the changed screen still works | The build with the change | 1. Open the screen that changed. 2. Use every other control on it. | Every other control behaves exactly as in the last release. | | | |
| NEAR-02 | Screens that read the same data | A record the change touches | 1. Open every screen that shows this record. | Each one shows the same, correct values. | | | |
| NEAR-03 | Shared components still look right | The change touched a shared component | 1. Open three other screens that use it. | Layout, text and taps are unchanged there. | | | |
| NEAR-04 | Old data still opens | A record created before this build | 1. Open it. 2. Edit and save it. | It opens, edits and saves without errors. | | | |

## Paths that must never break (CORE)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| CORE-01 | Sign up | No account | 1. Create an account end to end. | Account created, verification arrives, app opens. | | | |
| CORE-02 | Sign in, then sign out | An existing account | 1. Sign in. 2. Sign out. | Both work; signing out clears the session. | | | |
| CORE-03 | Reset a password | An existing account | 1. Request a reset. 2. Set a new password. | The new password works and the old one does not. | | | |
| CORE-04 | The main journey | Signed in | 1. Complete the one thing the app is for. | It completes with the result the user expects. | | | |
| CORE-05 | Take a payment | A test card | 1. Pay for something. | Payment succeeds once, and the receipt matches. | | | |

## Bugs that came back before (BACK)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| BACK-01 | Every bug fixed in the last three releases | The list of fixed issues | 1. Reproduce each original report step by step. | None of them happens again, on the platform it was reported on. | | | |
| BACK-02 | Fixes in shared code, on every platform | A fix merged in code more than one platform uses | 1. Repeat the original steps on each platform. | Fixed everywhere, not just where it was reported. | | | |

## The device and the network (ENV)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| ENV-01 | Upgrade over the previous build | Previous version installed, signed in | 1. Install this build over it. | Still signed in, data intact, no new onboarding. | N/A | | |
| ENV-02 | A slow or dropped connection | Network throttled, then cut | 1. Repeat the main journey. | Clear messages, nothing lost, it recovers when the network returns. | | | |
| ENV-03 | The smallest supported screen | Smallest phone or a narrow browser | 1. Open the changed screens. | Nothing overlaps or is cut off. | | | |
| ENV-04 | Large text | System text size at maximum | 1. Open the changed screens. | Text is readable and buttons can still be tapped. | | | |
