Aim to mention 20-40 concrete checks. This expanded list helps you turn a short answer into a structured senior-style response.
Valid email and password sign the user in.
Successful login redirects to the dashboard or originally requested page.
Remember me, forgot password, logout, and session timeout follow requirements.
MFA or SSO-only users are routed to the correct next step if supported.
Invalid password, unknown email, empty fields, malformed email, and whitespace inputs show safe errors.
Locked, disabled, suspended, deleted, and unverified accounts behave correctly.
Repeated submits and slow responses do not create duplicate requests or confusing UI.
Brute-force protection, throttling, CAPTCHA, or lockout rules work.
Errors do not reveal whether the email exists.
Passwords and tokens are not exposed in URLs, logs, analytics, page source, or client storage.
API status codes, backend failures, cookie flags, and safe redirects are verified.
Labels, focus states, keyboard navigation, screen reader errors, and password visibility control work.
Loading, error, and recovery states are clear on desktop and mobile.
Slow network and timeout behavior are understandable and recoverable.
Structure your answer: Start with the happy path: valid credentials, expected redirect, and successful session creation.
Structure your answer: Add negative inputs and account states: wrong password, unknown email, empty fields, locked or unverified users.
Structure your answer: Add security: brute-force protection, generic errors, password masking, secure cookies, and safe redirects.
Structure your answer: Close with UX, accessibility, mobile layout, API failures, and performance under slow responses.
Do not miss: Locked, disabled, unverified, and MFA-required account states.
Do not miss: Brute-force protection and account enumeration.
Do not miss: Session cookies, logout, redirect safety, and browser-back behavior.
Do not miss: Accessibility and mobile layout.