Original requirement
The system should allow users to log in quickly and securely, and handle a reasonable number of concurrent users.
Findings
- AmbiguityCritical
"Quickly" and "reasonable number" have no measurable threshold.
Why flagged: The words "quickly" and "a reasonable number of concurrent users" are subjective, so two testers would write different pass/fail criteria for the same requirement.
- Missing Acceptance CriteriaMajor
No acceptance criteria define a successful or failed login attempt.
Why flagged: The requirement never states expected behaviour for wrong credentials, locked accounts or expired sessions, so negative paths cannot be verified.
- SecurityCritical
No rate limiting, lockout or credential-handling rules are specified.
Why flagged: "Securely" is asserted but no control is named — brute-force protection, password storage and session expiry are all untested.
Suggested rewrite (SMART / INVEST)
Users must authenticate with email and password in under 2 seconds (p95) with up to 500 concurrent sessions. Given a registered user with valid credentials, When they submit the login form, Then a session is created within 2s and they land on the dashboard. Given 5 consecutive failed attempts within 10 minutes, When a 6th attempt is made, Then the account is locked for 15 minutes and an alert is logged.
Test case skeletons
- positiveValid credentials authenticate within 2s
- Open /login
- Enter valid email and password
- Submit the form
Expected: Dashboard loads and session cookie is set in under 2 seconds (p95).
- negativeSixth failed attempt locks the account
- Submit 5 invalid passwords within 10 minutes
- Submit a 6th attempt
Expected: Account locked for 15 minutes, lockout message shown, security event logged.
- boundary500 concurrent logins stay within SLA
- Ramp to 500 concurrent login requests
- Measure p95 latency
Expected: All logins succeed with p95 latency ≤ 2s and no 5xx responses.