Software testing checklist
A software testing checklist.So you know what to test.
The checks worth running before every release, and the ones only phones need. Each has steps anyone can follow and the result you should see. Take it as a spreadsheet, or work through it in qarunbook.
Free to download. No email, no sign-up.
Across the release and mobile checklists together.
ID, journey, preconditions, steps and expected result.
A result column for each, N/A where it doesn't apply.
Excel, CSV or Markdown. No email, no sign-up.
Testing isn't the hard part.Knowing what to test is.
Most bugs that reach users weren't hard to find. Nobody had written down that they needed looking for.
Everything feels worth checking
An app has hundreds of things that could break. Without a list, testing is whatever someone remembers to try that day.
The steps live in one person's head
“Check the checkout” means something different to everyone. If the steps and the result aren't written down, nobody else can repeat the test.
Fixed gets mistaken for checked
A bug marked fixed is a claim, not a result. Unless someone checks it again, on the platform it was found on, it ships on trust.
The checklist.Two templates, on one page.
There's no single list that fits every app, so this one is built from two of our templates: the release checklist, for any app, and the mobile app testing checklist, for apps on Android and iOS.
Both are below in full. Add your own app's features as new checks in the same shape.
Release checklist
16 checks · 4 sections · Web, Android, iOS
Run it on every app, before every release. It covers web, Android and iOS.
Why these checks: What to test before you ship an update
Fixes from last round FIX
- FIX-01Every issue marked fixed is checked againThe original steps no longer produce the bug, on the platform it was reported on.
- FIX-02The fix did not break its neighboursNothing next to the fix has changed behaviour.
What changed CHG
- CHG-01The new feature, happy pathIt does what the release notes claim.
- CHG-02The new feature, refused pathIt fails clearly, without losing the user's work.
- CHG-03The screen the change sits onEverything else on it still works.
Never ship broken CORE
- CORE-01Sign upAccount created, verification arrives, app opens.
- CORE-02Sign in and sign outBoth work; sign-out clears the session.
- CORE-03Password resetThe new password works, the old one does not.
- CORE-04The one thing the app is forIt completes, with the result the user expects.
- CORE-05Take a paymentPayment succeeds, receipt matches, nothing is charged twice.
- CORE-06Upgrade over the previous buildStill signed in, data intact, no re-onboarding.N/A on Web
Before you press publish SHIP
- SHIP-01Build number and version raisedBoth raised from the last release.
- SHIP-02Crash reporting reaches the dashboardIt appears in the dashboard within minutes, with a readable stack.
- SHIP-03Emails go out, and not to spamBoth arrive, in the inbox, with working links.
- SHIP-04Links in the app workEach opens the right page.
- SHIP-05Rollback plan existsSomeone knows how, and it is written down.
Mobile app testing checklist
21 checks · 5 sections · Android, iOS
Add it when the app runs on a phone. It covers what only Android and iOS do.
Why these checks: Mobile app testing checklist
First run and permissions ONB
- ONB-01First launch after installIt opens without a crash, on the intro or sign-in screen. Nothing flashes and disappears.
- ONB-02Permission asked in contextThe prompt appears only when the feature needs it, with a line saying why.
- ONB-03Permission denied is survivableThe app keeps working with a manual alternative. No loop of prompts, no crash.
- ONB-04Permission granted laterThe app notices without a restart, or says clearly to restart.
- ONB-05Notifications deniedThe app continues, and never asks again on every screen.
Interruptions and state INT
- INT-01Phone call mid-taskThe form still holds what was typed.
- INT-02App backgrounded for 30 minutesThe app restores where it was, or signs out deliberately with a message. It does not show a blank screen.
- INT-03RotationNothing is lost and nothing is cut off.
- INT-04Low battery modeAnimations may drop, but the journey completes.
- INT-05Killed and reopenedStill signed in, and the last screen or the home screen opens.
Network NET
- NET-01No connectionA clear "no connection" state with a retry, not an endless spinner.
- NET-02Slow connectionA progress state appears within a second, and the action is not sent twice.
- NET-03Connection drops mid-submitThe app says the action may not have completed, and retrying does not create a duplicate.
- NET-04Back onlineQueued work completes or is clearly discarded. Nothing is silently lost.
Devices and display DEV
- DEV-01Small screenNo text cut off, no button off-screen, nothing under the notch or home bar.
- DEV-02Largest text sizeText reflows and stays readable. Buttons still show their labels.
- DEV-03Dark modeEvery screen follows, with readable contrast. No white flash on launch.
- DEV-04Keyboard covers the fieldThe field scrolls above the keyboard, and the submit button is reachable.
Updates and store REL
- REL-01Upgrade over the old versionStill signed in, local data intact, no forced re-onboarding.
- REL-02Deep link from outsideThe right screen opens, signed in or with a sign-in that returns there afterwards.
- REL-03Store listing matches the buildScreens shown in the store exist in this build.
What each check holds.Enough for anyone to repeat it.
A line like “test the upgrade” is a reminder, not a check. Each row in the checklist says what has to be true first, what to do, and what you should see, on each platform.
Here is CORE-06, taken straight from the release checklist.
- ID
- CORE-06A short reference, with the section's code in front, so a check can be talked about without describing it.
- Journey
- Upgrade over the previous buildWhat is being checked, in a few words a person would say out loud.
- Preconditions
- Previous version installed, signed inWhat has to be true before you start: the account, the data, the setting.
- Steps
- 1. Install this build over it.Numbered, so anyone can follow them — not only the person who wrote them.
- Expected result
- Still signed in, data intact, no re-onboarding.What you should see. A check passes or fails against this line, not against a feeling.
- Platforms
- WebN/AAndroidto testiOSto testOne column per platform the app ships to, for the result. N/A where a check does not apply, so nobody tests it there.
Download it.In the format you work in.
Excel and CSV give one row per check, with the section in the first column. Markdown keeps a heading per section.
Every file imports straight into qarunbook as it is.
Release checklist
16 checks · 4 sections · Web, Android, iOS
Mobile app testing checklist
21 checks · 5 sections · Android, iOS
Rather have it by email?
Optional. We’ll send both checklists, with a link to every format.
Need a full plan rather than a checklist? The template library also has a UAT test plan and a blank import template.
Work through it in qarunbook.With your team, or with AI.
A spreadsheet tells you what to test. It doesn't keep track of who tested it, on which platform, or whether a fix was ever checked again.
Import the checklist and every check gets a result on each platform, with a name against it.
Create a free workspace
No card needed. You can download the templates without one; you only need it to work through them here.
Add an app and choose “Use our template”
Upload the file — Excel, CSV or Markdown, whichever you edited. It is read exactly as written, with no AI and nothing guessed.
Work through it
Every check becomes a row with a result for each platform. Issues stay on the check that found them, and a fix waits for a retest before it counts as a pass.
Questions,answered.
The release checklist guide and the mobile testing guide explain the checks in more depth.
Is this checklist complete for my app?
Where did these checks come from?
Does it cover automated tests?
Can I use it without qarunbook?
What does N/A mean in a platform column?
Know what to test.Then get it tested.
Create a workspace, add your app, and upload the checklist. Free to start.
Free plan available — no card required.
Works with your AI and every platform you ship to