99testsStart a job

Test case library · Shopping, delivery & travel

Test cases for in-app search, filters and sort

Search is how most shoppers reach a product, and it has to cope with misspellings, Hinglish, Hindi script, voice input and filters stacked on top of each other. It fails in the field when romanised spellings such as aata return nothing, when late responses on a slow network overwrite newer results, and when long image-heavy lists crash budget phones.

37 test cases8 release-blocking (P1)10 need a real phoneUpdated 2026-10-29

From the reviews. Features that don't work are the largest group of malfunction reviews: 30.9% across the 187 apps in our India App Quality Report.

category page · India App Quality Report

In scope

  • Text, voice and autocomplete search
  • Typos, Hinglish, Hindi script and transliteration
  • Filters, sort and no-results states
  • Recent searches
  • Long result lists on low-end phones
  • Search on slow and dropping networks

Out of scope

  • Ranking algorithm tuning and relevance metrics
  • Product page and add to cart
  • Image and barcode search

Before you start

  • A test catalogue with Hindi item names, common misspellings and a spread of sizes, colours and prices
  • A 3–4 GB RAM Android phone, plus a newer Android phone or an iPhone
  • Hindi keyboard and Hindi voice input enabled on the test phone
  • A way to weaken the network, and a test admin panel for prices
Show
Add to a test plan

Happy path9

SRC-01

Search an exact product name and open the top result

P1functional
  1. Tap the search bar on the home screen
  2. Type the full name of a known in-stock product and tap Search
  3. Tap the matching result

Expected: The product appears among the first results with its image, name and price, and tapping it opens that product's page with the same price.

SRC-02

Search a broad term such as shampoo

P2functional
  1. Search for a broad term such as shampoo or rice
  2. Scroll through the first two screens of results

Expected: The top results are that kind of product, and items that only mention the word in passing are not ranked above the products themselves.

SRC-03

Pick an autocomplete suggestion

P2functional
  1. Type the first three letters of a popular product, such as bis
  2. Watch the suggestion list as you type each letter
  3. Tap one of the suggestions

Expected: Suggestions appear within a moment and contain what you typed, and tapping one runs that exact search and shows its results.

SRC-04

Combine a price range and a size filter

P1functional
  1. Search for shirts and open Filters
  2. Set a price range of ₹500 to ₹1,000 and select size M
  3. Apply and scroll through all results
  4. Tap Clear all

Expected: Every result is size M with a selling price inside the range, active filters show as chips with an updated count, and Clear all restores the original results.

SRC-05

Veg only filter shows only vegetarian items

P1functional
  1. Search for a dish that comes in veg and non-veg versions, such as biryani
  2. Turn on the Veg only filter
  3. Scroll to the end of the results and open a few items
  4. Search for another dish without touching the filter

Expected: Every result, including those loaded further down, carries the vegetarian mark. On the new search the filter chip shows whether Veg only is still on, and the results match it.

SRC-06

Sort by price, low to high and high to low

P2functional
  1. Search for headphones and choose Sort by price: low to high
  2. Note the prices of the first twenty results
  3. Switch to high to low

Expected: Results follow the selling price shown on each card, not the MRP, and any sponsored item that breaks the order is labelled as sponsored.

SRC-07

Go back from a product page to the same place in results

P2functional
  1. Search, apply a filter and scroll down about thirty results
  2. Open a product, then press Back

Expected: The list returns at the same scroll position with the same query, filter and sort still applied.

SRC-08

Re-run and delete recent searches

P3functional
  1. Search for three different terms one after another
  2. Tap the search bar with an empty box
  3. Tap one recent search, then remove another with its delete icon

Expected: The three terms appear newest first, tapping one runs it again, and the deleted term does not return after the app is restarted.

SRC-09

Search by voice in English

P2functionalreal phone
  1. Tap the microphone icon in the search bar and allow microphone access
  2. Say a product name clearly, such as basmati rice
  3. Wait for the results

