QA Exercise 5
Exercise · Bug Hunt (Profile Form & Validation)
QA · Hands-on🎯 Instructions (Oral) task flow
- Enter a name with spaces at the start/end, a weak email (e.g.,
a@b), and letters in the phone field. - Set a future date of birth and then a child age (e.g., under 13).
- Select United States but leave state blank; then select Other and enter a US-style state.
- Click Preview and type
<b>bold</b>in the bio — observe formatting. - Click Save profile multiple times; note success even when errors are present.
- Present your spoken bug report: Title → Steps to Reproduce → Expected vs Actual → Severity/Priority → Recommendation.
📖 Vocabulary definitions
- input validation — rules that ensure user input meets format and business requirements.
- client-side vs server-side — checks in the browser vs on the server (authoritative).
- sanitization — removing or escaping unsafe characters before rendering or storing.
- trimming — removing leading/trailing whitespace from input.
- age gate — enforcing a minimum age requirement.
- dependency validation — when one field’s validity depends on another (country ↔ region).
- UX consistency — UI messages and states accurately reflect validation outcomes.
- happy path — a simple scenario with valid inputs and no errors.
🧩 Collocations natural pairings
- enforce required fields / reject invalid formats
- sanitize user input / escape HTML in previews
- validate dependencies / block inconsistent combinations
- trim whitespace / normalize case
- surface clear error messages / prevent false positives
🗣️ Idioms & Phrasal Verbs natural speech
- slip through — get accepted when it shouldn’t: “Weak emails slip through.”
- paper over — hide a problem without fixing it: “Random success papers over errors.”
- lock down — secure or restrict: “We need to lock down the preview rendering.”
- line up with — match: “Errors don’t line up with field states.”
- edge case — unusual inputs revealing bugs: “Future DOB is an edge case not handled.”
🎤 Model Answer (spoken style) example
Bug title: Profile form accepts invalid inputs and shows success despite errors; preview renders unescaped HTML.
Steps to reproduce: Enter “ Jane ” as name, a@b as email, letters for phone, a future DOB, choose “United States” with empty state, type <b>bold</b> in bio, then click Save profile repeatedly.
Expected result: Trimmed name; strong email/phone checks; DOB cannot be in the future and must pass minimum age; country/state must be consistent; preview escapes HTML; save blocked until errors are fixed.
Actual result: Weak email/phone are accepted; future/underage DOB allowed; country/state mismatch not flagged; preview renders HTML; app sometimes shows “Saved” at random even with visible errors.
Severity / Priority: Major severity, P0/P1 — validation and security concerns can impact data quality and user trust.
Recommendation: Add strict client & server validation (trim, regex/email library, digits-only phone rules), enforce age gate and country↔region dependency, escape/sanitize preview output, and make save logic deterministic based on validation state.