QA Exercise 4
Exercise · Bug Hunt (Search & Pagination)
QA · Hands-on🎯 Instructions (Oral) task flow
- Search for
cable,Adapter, andCAMERA(vary upper/lowercase). Observe which items match. - Change sort orders; confirm if the list actually follows the label.
- Set per page to 5; browse to the last page and back. Note any skipped pages or off-by-one totals.
- Clear the search; check for duplicates and whether the result count matches the visible items.
- Present your spoken bug report: Title → Steps to Reproduce → Expected vs Actual → Severity/Priority → Recommendation.
📖 Vocabulary definitions
- filtering — narrowing a list to items that match criteria (e.g., a search term).
- sorting — ordering results by a field (e.g., name ascending/descending).
- pagination — splitting results across multiple pages.
- off-by-one error — logic uses an index or count that is one too high/low. li>
- case sensitivity — treating uppercase and lowercase letters as different.
- debounce — delaying processing while the user types to reduce noise.
- desync (desynchronization) — UI shows values that don’t reflect the true data state.
- idempotent — an action that has the same effect no matter how many times you do it.
- acceptance criteria — the conditions required for a feature to be considered done.
🧩 Collocations natural pairings
- apply a filter / clear filters
- toggle sort order / verify ordering
- compute total pages / handle edge cases
- avoid duplicates / deduplicate results
- keep UI and state in sync
🗣️ Idioms & Phrasal Verbs natural speech
- zero in on — focus precisely: “Zero in on items matching ‘cable’.”
- line up — match correctly: “The sort label doesn’t line up with the ordering.”
- fall out of sync — stop matching: “The count fell out of sync with results.”
- edge out — slightly surpass: “One page edges out the total due to rounding.”
- iron out — resolve: “We need to iron out pagination math.”
🎤 Model Answer (spoken style) example
Bug title: Search is case-sensitive and trims input; pagination total is off-by-one; sort label mismatches actual order; clearing search causes duplicates and desynced counts.
Steps to reproduce: First, search for Adapter and then adapter; results differ. Next, type camera and notice the last letter is ignored. Set page size to 5, go to the last page, then click Prev and Next; a page is skipped. Clear search and observe duplicated items and a result count that doesn’t match.
Expected result: Case-insensitive search with the full query; sort corresponds to its label; page totals accurate with no skipped pages; clearing search restores a deduplicated full list with a correct count.
Actual result: Search mismatches by case and truncates the last char; A→Z shows Z→A ordering; total pages display is off and navigation sometimes skips; clearing search can duplicate entries and the count is stale.
Severity / Priority: Major severity, P1 — core discovery features (search/sort/pagination) are unreliable and impact usability.
Recommendation: Normalize search to lowercase and use the full string; ensure sort comparators match labels; compute totalPages = Math.ceil(results / pageSize); make next/prev idempotent; rebuild the list from a single source of truth on clear; recompute counts from filtered data.