Expected: The app shows that it is listening, puts the recognised words in the search box where you can edit them, and shows results for those words.

Why a real phone: Needs a real microphone, real speech and the phone's own speech recogniser.

Validation & negative6

SRC-10

Common misspellings return the intended product

P1negative
  1. Search for shampo, then tomatoe, then sandels
  2. Look at the top results and any message above them

Expected: Each search shows the intended products, with a note such as Showing results for shampoo and an option to search the exact spelling instead.

SRC-11

Special characters and emoji in the query

P1negative
  1. Search for salt & pepper, 100% cotton, kids' shoes and "red" saree
  2. Search for an emoji on its own, such as 🍕
  3. Search for a query that ends in a backslash or a percent sign

Expected: The app never crashes or shows a server error. Each query is shown back exactly as typed, with relevant results or the normal no-results screen.

SRC-12

Empty or spaces-only query

P3negative
  1. Tap the search bar and press the keyboard's Search key without typing
  2. Type only spaces and press Search

Expected: No search runs and no No results screen appears. The app keeps showing recent or popular searches.

SRC-13

Very long pasted query

P3negative
  1. Copy a paragraph of about 500 characters from a notes app
  2. Paste it into the search bar and press Search

Expected: The app trims the text to its input limit or searches it, without freezing, crashing or pushing the layout off screen.

SRC-14

Query with no matches

P2negative
  1. Search for a nonsense word such as qzxvbn
  2. Read the screen and tap any suggestion offered

Expected: A no-results message repeats the query and offers a way forward, such as spelling tips or popular items, instead of a blank screen.

SRC-15

Filters narrow the results to zero

P2negative
  1. Search for shoes and filter to a size and colour with no stock
  2. Read the screen

Expected: The app says no items match these filters and offers to remove the last filter or clear all, rather than the generic no-results message.

Edge cases7

SRC-16

Romanised spellings of the same word

P1localization
  1. Search for atta, then aata, then aatta
  2. Search for paneer, then panir
  3. Compare the top results of each group

Expected: Each spelling returns essentially the same top products, and none of them falls back to no results.

SRC-17

Devanagari query matches its romanised form

P2localization
  1. Switch the keyboard to Hindi and search for आटा
  2. Search for atta with the English keyboard
  3. Compare the two result lists

Expected: The Hindi query returns the same kind of products as atta, and the query is shown in Devanagari without broken characters.

SRC-18

Regional and English names for the same item

P2localization
  1. Search for bhindi, then lady finger, then okra
  2. Search for jeera, then cumin

Expected: Each name brings the same vegetable or spice to the top of the results.

SRC-19

Spacing, hyphen and plural variants

P2edge
  1. Search for t-shirt, tshirt, t shirt and tshirts
  2. Compare the top results of all four

Expected: All four return largely the same top results, and none of them falls back to no results.

SRC-20

Quantity and unit written in different ways

P2edge
  1. Search for atta 5kg, then 5 kg atta, then atta 5 kilo
  2. Search for milk 1l, then milk 1 litre

Expected: Each search puts the matching pack size at or near the top, rather than ignoring the quantity or returning no results.

SRC-21

Result prices after a price change

P1edge
  1. Search for a product and note its price in the results
  2. Change its price in the test admin panel
  3. Pull to refresh the results, or search again
  4. Open the product page

Expected: After the refresh, the results and the product page show the same new price. The old price is not kept in the list from cache.

SRC-22

Results follow the delivery PIN code

P2edge
  1. Search for a product that is sold only in some PIN codes
  2. Change the delivery location to a PIN code where it is unavailable
  3. Look at the same search results again

Expected: The results update for the new location, the item is hidden or marked unavailable, and the PIN code shown on the results screen is the one you picked.

Interruptions & network5

SRC-23

Search on a weak 2G signal

