QA Exercise 14

Exercise · Bug Hunt (File Upload: Progress, Limits & Error States)

QA · Hands-on
Upload a file, test size/type limits, cancel mid-upload, and try uploading multiple times. Find defects in progress display, validation, error handling, and state reset. Then present a spoken bug report.
Intentionally buggy: file type validation is inconsistent, size limits are off, progress can exceed 100%, cancel sometimes shows success, and errors don’t reset between uploads.
“Allowed” types: .png .jpg .pdf (buggy validation) · “Limit”: 2 MB (buggy math)
0 attempts
0% 0 KB/s ETA: —
🎯 Instructions (Oral) task flow
  1. Select a file and click Start upload. Observe progress, ETA, and status text.
  2. Try a file with a disallowed extension (e.g., .exe or .zip). Check whether it is blocked.
  3. Try a larger file (over ~2MB). Check if size validation works correctly.
  4. Click Cancel mid-upload and see what message appears.
  5. Start another upload immediately after an error and see whether the UI resets properly.
  6. Deliver a spoken bug report: Title → STR → Expected vs Actual → Severity/Priority → Recommendation.
📖 Vocabulary definitions
  • file validation — checking file size/type before upload.
  • MIME type — a file type label used by browsers (e.g., image/png).
  • size limit — maximum allowed file size.
  • progress indicator — UI showing percent uploaded.
  • cancelation — stopping an in-progress upload.
  • error state — UI mode after a failure.
  • retry — uploading again after an error.
  • state reset — clearing UI to a clean default for the next attempt.
🧩 Collocations natural pairings
  • enforce a size limit / block disallowed types
  • show progress / update the status message
  • handle errors gracefully / surface a clear error
  • cancel an upload / retry the request
  • reset the UI / clear stale state
🗣️ Idioms & Phrasal Verbs natural speech
  • mess up — handle incorrectly: “The progress bar messes up and goes over 100%.”
  • kick off — start: “I kicked off the upload and the UI froze.”
  • back out — cancel/undo: “I tried to back out, but it still shows success.”
  • carry over — persist: “The error message carries over to the next upload.”
  • iron out — fix small issues: “We need to iron out the validation rules.”
🎤 Model Answer (spoken style) example

Bug title: File upload progress exceeds 100% and cancel can still display success; validation and UI reset are inconsistent.

Steps to reproduce: First, select any file and click Start upload. Next, click Cancel at around 40–60%. Then immediately select a new file and start upload again. Finally, try a disallowed file type and observe whether it’s blocked.

Expected result: Progress should cap at 100%, cancel should stop the upload and show a cancellation message, invalid files should be rejected consistently, and the UI should reset cleanly between attempts.

Actual result: Progress can exceed 100%, cancel sometimes still shows success, invalid file validation behaves inconsistently, and error messages can carry over into the next attempt.

Severity / Priority: Medium-to-high severity, P2/P1 — it damages user trust and can cause repeated failed uploads.

Recommendation: Clamp progress to 0–100%, implement a reliable canceled state, standardize validation rules, and reset UI messages/state on each new attempt.