QA Exercise 14
Exercise · Bug Hunt (File Upload: Progress, Limits & Error States)
QA · Hands-on🎯 Instructions (Oral) task flow
- Select a file and click Start upload. Observe progress, ETA, and status text.
- Try a file with a disallowed extension (e.g.,
.exeor.zip). Check whether it is blocked. - Try a larger file (over ~2MB). Check if size validation works correctly.
- Click Cancel mid-upload and see what message appears.
- Start another upload immediately after an error and see whether the UI resets properly.
- 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.