AppReviewX Log in

Sign-up flow testing checklist

Valid, invalid and edge inputs, email verification, duplicate accounts and error messages.

In this guide

Sign-up is the first gate. If it fails, nothing else in your app matters. Each case below has an expected result, a reason and a way to check. Use a fresh install and a real device, and keep a few spare email addresses.

Valid input

  1. Sign up with a normal email and a strong password. Expected: account is created and the user lands where the app promises. Why: the happy path must be flawless. Check: do it on a clean install and confirm the account in your backend.
  2. Sign up with an address that has a plus tag or subdomain (name+test@example.com). Expected: accepted. Why: valid addresses get wrongly rejected by strict patterns. Check: try it and complete verification.
  3. Use a name with accents, an apostrophe or a non-Latin script. Expected: saved and shown correctly. Why: real names vary. Check: reopen the profile and compare.

Invalid input

  1. Leave each field empty, one at a time. Expected: a message at that field naming what is missing. Why: users skip fields. Check: submit with one field empty, then all.
  2. Enter an email without @ or domain. Expected: clear message, no crash. Why: typos are common. Check: try "name", "name@", "name@com".
  3. Enter a password below your minimum length. Expected: the rule is visible before or at the error. Why: hidden rules frustrate. Check: type one short password and read the message.
  4. Mismatching password confirmation (if you ask for one). Expected: error on the confirm field. Why: otherwise users lock themselves out. Check: enter two different values.

Edge cases

  1. Very long email, name and password. Expected: handled without layout break or server error. Why: limits differ between app and backend. Check: paste long strings and submit.
  2. Leading and trailing spaces in email. Expected: trimmed or rejected clearly. Why: keyboards add spaces after autocomplete. Check: type "name@example.com " with a trailing space.
  3. Uppercase email, then log in with lowercase. Expected: same account. Why: case mismatches cause "account not found". Check: sign up as Name@Example.com and log in as name@example.com.
  4. Paste a password from a password manager. Expected: accepted. Why: some fields block pasting. Check: paste in both fields.
  5. Emoji in the name field. Expected: accepted or rejected cleanly, never garbled. Why: storage may drop characters. Check: save and reload.

Duplicates

  1. Sign up again with an existing email. Expected: a message that does not crash and ideally does not reveal more than needed. Why: duplicates are common, and detailed messages can leak who has an account. Check: try twice and compare both screens. Decide deliberately which trade-off you want.
  2. Tap the sign-up button twice quickly. Expected: one account, one verification email. Why: impatient taps create duplicates. Check: double-tap on a slow network.

Email verification

  1. Verification email arrives and the link works. Expected: the account is confirmed and the app opens correctly. Why: no email, no user. Check: use a real inbox and also check spam.
  2. Open the link on a different device. Expected: sensible result, not a blank page. Why: many users read email on a computer. Check: open the link on your laptop.
  3. Use an old or already used link. Expected: a message with a way to request a new one. Why: links expire. Check: reuse the first link after requesting a second.
  4. Try to use the app before verifying. Expected: behavior matches your design, with a clear prompt. Why: unclear states produce support requests. Check: close the app after sign-up and reopen it.

Interruptions and environment

  1. Lose the network during submit. Expected: error with retry, no half-created account. Why: phones lose signal. Check: airplane mode on at the moment of tapping.
  2. Kill the app during sign-up and reopen. Expected: user can continue or restart cleanly. Why: calls and app switches interrupt. Check: swipe the app away mid-form.
  3. Rotate and use large text. Expected: fields and buttons stay reachable. Why: keyboards cover fields. Check: enable large text, open the keyboard and tap each field.
  4. Third-party sign-in (if offered): cancel from the provider screen. Expected: return to your app without a broken state. Why: users change their mind. Check: start and cancel.

Wording

  1. Read every message aloud. Expected: each says what is wrong and what to do. Why: "Error 400" helps nobody. Check: list all messages and mark vague ones.

Not legal advice: check that consent text, age gates and terms links match your own requirements.

Want a fresh pair of eyes on your sign-up? AppReviewX offers private, structured feedback; one feedback you write earns one credit. See how AppReviewX works.