QA Exercise 15
Exercise · Bug Hunt (Checkout Form: Validation & Pricing)
QA · Hands-onTest ideas:
- Use email: "a@b" or "alex@site" (should fail)
- Country: Vietnam + ZIP: "12345" (rules differ)
- Shipping: Standard with subtotal > $50 (should be free)
- Payment: COD should hide card input and not validate card
- Submit twice quickly (double-submit / duplicate order risk)
🎯 Instructions (Oral) task flow
- Enter a name and test different emails (valid and invalid). Observe validation behavior.
- Change country and test postal codes (letters, short/long codes). See if rules update correctly.
- Toggle shipping options and compare expected shipping cost (especially free standard shipping over $50).
- Switch payment method to COD and verify whether card input is hidden and skipped during validation.
- Click Submit order twice quickly and observe messages and submit count.
- Present a spoken bug report with: Title, STR, Expected vs Actual, Severity/Priority, Recommendation.
📖 Vocabulary definitions
- form validation — rules that prevent incorrect or incomplete input.
- client-side validation — checks performed in the browser.
- server-side validation — checks performed on the backend (should still exist).
- required field — input that must be filled in to proceed.
- postal code format — country-specific rules for ZIP/postal codes.
- free shipping threshold — minimum subtotal for free shipping.
- double-submit — submitting the same form twice (can cause duplicates).
- error state — UI showing a failure message and blocking progress.
🧩 Collocations natural pairings
- enforce validation rules / reject invalid input
- show an error message / clear the error
- apply shipping charges / qualify for free shipping
- calculate tax / recalculate totals
- prevent double-submit / disable the submit button
🗣️ Idioms & Phrasal Verbs natural speech
- slip through — not get caught: “Invalid emails slip through validation.”
- mess up — handle incorrectly: “The form messes up the shipping fee.”
- kick in — start applying: “Free shipping should kick in over $50.”
- clear out — remove: “The error message doesn’t clear out after fixing the input.”
- lock down — make strict: “We need to lock down validation.”
🎤 Model Answer (spoken style) example
Bug title: Checkout validation allows invalid emails and incorrectly charges shipping; COD still triggers card validation.
Steps to reproduce: First, enter email “a@b” and click Submit. Next, set shipping to Standard and keep subtotal above $50. Then switch payment to COD and submit again. Finally, fix the email and observe whether the error clears.
Expected result: Invalid emails should be rejected, standard shipping should be free over the threshold, COD should skip card validation, and errors should clear after inputs are corrected.
Actual result: Invalid emails can slip through, shipping is still charged sometimes, COD still triggers card errors, and error messages can persist even after fixing inputs.
Severity / Priority: High severity, P1 — blocks checkout and risks incorrect charges.
Recommendation: Use stricter email/ZIP rules per country, apply free-shipping logic consistently, disable submit during processing to prevent double-submit, and reset error state on input change.