P2interruptionreal phone
  1. Switch the phone to 2G, or stand where the signal is weak
  2. Search for a common product
  3. Wait, then tap Retry if it is offered

Expected: A loading state shows while waiting, results become usable before every image has loaded, and a timeout ends in a retry message rather than an endless spinner.

Why a real phone: Real Jio, Airtel or Vi signal loss behaves unlike the emulator's steady throttling.

SRC-24

Type quickly on a slow network

P2interruptionreal phone
  1. On a slow mobile connection, type shoes, delete it and quickly type sandals
  2. Press Search and watch the suggestions and results for a few seconds

Expected: Suggestions and results end up matching sandals. Late responses for the earlier text do not replace them.

Why a real phone: Uneven real-network latency makes older responses arrive after newer ones.

SRC-25

Lose the connection while scrolling results

P2interruptionreal phone
  1. Search for a broad term on mobile data and scroll partway down
  2. Enter a lift or a metro dead zone and keep scrolling
  3. Return to coverage and keep scrolling

Expected: Loaded results stay visible, the end of the list shows a retry prompt, and loading resumes after reconnecting without duplicate or missing items.

Why a real phone: Lift and metro dead zones stall requests in ways aeroplane mode does not.

SRC-26

Incoming call during voice search

P2interruptionreal phone
  1. Tap the microphone icon and start speaking
  2. Receive an incoming call, answer it and end it
  3. Return to the app

Expected: Listening stops when the call arrives, nothing half-heard is searched, and the search screen is ready for a new voice or typed query.

Why a real phone: A real call takes over the microphone and audio focus mid-recognition.

SRC-27

App is killed on the results page

P3interruptionreal phone
  1. On a 3–4 GB RAM phone, search, apply two filters and sort by price
  2. Use the camera and two heavy apps for a few minutes
  3. Return to the shopping app from recent apps

Expected: The app either restores the query, filters and sort or opens a clean search screen. It does not crash or show filter chips that do not match the results.

Why a real phone: Only real low-RAM phones kill background apps this aggressively.

Device & OS4

SRC-28

Scroll a long result list on a budget phone

P1performancereal phone
  1. On a 3–4 GB RAM Android phone, search for a broad term such as kurta
  2. Fling quickly through about 300 results
  3. Tap Back to top, then open a result

Expected: Scrolling stays responsive with no crash or restart, images fill in without long blank gaps, and the opened product matches the tapped card.

Why a real phone: Memory limits and slow storage on budget hardware cause crashes that emulators hide.

SRC-29

Search key on phone makers' own keyboards

P2compatibilityreal phone
  1. Type a query with the Samsung keyboard on a Samsung phone
  2. Press the keyboard's Search or Enter key
  3. Repeat with the preinstalled keyboard on a Xiaomi or Vivo phone

Expected: On each keyboard the key runs the search and closes the keyboard, rather than adding a new line or doing nothing.

Why a real phone: Preinstalled OEM keyboards send different key actions from the emulator's keyboard.

SRC-30

Voice search with Bluetooth earphones connected

P3compatibilityreal phone
  1. Connect Bluetooth earphones to the phone
  2. Tap the microphone icon and say a product name

Expected: The app picks up your voice through the earphones or the phone's microphone and shows results. It does not hang on the listening screen.

Why a real phone: Bluetooth earphones reroute the microphone, which emulators do not reproduce.

SRC-31

Microphone permission denied

P2compatibility
  1. Tap the microphone icon and choose Don't allow
  2. Tap the microphone icon again
  3. Type a query in the search box

Expected: The app explains why it needs the microphone and points to settings instead of failing silently, and typed search keeps working.

Security & privacy2

SRC-32

Recent searches after logout on a shared phone

P2security
  1. Log in as account A and search for three distinct terms
  2. Log out, then log in as account B on the same phone
  3. Tap the empty search bar

Expected: Account B sees none of account A's recent searches, and no suggestions based on them.

SRC-33

HTML or script text in the query

P2security
  1. Search for <b>bold</b>, then for <script>test</script>
  2. Look at the search box, the no-results message and recent searches

Expected: The text is shown literally everywhere, no formatting or script runs, and no error page appears.

Accessibility & language4

SRC-34

Use search with TalkBack

P2accessibility
  1. Turn on TalkBack and move focus to the search bar
  2. Type a query and move through the suggestions
  3. Run the search and move to the filter chips and the first result

Expected: The search bar and microphone have clear labels, the result count is announced, filter chips read as selected or not, and each result reads its name and price.

SRC-35

Search at the largest font and display size

P2accessibility
  1. Set font size and display size to the largest in phone settings
  2. Search for a product and open the filter and sort panels

Expected: Result names wrap instead of overlapping prices, filter labels are not cut off, and the Apply button stays visible.

SRC-36

Voice search in Hindi and Hinglish

P2localizationreal phone
  1. Set the voice input language to Hindi
  2. In a moderately noisy room, tap the microphone and say do kilo aloo
  3. Switch voice input to English and say basmati chawal

Expected: The recognised text appears in the search box in Devanagari or Roman script, and the results show potatoes or basmati rice rather than no results.

Why a real phone: Real speech, accents and room noise affect recognition in ways recordings cannot.

SRC-37

Search screens in Hindi with Indian price formatting

P2localization
  1. Switch the app language to Hindi
  2. Search for a product priced above ₹1,00,000, such as a large television
  3. Open filters, sort and the no-results screen

Expected: Labels and messages are in Hindi without truncation, and prices use Indian grouping such as ₹1,05,990 on cards and in the price filter.

In the field

Where in-app search breaks on real phones

  • Romanised spellings such as aata, panir or bhindi return nothing because search only matches the catalogue's English spelling.
  • On slow 4G or 3G, responses for earlier keystrokes arrive late and replace the results for what the user finally typed.
  • Image-heavy result lists run out of memory on 3–4 GB RAM phones, and the app restarts mid-scroll, losing the query and filters.
  • Filters such as size or Veg only are applied to the first page only, so items loaded further down ignore them.
  • Queries with &, % or quotes, or pasted text with emoji, break the request and show a server error or crash the app.
  • Voice search assumes English, so Hindi or Hinglish speech turns into garbled text and a no-results screen.

Run these 37 cases on real phones

They fit the Standard package: 10 × 45-minute sessions on 4 phones or browsers of your choice, up to ~50 cases, ₹18,999 + GST ($249), verified report in 3 business days. The 8 P1 cases alone fit Starter (₹9,999 + GST).

Download the CSV, pick the package at checkout and upload the file with your build. Testers run them on their own phones, on Jio, Airtel and Vi.

Questions

About testing in-app search

How do you test search for Hinglish and Hindi queries?

List the top items in your catalogue with their common romanised spellings, regional names and Devanagari forms, such as atta, aata and आटा. Search each form and check that the top results match the English query. Include Hindi voice input and mixed phrases such as basmati chawal, since many users speak rather than type.

What should a no-results screen in search show?

It should repeat the query so the user can spot a typo, and offer a way forward such as spelling suggestions, popular items or categories to browse. If filters caused the empty result, it should say so and offer to remove the last filter. It should never be a blank screen or a generic error.

Which search test cases need a real phone?

Voice search needs a real microphone and real speech, and calls, Bluetooth earphones and keyboard differences only show up on real phones. Scrolling performance must be checked on a budget phone with 3–4 GB RAM, and stale or stalled results show up best on real Jio, Airtel or Vi networks in weak-signal spots. Typo handling, filters and sorting can be checked on an emulator.

Related flows

Test these next

Your AI wrote the test cases. Run them on real phones.

99tests runs your cases, AI-generated ones included, on the phones, laptops and browsers your users own. Every finding is verified, serious bugs come with a screen recording, and each case comes back pass, fail, blocked or not run.